summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* mpegvideo_enc: disable optimized huffman coding with AMV or slice threadsRostislav Pehlivanov2017-04-09
| | | | | | Doesn't work yet with slice threading and won't work with AMV. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Revert "mjpegenc: disable huffman coding with AMV"Michael Niedermayer2017-04-09
| | | | | | This was the wrong patch This reverts commit 7f9b492d544ccef36f1d5d97a76d22502623d3c8.
* avcodec/hevcdec: remove duplicate extradata parsing functionJames Almer2017-04-09
| | | | | | | | | Use ff_hevc_decode_extradata() instead, which correctly only tries to decode parameter set NAL units and not any other NAL that may be present in extradata. Reviewed-by: nevcairiel Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_parse: split build dependenciesJames Almer2017-04-09
| | | | | Reviewed-by: nevcairiel Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_parse: allow setting apply_defdispwin when decoding SPS NAL unitsJames Almer2017-04-09
| | | | | Reviewed-by: nevcairiel Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_parse: check for parameter set decoding failureJames Almer2017-04-09
| | | | | Reviewed-by: nevcairiel Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/svq1: zero initialize entries arrayJames Almer2017-04-09
| | | | | | | Fixes valgrind warnings about "Use of uninitialised value of size 8" Reviewed-by: Kieran Kunhya <kierank@obe.tv> Signed-off-by: James Almer <jamrial@gmail.com>
* Merge commit 'e1dc5358af0dadef548114ec9cabba766b7c6260'James Almer2017-04-09
|\ | | | | | | | | | | | | * commit 'e1dc5358af0dadef548114ec9cabba766b7c6260': build: Create a component for MPEG audio header decoding Merged-by: James Almer <jamrial@gmail.com>
| * build: Create a component for MPEG audio header decodingDiego Biurrun2016-12-05
| | | | | | | | Fixes standalone compilation of the libmp3lame encoder.
* | Merge commit '0fdc9f81a00f0f32eb93c324bad65d8014deb4dd'Clément Bœsch2017-04-09
|\| | | | | | | | | | | | | * commit '0fdc9f81a00f0f32eb93c324bad65d8014deb4dd': build: Add missing hevc_ps dependency for QSV HEVC encoder Merged-by: Clément Bœsch <u@pkh.me>
| * build: Add missing hevc_ps dependency for QSV HEVC encoderDiego Biurrun2016-12-05
| |
| * mimic: Convert to the new bitstream readerAlexandra Hájková2016-12-03
| |
| * metasound: Convert to the new bitstream readerAlexandra Hájková2016-12-03
| |
| * lagarith: Convert to the new bitstream readerAlexandra Hájková2016-12-03
| |
| * indeo: Convert to the new bitstream readerAlexandra Hájková2016-12-03
| |
| * imc: Convert to the new bitstream readerAlexandra Hájková2016-12-03
| |
| * webp: Convert to the new bitstream readerAlexandra Hájková2016-12-03
| |
| * mpeg4audio: correctly propagate meaningful error valuesJames Almer2016-12-02
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | avcodec/hqx: add support for frame threadsPaul B Mahol2017-04-09
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/cllc: add support for frame threadsPaul B Mahol2017-04-09
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/dcadsp: Fix runtime error: signed integer overflowMichael Niedermayer2017-04-09
| | | | | | | | | | Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | mjpegenc: enable optimal huffman coding by defaultRostislav Pehlivanov2017-04-09
| | | | | | | | | | | | | | | | As it gives excellent encoding gains at an insignificant speed increase and passes fate without problems, it should now be safe to enable by default. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | mjpegenc: disable huffman coding with AMVRostislav Pehlivanov2017-04-09
| | | | | | | | | | | | Isn't supported. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | mjpegenc_common: check for codec ID before using avctx->priv_dataRostislav Pehlivanov2017-04-08
| | | | | | | | | | | | | | When coding lossless jpeg the priv context will be pointing to LJpegEncContext rather than MpegEncContext, which the function expects. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | Merge commit 'd82d5379caca21005d8906829b35361c4a65408e'Clément Bœsch2017-04-08
|\| | | | | | | | | | | | | * commit 'd82d5379caca21005d8906829b35361c4a65408e': mmaldec: initialize refcount using atomic_init() Merged-by: Clément Bœsch <u@pkh.me>
| * mmaldec: initialize refcount using atomic_init()Wan-Teh Chang2016-12-02
| | | | | | | | | | | | | | This is how we initialize refcount in libavutil/buffer.c. Signed-off-by: Wan-Teh Chang <wtc@google.com> Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit '5168026a05258537f1c48ca95c1776b1554997f4'Clément Bœsch2017-04-08
|\| | | | | | | | | | | | | * commit '5168026a05258537f1c48ca95c1776b1554997f4': options_table: Do not rely on enum size as option bound Merged-by: Clément Bœsch <u@pkh.me>
| * options_table: Do not rely on enum size as option boundVittorio Giovara2016-12-02
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit 'ff9db5cfd14558df9cfcc54d6c062bc34bf1f341'Clément Bœsch2017-04-08
|\| | | | | | | | | | | | | * commit 'ff9db5cfd14558df9cfcc54d6c062bc34bf1f341': lavc: Use a stricter check for the color properties values Merged-by: Clément Bœsch <u@pkh.me>
| * lavc: Use a stricter check for the color properties valuesVittorio Giovara2016-12-02
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit '0a35f128f3c6e0ae9a0a2236c557602c108da269'Clément Bœsch2017-04-08
|\| | | | | | | | | | | | | * commit '0a35f128f3c6e0ae9a0a2236c557602c108da269': cabac: x86: Give optimizations header a more meaningful name Merged-by: Clément Bœsch <u@pkh.me>
| * cabac: x86: Give optimizations header a more meaningful nameDiego Biurrun2016-12-01
| |
| * aarch64: vp9itxfm: Skip empty slices in the first pass of idct_idct 16x16 ↵Martin Storsjö2016-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and 32x32 This work is sponsored by, and copyright, Google. Previously all subpartitions except the eob=1 (DC) case ran with the same runtime: vp9_inv_dct_dct_16x16_sub16_add_neon: 1373.2 vp9_inv_dct_dct_32x32_sub32_add_neon: 8089.0 By skipping individual 8x16 or 8x32 pixel slices in the first pass, we reduce the runtime of these functions like this: vp9_inv_dct_dct_16x16_sub1_add_neon: 235.3 vp9_inv_dct_dct_16x16_sub2_add_neon: 1036.7 vp9_inv_dct_dct_16x16_sub4_add_neon: 1036.7 vp9_inv_dct_dct_16x16_sub8_add_neon: 1036.7 vp9_inv_dct_dct_16x16_sub12_add_neon: 1372.1 vp9_inv_dct_dct_16x16_sub16_add_neon: 1372.1 vp9_inv_dct_dct_32x32_sub1_add_neon: 555.1 vp9_inv_dct_dct_32x32_sub2_add_neon: 5190.2 vp9_inv_dct_dct_32x32_sub4_add_neon: 5180.0 vp9_inv_dct_dct_32x32_sub8_add_neon: 5183.1 vp9_inv_dct_dct_32x32_sub12_add_neon: 6161.5 vp9_inv_dct_dct_32x32_sub16_add_neon: 6155.5 vp9_inv_dct_dct_32x32_sub20_add_neon: 7136.3 vp9_inv_dct_dct_32x32_sub24_add_neon: 7128.4 vp9_inv_dct_dct_32x32_sub28_add_neon: 8098.9 vp9_inv_dct_dct_32x32_sub32_add_neon: 8098.8 I.e. in general a very minor overhead for the full subpartition case due to the additional cmps, but a significant speedup for the cases when we only need to process a small part of the actual input data. Signed-off-by: Martin Storsjö <martin@martin.st>
| * arm: vp9itxfm: Skip empty slices in the first pass of idct_idct 16x16 and 32x32Martin Storsjö2016-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This work is sponsored by, and copyright, Google. Previously all subpartitions except the eob=1 (DC) case ran with the same runtime: Cortex A7 A8 A9 A53 vp9_inv_dct_dct_16x16_sub16_add_neon: 3188.1 2435.4 2499.0 1969.0 vp9_inv_dct_dct_32x32_sub32_add_neon: 18531.7 16582.3 14207.6 12000.3 By skipping individual 4x16 or 4x32 pixel slices in the first pass, we reduce the runtime of these functions like this: vp9_inv_dct_dct_16x16_sub1_add_neon: 274.6 189.5 211.7 235.8 vp9_inv_dct_dct_16x16_sub2_add_neon: 2064.0 1534.8 1719.4 1248.7 vp9_inv_dct_dct_16x16_sub4_add_neon: 2135.0 1477.2 1736.3 1249.5 vp9_inv_dct_dct_16x16_sub8_add_neon: 2446.7 1828.7 1993.6 1494.7 vp9_inv_dct_dct_16x16_sub12_add_neon: 2832.4 2118.3 2266.5 1735.1 vp9_inv_dct_dct_16x16_sub16_add_neon: 3211.7 2475.3 2523.5 1983.1 vp9_inv_dct_dct_32x32_sub1_add_neon: 756.2 456.7 862.0 553.9 vp9_inv_dct_dct_32x32_sub2_add_neon: 10682.2 8190.4 8539.2 6762.5 vp9_inv_dct_dct_32x32_sub4_add_neon: 10813.5 8014.9 8518.3 6762.8 vp9_inv_dct_dct_32x32_sub8_add_neon: 11859.6 9313.0 9347.4 7514.5 vp9_inv_dct_dct_32x32_sub12_add_neon: 12946.6 10752.4 10192.2 8280.2 vp9_inv_dct_dct_32x32_sub16_add_neon: 14074.6 11946.5 11001.4 9008.6 vp9_inv_dct_dct_32x32_sub20_add_neon: 15269.9 13662.7 11816.1 9762.6 vp9_inv_dct_dct_32x32_sub24_add_neon: 16327.9 14940.1 12626.7 10516.0 vp9_inv_dct_dct_32x32_sub28_add_neon: 17462.7 15776.1 13446.2 11264.7 vp9_inv_dct_dct_32x32_sub32_add_neon: 18575.5 17157.0 14249.3 12015.1 I.e. in general a very minor overhead for the full subpartition case due to the additional loads and cmps, but a significant speedup for the cases when we only need to process a small part of the actual input data. In common VP9 content in a few inspected clips, 70-90% of the non-dc-only 16x16 and 32x32 IDCTs only have nonzero coefficients in the upper left 8x8 or 16x16 subpartitions respectively. Signed-off-by: Martin Storsjö <martin@martin.st>
| * arm: vp9itxfm: Only reload the idct coeffs for the iadst_idct combinationMartin Storsjö2016-11-30
| | | | | | | | | | | | | | | | | | This avoids reloading them if they haven't been clobbered, if the first pass also was idct. This is similar to what was done in the aarch64 version. Signed-off-by: Martin Storsjö <martin@martin.st>
| * vp9dsp: add DC only versions for idct/idct.Clément Bœsch2016-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | before: time ./avconv -v 0 -nostats -threads 1 -i sintel_vp9_500kbps.webm -f null - real 0m11.125s user 0m11.059s sys 0m0.050s time ./avconv -v 0 -nostats -threads 1 -i sintel_vp9_500kbps.webm -f null - real 0m10.944s user 0m10.819s sys 0m0.064s after: time ./avconv -v 0 -nostats -threads 1 -i sintel_vp9_500kbps.webm -f null - real 0m8.153s user 0m8.034s sys 0m0.050s time ./avconv -v 0 -nostats -threads 1 -i sintel_vp9_500kbps.webm -f null - real 0m8.038s user 0m7.980s sys 0m0.039s Signed-off-by: Martin Storsjö <martin@martin.st>
| * hevc: Eliminate pointless variable indirectionDiego Biurrun2016-11-30
| |
* | Merge commit '5c89022542ce8521d89ef58858342a7bc1c3cd0d'Clément Bœsch2017-04-08
|\| | | | | | | | | | | | | * commit '5c89022542ce8521d89ef58858342a7bc1c3cd0d': hevc: Drop pointless av_unused attribute Merged-by: Clément Bœsch <u@pkh.me>
| * hevc: Drop pointless av_unused attributeDiego Biurrun2016-11-30
| |
* | Merge commit '0983f9117f31521643162cb85380672495a9de1b'Clément Bœsch2017-04-08
|\| | | | | | | | | | | | | | | | | | | | | * commit '0983f9117f31521643162cb85380672495a9de1b': metasound: Drop unused tables This commit is mostly a noop, see 276a8666d2d990335314752f8f8bdfdaac69e410 e8319f602e94af9b8454ed68d8323908ceaf944d Merged-by: Clément Bœsch <u@pkh.me>
| * metasound: Drop unused tablesDiego Biurrun2016-11-30
| |
* | opusenc: switch between intra/inter mode for coarse energyRostislav Pehlivanov2017-04-08
| | | | | | | | | | | | Saves around 5kbps. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | opusenc: do not signal digital silenceRostislav Pehlivanov2017-04-08
| | | | | | | | | | | | Apparently its only use is to enable comfort noise/error recovery. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | opusenc: minor style changesRostislav Pehlivanov2017-04-08
| | | | | | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | opusenc: remove unused header entries and simplify normalizationRostislav Pehlivanov2017-04-08
| | | | | | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | opus_rc: add macros for checkpoint rollbackRostislav Pehlivanov2017-04-08
| | | | | | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | opus_celt: fix some style issuesRostislav Pehlivanov2017-04-08
| | | | | | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | mdct15: use existing complex multiplication macrosRostislav Pehlivanov2017-04-08
| | | | | | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | avcodec/hevc_parse: ignore all non parameter set NAL units in extradataJames Almer2017-04-07
| | | | | | | | | | | | | | While they shouldn't be present, they are harmless if they are. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* | avcodec/utvideodec: add support for gradient predictionPaul B Mahol2017-04-07
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>