summaryrefslogtreecommitdiffstats
path: root/libavcodec
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit '67deba8a416d818f3d95aef0aa916589090396e2'Clément Bœsch2017-03-3114-35/+36
|\ | | | | | | | | | | | | * commit '67deba8a416d818f3d95aef0aa916589090396e2': Use avpriv_report_missing_feature() where appropriate Merged-by: Clément Bœsch <cboesch@gopro.com>
| * Use avpriv_report_missing_feature() where appropriateDiego Biurrun2016-11-0818-44/+43
| |
| * hevc: Support extradata changes from multiple stsdVittorio Giovara2016-11-081-0/+10
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * hevc: Allow parsing external extradata buffersVittorio Giovara2016-11-081-7/+5
| |
| * hevc: Move hevc_decode_extradata before frame decodingVittorio Giovara2016-11-081-74/+74
| | | | | | | | | | | | Avoids a forward-declaration in the following commit. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * lavc: Add hevc main10 profile to avconv cliVittorio Giovara2016-11-082-1/+2
| |
* | Merge commit '17dac56b8fdd80c594c39b76de3f27a7949afbde'Clément Bœsch2017-03-312-2/+3
|\ \ | |/ | | | | | | | | | | * commit '17dac56b8fdd80c594c39b76de3f27a7949afbde': lavu: Rename ycgco color space appropriately Merged-by: Clément Bœsch <cboesch@gopro.com>
| * lavu: Rename ycgco color space appropriatelyVittorio Giovara2016-11-082-2/+3
| | | | | | | | | | | | Planes are ordered as the name suggests now. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit '0361e4dcb4d394c88c33364415a3b8fe315b67d1'Clément Bœsch2017-03-311-9/+11
|\ \ | |/ | | | | | | | | | | | | | | * commit '0361e4dcb4d394c88c33364415a3b8fe315b67d1': h264_qpel: x86: Move function with only one instance out of template macro Note: warning is present with clang. Merged-by: Clément Bœsch <cboesch@gopro.com>
| * h264_qpel: x86: Move function with only one instance out of template macroDiego Biurrun2016-11-081-9/+11
| | | | | | | | libavcodec/x86/h264_qpel.c:392:785: warning: unused function 'ff_avg_h264_qpel8or16_hv1_lowpass_mmxext' [-Wunused-function]
| * lzf: update pointer p after reallocAndreas Cadhalpun2016-11-071-0/+2
| | | | | | | | | | | | | | This fixes heap-use-after-free detected by AddressSanitizer. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | pthread_frame: Propagate sw_pix_fmt across threadsMark Thompson2017-03-311-0/+1
| | | | | | | | | | | | | | This is required by the VP9 hwaccels (both DXVA2 and VAAPI) when threads are enabled. Tested-by: Hendrik Leppkes <h.leppkes@gmail.com>
* | avcodec/clearvideo: Do not lose the return code of decode_mb()Michael Niedermayer2017-03-301-2/+5
| | | | | | | | | | | | | | | | Fixes CID1401671 Reviewed-by: Paul B Mahol <onemda@gmail.com> Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '4ab61cd983b539749bd621ea271624ddb5196a8e'Mark Thompson2017-03-304-35/+252
|\ \ | |/ | | | | | | | | | | * commit '4ab61cd983b539749bd621ea271624ddb5196a8e': qsv{enc,dec}: extend the internal frame allocator Merged-by: Mark Thompson <sw@jkqxz.net>
| * qsv{enc,dec}: extend the internal frame allocatorAnton Khirnov2016-11-074-35/+252
| | | | | | | | | | | | | | Handle the internal frame requests, which is required by the HEVC encoding plugin. Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
* | Merge commit '00aeedd84105a17f414185bd33ecadebeddb3a27'Mark Thompson2017-03-304-5/+47
|\ \ | |/ | | | | | | | | | | * commit '00aeedd84105a17f414185bd33ecadebeddb3a27': qsv{dec,enc}: use a struct as a memory id with internal memory allocator Merged-by: Mark Thompson <sw@jkqxz.net>
| * qsv{dec,enc}: use a struct as a memory id with internal memory allocatorAnton Khirnov2016-11-074-5/+47
| | | | | | | | | | | | | | This will allow implementing the allocator more fully, which is needed by the HEVC encoder plugin with video memory input. Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
* | Merge commit '404e51478ecad060249d5b9bee6ab39a8a9d8c1c'Mark Thompson2017-03-303-33/+36
|\ \ | |/ | | | | | | | | | | | | | | * commit '404e51478ecad060249d5b9bee6ab39a8a9d8c1c': qsv{dec,enc}: always use an internal mfxFrameSurface1 Minor fixups for differences in the QSV encoder because of a53cc. Merged-by: Mark Thompson <sw@jkqxz.net>
| * qsv{dec,enc}: always use an internal mfxFrameSurface1Anton Khirnov2016-11-073-33/+36
| | | | | | | | | | | | | | | | For encoding, this avoids modifying the input surface, which we are not allowed to do. This will also be useful in the following commits. Signed-off-by: Maxym Dmytrychenko <maxym.dmytrychenko@intel.com>
| * dxva2: fix surface selection when compiled with both d3d11va and dxva2Hendrik Leppkes2016-11-071-1/+2
| | | | | | | | | | | | | | Fixes a regression introduced in be630b1e08ebe8f766b1798accd6b8e5e096f5aa Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * libx265: Add option to force IDR framesDerek Buitenhuis2016-11-072-2/+5
| | | | | | | | | | | | | | 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>
| * x86: Drop stray semicolons after function definitionsDiego Biurrun2016-11-052-11/+11
| | | | | | | | | | 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]
| * arm: vp9mc: Insert a literal pool at the middle of the fileMartin Storsjö2016-11-041-0/+1
| | | | | | | | | | | | | | | | | | 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>
* | avcodec/atrac3: Check init_get_bits8() for failureMichael Niedermayer2017-03-301-1/+3
| | | | | | | | | | | | | | | | This is more for correctness than actually fixing a missing error path Fixes CID1399967 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '67351924fa91dea4339109100a4c0689f006581f'Clément Bœsch2017-03-303-5/+0
|\ \ | |/ | | | | | | | | | | * 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-034-7/+0
| |
* | Merge commit '6354957a95022864746180525680cca872ab0e0a'Clément Bœsch2017-03-301-2/+4
|\ \ | |/ | | | | | | | | | | * 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-031-2/+4
| | | | | | | | | | 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-301-2/+4
|\ \ | |/ | | | | | | | | | | * 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-031-2/+4
| | | | | | | | | | | | 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
| * ituh263dec: Have function signature match across declaration and definitionDiego Biurrun2016-11-031-1/+5
| | | | | | | | | | libavcodec/ituh263dec.c(215) : warning C4028: formal parameter 1 different from declaration libavcodec/ituh263dec.c(215) : warning C4028: formal parameter 2 different from declaration
| * svq3: Drop unused function dctcoef_get()Diego Biurrun2016-11-031-5/+0
| | | | | | | | libavcodec/svq3.c:627:29: warning: unused function 'dctcoef_get' [-Wunused-function]
* | Merge commit 'ee59f0540875ab42496af2aacddd942757707683'Clément Bœsch2017-03-301-1/+1
|\ \ | |/ | | | | | | | | | | * 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-031-1/+1
| | | | | | | | libavcodec/intrax8.c(776) : warning C4028: formal parameter 1 different from declaration
| * options_table: Remove a now unnecessary include of config.hMartin Storsjö2016-11-031-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * arm: vp9: Add NEON optimizations of VP9 MC functionsMartin Storsjö2016-11-036-3/+913
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * vp9: Flip the order of arguments in MC functionsMartin Storsjö2016-11-035-75/+69
| | | | | | | | | | | | | | | | | | This makes it match the pattern already used for VP8 MC functions. This also makes the signature match ffmpeg's version of these functions, easing porting of code in both directions. Signed-off-by: Martin Storsjö <martin@martin.st>
* | avcodec/exr: add support for uint32Martin Vignali2017-03-291-5/+12
| |
* | Merge commit 'baab87c4f30e75ea309294b06adcd01ce678bdc5'Clément Bœsch2017-03-291-1/+3
|\ \ | |/ | | | | | | | | | | * commit 'baab87c4f30e75ea309294b06adcd01ce678bdc5': bink: Have function pointer prototype match implementation Merged-by: Clément Bœsch <u@pkh.me>
| * bink: Have function pointer prototype match implementationDiego Biurrun2016-11-021-1/+3
| | | | | | | | libavcodec/binkdsp.c(156) : warning C4028: formal parameter 1 different from declaration
* | lavc/idctdsp: use prefix restrict with av_Clément Bœsch2017-03-291-3/+3
| |
* | lavc/pthread_slice: remove pointless conditionClément Bœsch2017-03-291-5/+1
| |
* | Fix all -Wformat warnings raised by DJGPPClément Bœsch2017-03-2921-35/+41
| |
* | lavc: use av_fourcc2str() where appropriateClément Bœsch2017-03-292-11/+4
| |
* | lavc: fix usages of av_get_codec_tag_string()Clément Bœsch2017-03-295-31/+17
| |
* | lavc: deprecate av_get_codec_tag_string()Clément Bœsch2017-03-292-0/+8
| |
* | Merge commit '4cf2ffb7c45840b09bc49e34da88d4053dd442cb'Clément Bœsch2017-03-291-3/+5
|\ \ | |/ | | | | | | | | | | * commit '4cf2ffb7c45840b09bc49e34da88d4053dd442cb': idct: Have function pointer prototype match implementation Merged-by: Clément Bœsch <u@pkh.me>
| * idct: Have function pointer prototype match implementationDiego Biurrun2016-11-021-3/+5
| | | | | | | | libavcodec/idctdsp.c(175) : warning C4028: formal parameter 2 different from declaration
* | Merge commit '39cea6570c11a49b64b2ec8d71e218db03b4c742'Clément Bœsch2017-03-291-4/+4
|\ \ | |/ | | | | | | | | | | * commit '39cea6570c11a49b64b2ec8d71e218db03b4c742': aactab: Move extern keyword to the front of array declarations Merged-by: Clément Bœsch <u@pkh.me>
| * aactab: Move extern keyword to the front of array declarationsDiego Biurrun2016-11-021-2/+2
| | | | | | | | libavcodec/aactab.h:49:1: warning: ‘extern’ is not at beginning of declaration [-Wold-style-declaration]
OpenPOWER on IntegriCloud