summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* avcodec/atrac3: Check init_get_bits8() for failureMichael Niedermayer2017-03-30
| | | | | | | | This is more for correctness than actually fixing a missing error path Fixes CID1399967 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/avf_abitscope: Correct range for framerateGyan Doshi2017-03-30
| | | | | Signed-off-by: Gyan Doshi <gyandoshi@gmail.com> Signed-off-by: Paul B Mahol <onemda@gmail.com> (via IRC)
* doc/examples/encode_audio: Favor a sample rate close to 44khz instead of the ↵Michael Niedermayer2017-03-30
| | | | | | | | | | maximum sample rate This is an example, people will copy and use this. The maximum supported is quite unreasonable as a default choice Reviewed-by: Steven Liu <lingjiujianke@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffmpeg: Fix avframe memleakMichael Niedermayer2017-03-30
| | | | | | Fixes CID1401674 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mux: Check return code of av_packet_split_side_data()Michael Niedermayer2017-03-30
| | | | | | Fixes CID1403225 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/examples/filtering_audio: switch to new decoding APIMatthieu Bouron2017-03-30
|
* doc/examples/filtering_video: switch to new decoding APIMatthieu Bouron2017-03-30
|
* doc/codecs: add jedec-p22Clément Bœsch2017-03-30
|
* avformat/nut: Add HEVC and Opus supportLeo Izen2017-03-30
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '10065d9324c2e35ce7040b6a2b9ebf6079bcbf42'Hendrik Leppkes2017-03-30
|\ | | | | | | | | | | | | * commit '10065d9324c2e35ce7040b6a2b9ebf6079bcbf42': hwcontext_dxva2: add support for the P8 format Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * hwcontext_dxva2: add support for the P8 formatAnton Khirnov2016-11-07
| | | | | | | | | | | | | | This format is used internally by the QSV encoder to store the encoded bitstream. Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
* | Merge commit '910973765417f06a4a9ccbd006e4df74c32ecb01'Hendrik Leppkes2017-03-30
|\| | | | | | | | | | | | | * commit '910973765417f06a4a9ccbd006e4df74c32ecb01': hwcontext_dxva2: frame mapping support Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * hwcontext_dxva2: frame mapping supportAnton Khirnov2016-11-07
| | | | | | | | Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
* | Merge commit 'fabfbfe5710050812147f93a351a53fdda56ff8c'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | | | | | * commit 'fabfbfe5710050812147f93a351a53fdda56ff8c': dxva2: fix surface selection when compiled with both d3d11va and dxva2 This commit is a noop, see 153b36fc62849e0e1540a43829794e0503994ebb Merged-by: Clément Bœsch <cboesch@gopro.com>
| * dxva2: fix surface selection when compiled with both d3d11va and dxva2Hendrik Leppkes2016-11-07
| | | | | | | | | | | | | | Fixes a regression introduced in be630b1e08ebe8f766b1798accd6b8e5e096f5aa Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit 'db0b3dccb3842de134721e8d5c275f56d384340d'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | | | | | * commit 'db0b3dccb3842de134721e8d5c275f56d384340d': libx265: Add option to force IDR frames This commit is a noop, see 8a8902f2213b28a8dab1520bd42e88e5073f1f59 Merged-by: Clément Bœsch <cboesch@gopro.com>
| * libx265: Add option to force IDR framesDerek Buitenhuis2016-11-07
| | | | | | | | | | | | | | This is in the same the same vein as 380146924ecad2e05e9dcc5c3c2e1b5ba47c51e8. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '3cba09e5228c889d63814dc43bc68f15c9dbac77'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | | | | | * commit '3cba09e5228c889d63814dc43bc68f15c9dbac77': x86: Drop stray semicolons after function definitions This commit is a noop, they are already fixed in FFmpeg. Merged-by: Clément Bœsch <cboesch@gopro.com>
| * x86: Drop stray semicolons after function definitionsDiego Biurrun2016-11-05
| | | | | | | | | | libavcodec/x86/rv40dsp_init.c:97:2: warning: ISO C does not allow extra ‘;’ outside of a function [-Wpedantic] libavcodec/x86/vp9dsp_init.c:94:40: warning: ISO C does not allow extra ‘;’ outside of a function [-Wpedantic]
* | Merge commit 'd1ef1b9eaa45043ea5df5a004fb37243e05da61d'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | * commit 'd1ef1b9eaa45043ea5df5a004fb37243e05da61d': configure: Silence lld-link when getting the version number Merged-by: Clément Bœsch <cboesch@gopro.com>
| * configure: Silence lld-link when getting the version numberMartin Storsjö2016-11-04
| | | | | | | | | | | | | | | | | | | | | | | | In recent lld-link versions, this command prints the version to stdout, but also prints an error to stderr: $ lld-link -flavor gnu --version LLD 4.0.0 (trunk 285641) lld-link: error: no input files lld-link: error: target emulation unknown: -m or at least one .o file required Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '392caa65df3efa8b2d48a80f08a6af4892c61c08'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | | | | | * commit '392caa65df3efa8b2d48a80f08a6af4892c61c08': arm: vp9mc: Insert a literal pool at the middle of the file This commit is a noop, see 68caef9d48c4f1540b1b3181ebe7062a3417c62a Merged-by: Clément Bœsch <cboesch@gopro.com>
| * arm: vp9mc: Insert a literal pool at the middle of the fileMartin Storsjö2016-11-04
| | | | | | | | | | | | | | | | | | This fixes errors like this when building non-pic binaries with armv6 as baseline: Error: invalid literal constant: pool needs to be closer Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '8ad9f9d675eab139aa2208722009eeed981460dd'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | * commit '8ad9f9d675eab139aa2208722009eeed981460dd': hwcontext_vaapi: Frame mapping support Merged-by: Clément Bœsch <cboesch@gopro.com>
| * hwcontext_vaapi: Frame mapping supportMark Thompson2016-11-03
| | | | | | | | | | Can map to any supported software format (using a GPU copy if it doesn't actually match the surface format underneath).
* | Merge commit '124e26971e69bb25f38c6c7cb3fa20c77cf10966'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | * commit '124e26971e69bb25f38c6c7cb3fa20c77cf10966': lavfi: Hardware map filter Merged-by: Clément Bœsch <cboesch@gopro.com>
| * lavfi: Hardware map filterMark Thompson2016-11-03
| | | | | | | | | | | | | | | | | | | | | | | | Takes a frame associated with a hardware context as input and maps it to something else (another hardware frame or normal memory) for other processing. If the frame to map was originally in the target format (but mapped to something else), the original frame is output. Also supports mapping backwards, where only the output has a hardware context. The link immediately before will be supplied with mapped hardware frames which it can write directly into, and this filter then unmaps them back to the actual hardware frames.
* | Merge commit 'd06aa24ba583ad08025da9e1b29afcd8218ff9b0'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | * commit 'd06aa24ba583ad08025da9e1b29afcd8218ff9b0': hwcontext: Hardware frame mapping Merged-by: Clément Bœsch <cboesch@gopro.com>
| * hwcontext: Hardware frame mappingMark Thompson2016-11-03
| | | | | | | | | | | | | | | | | | | | Adds the new av_hwframe_map() function, which allows mapping between hardware frames and normal memory, along with internal support for implementing it. Also adds av_hwframe_ctx_create_derived(), for creating a hardware frames context associated with one device using frames mapped from another by some hardware-specific means.
* | Merge commit '67351924fa91dea4339109100a4c0689f006581f'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | * commit '67351924fa91dea4339109100a4c0689f006581f': Drop unreachable break and return statements Merged-by: Clément Bœsch <cboesch@gopro.com>
| * Drop unreachable break and return statementsDiego Biurrun2016-11-03
| |
* | Merge commit '99434f4df81b6801b2b535d5b9143305595784f6'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | * commit '99434f4df81b6801b2b535d5b9143305595784f6': float_dsp: Have implementation match function pointer prototype Merged-by: Clément Bœsch <cboesch@gopro.com>
| * float_dsp: Have implementation match function pointer prototypeDiego Biurrun2016-11-03
| | | | | | | | | | libavutil/x86/float_dsp_init.c(144) : warning C4028: formal parameter 1 different from declaration libavutil/x86/float_dsp_init.c(144) : warning C4028: formal parameter 2 different from declaration
* | Merge commit '6354957a95022864746180525680cca872ab0e0a'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | * commit '6354957a95022864746180525680cca872ab0e0a': dnxhdenc: Have function pointer prototype match implementation Merged-by: Clément Bœsch <cboesch@gopro.com>
| * dnxhdenc: Have function pointer prototype match implementationDiego Biurrun2016-11-03
| | | | | | | | | | libavcodec/dnxhdenc.c(326) : warning C4028: formal parameter 1 different from declaration libavcodec/dnxhdenc.c(329) : warning C4028: formal parameter 1 different from declaration
* | Merge commit 'c778eb15b89d875cb246b18f65b3b4321cb1e7d6'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | * commit 'c778eb15b89d875cb246b18f65b3b4321cb1e7d6': pixblockdsp: Have function pointer prototype match implementation Merged-by: Clément Bœsch <cboesch@gopro.com>
| * pixblockdsp: Have function pointer prototype match implementationDiego Biurrun2016-11-03
| | | | | | | | | | | | libavcodec/pixblockdsp.c(58) : warning C4028: formal parameter 1 different from declaration libavcodec/pixblockdsp.c(63) : warning C4028: formal parameter 1 different from declaration libavcodec/pixblockdsp.c(66) : warning C4028: formal parameter 1 different from declaration
* | Merge commit '99ddeddc7fc996c0c1e842112928490e78542bd5'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | | | | | * commit '99ddeddc7fc996c0c1e842112928490e78542bd5': ituh263dec: Have function signature match across declaration and definition This commit is a noop, see 2d2b363c652403ac0bda129912e1910aacdaa3fc Merged-by: Clément Bœsch <cboesch@gopro.com>
| * ituh263dec: Have function signature match across declaration and definitionDiego Biurrun2016-11-03
| | | | | | | | | | libavcodec/ituh263dec.c(215) : warning C4028: formal parameter 1 different from declaration libavcodec/ituh263dec.c(215) : warning C4028: formal parameter 2 different from declaration
* | Merge commit '67c65e461cb073d61ffbc78845d4a3d8f14bf481'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | | | | | * commit '67c65e461cb073d61ffbc78845d4a3d8f14bf481': vf_hwupload_cuda: Fix build error This commit is a noop, see 78e871ebbcc6f3c877e7292c4dda0c9979f8ede4 Merged-by: Clément Bœsch <cboesch@gopro.com>
| * vf_hwupload_cuda: Fix build errorMark Thompson2016-11-03
| | | | | | | | | | | | Broken by e3fb74f7f9a8f1895381355f40c92cac3c1023d9. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit '13fcdfb976038f63b9f753e2ebcc8e04d7c7abc2'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | | | | | * commit '13fcdfb976038f63b9f753e2ebcc8e04d7c7abc2': svq3: Drop unused function dctcoef_get() This commit is a noop, see 1e298e77240099aa45bb8c955ee0313392227f42 Merged-by: Clément Bœsch <cboesch@gopro.com>
| * svq3: Drop unused function dctcoef_get()Diego Biurrun2016-11-03
| | | | | | | | libavcodec/svq3.c:627:29: warning: unused function 'dctcoef_get' [-Wunused-function]
* | Merge commit 'ee59f0540875ab42496af2aacddd942757707683'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | * commit 'ee59f0540875ab42496af2aacddd942757707683': intrax8: Have function signature match across declaration and definition Merged-by: Clément Bœsch <cboesch@gopro.com>
| * intrax8: Have function signature match across declaration and definitionDiego Biurrun2016-11-03
| | | | | | | | libavcodec/intrax8.c(776) : warning C4028: formal parameter 1 different from declaration
* | Merge commit '1a469a5e423bdad779b8534247dea8cc86169b88'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | | | | | * commit '1a469a5e423bdad779b8534247dea8cc86169b88': options_table: Remove a now unnecessary include of config.h This commit is a noop, see 76f43cbe2648ac5cb0e5a146f7e843310002199a Merged-by: Clément Bœsch <cboesch@gopro.com>
| * options_table: Remove a now unnecessary include of config.hMartin Storsjö2016-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The include of config.h was added in 2012 in 1d9c2dc8, due to the use of CONFIG_SNOW_ENCODER ifdefs within options_table.h. When the snow codec was dropped later (in a0c5917f8 in 2013), this include no longer served any purpose. options_table.h is included in builds for the host as well, when building documentation. config.h should not be included in code that is built for the host, since it can contain workarounds for the target compiler/environment, like adding a missing define of restrict, defining getenv(x) to NULL for environments that lack getenv. The seemingly innocent include reordering in 2025d37871 broke builds that have getenv(x) defined to NULL in config.h (Windows CE and Windows Phone/RT), since libavcodec/options_table.h include config.h, while libavformat/options_table.h end up bringing in more system headers, and those system headers can contain a proper definition of getenv, which clash with the getenv define in config.h. This was avoided earlier as long as libavformat/options_table.h (or avformat.h) was included before libavcodec/options_table.h. This fixes builds for Windows Phone/RT and CE. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'ffbd1d2b0002576ef0d976a41ff959c635373fdc'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | | | | | * commit 'ffbd1d2b0002576ef0d976a41ff959c635373fdc': arm: vp9: Add NEON optimizations of VP9 MC functions This commit is a noop, see 68caef9d48c4f1540b1b3181ebe7062a3417c62a Merged-by: Clément Bœsch <cboesch@gopro.com>
| * arm: vp9: Add NEON optimizations of VP9 MC functionsMartin Storsjö2016-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This work is sponsored by, and copyright, Google. The filter coefficients are signed values, where the product of the multiplication with one individual filter coefficient doesn't overflow a 16 bit signed value (the largest filter coefficient is 127). But when the products are accumulated, the resulting sum can overflow the 16 bit signed range. Instead of accumulating in 32 bit, we accumulate the largest product (either index 3 or 4) last with a saturated addition. (The VP8 MC asm does something similar, but slightly simpler, by accumulating each half of the filter separately. In the VP9 MC filters, each half of the filter can also overflow though, so the largest component has to be handled individually.) Examples of relative speedup compared to the C version, from checkasm: Cortex A7 A8 A9 A53 vp9_avg4_neon: 1.71 1.15 1.42 1.49 vp9_avg8_neon: 2.51 3.63 3.14 2.58 vp9_avg16_neon: 2.95 6.76 3.01 2.84 vp9_avg32_neon: 3.29 6.64 2.85 3.00 vp9_avg64_neon: 3.47 6.67 3.14 2.80 vp9_avg_8tap_smooth_4h_neon: 3.22 4.73 2.76 4.67 vp9_avg_8tap_smooth_4hv_neon: 3.67 4.76 3.28 4.71 vp9_avg_8tap_smooth_4v_neon: 5.52 7.60 4.60 6.31 vp9_avg_8tap_smooth_8h_neon: 6.22 9.04 5.12 9.32 vp9_avg_8tap_smooth_8hv_neon: 6.38 8.21 5.72 8.17 vp9_avg_8tap_smooth_8v_neon: 9.22 12.66 8.15 11.10 vp9_avg_8tap_smooth_64h_neon: 7.02 10.23 5.54 11.58 vp9_avg_8tap_smooth_64hv_neon: 6.76 9.46 5.93 9.40 vp9_avg_8tap_smooth_64v_neon: 10.76 14.13 9.46 13.37 vp9_put4_neon: 1.11 1.47 1.00 1.21 vp9_put8_neon: 1.23 2.17 1.94 1.48 vp9_put16_neon: 1.63 4.02 1.73 1.97 vp9_put32_neon: 1.56 4.92 2.00 1.96 vp9_put64_neon: 2.10 5.28 2.03 2.35 vp9_put_8tap_smooth_4h_neon: 3.11 4.35 2.63 4.35 vp9_put_8tap_smooth_4hv_neon: 3.67 4.69 3.25 4.71 vp9_put_8tap_smooth_4v_neon: 5.45 7.27 4.49 6.52 vp9_put_8tap_smooth_8h_neon: 5.97 8.18 4.81 8.56 vp9_put_8tap_smooth_8hv_neon: 6.39 7.90 5.64 8.15 vp9_put_8tap_smooth_8v_neon: 9.03 11.84 8.07 11.51 vp9_put_8tap_smooth_64h_neon: 6.78 9.48 4.88 10.89 vp9_put_8tap_smooth_64hv_neon: 6.99 8.87 5.94 9.56 vp9_put_8tap_smooth_64v_neon: 10.69 13.30 9.43 14.34 For the larger 8tap filters, the speedup vs C code is around 5-14x. This is significantly faster than libvpx's implementation of the same functions, at least when comparing the put_8tap_smooth_64 functions (compared to vpx_convolve8_horiz_neon and vpx_convolve8_vert_neon from libvpx). Absolute runtimes from checkasm: Cortex A7 A8 A9 A53 vp9_put_8tap_smooth_64h_neon: 20150.3 14489.4 19733.6 10863.7 libvpx vpx_convolve8_horiz_neon: 52623.3 19736.4 21907.7 25027.7 vp9_put_8tap_smooth_64v_neon: 14455.0 12303.9 13746.4 9628.9 libvpx vpx_convolve8_vert_neon: 42090.0 17706.2 17659.9 16941.2 Thus, on the A9, the horizontal filter is only marginally faster than libvpx, while our version is significantly faster on the other cores, and the vertical filter is significantly faster on all cores. The difference is especially large on the A7. The libvpx implementation does the accumulation in 32 bit, which probably explains most of the differences. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '2e55e26b40e269816bba54da7d0e03955731b8fe'Clément Bœsch2017-03-30
|\| | | | | | | | | | | | | | | | | * commit '2e55e26b40e269816bba54da7d0e03955731b8fe': vp9: Flip the order of arguments in MC functions This commit is a noop, it was made to match our prototypes. Merged-by: Clément Bœsch <cboesch@gopro.com>