summaryrefslogtreecommitdiff
path: root/libavcodec/cavsdec.c
Commit message (Collapse)AuthorAge
* avcodec/cavsdec, h264*, hevc_parser: Use get_ue_golomb_31 where possibleAndreas Rheinhardt2020-07-29
| | | | | | | | | | instead of get_ue_golomb(). The difference between the two is that the latter also has to take into account the case in which the read code is more than 9 bits (four preceding zeroes + at most five value bits) long, leading to more code. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/cavsdec: Set ret on errors in decode_pic()Michael Niedermayer2019-10-17
| | | | | | Fixes regression and fate failure on some machienes Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/cavsdec: Check remaining bitstream in the main loop in decode_pic()Michael Niedermayer2019-10-16
| | | | | | | | Fixes: Timeout (149sec ->1sec) Fixes: 17311/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CAVS_fuzzer-5679368642232320 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/cavsdec: Limit the number of access units per packet to 2Michael Niedermayer2019-08-29
| | | | | | | | Fixes: Timeout (122sec -> 13ms) Fixes: 15978/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CAVS_fuzzer-5148925004087296 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/cavsdec: Propagate error codes inside decode_mb_i()Michael Niedermayer2018-11-04
| | | | | | | | Fixes: Timeout Fixes: 10702/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CAVS_fuzzer-5669940938407936 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/cavsdec: Check alpha/beta offsetMichael Niedermayer2018-02-22
| | | | | | | | Fixes: Integer overflow Fixes: 6183/clusterfuzz-testcase-minimized-6269224436629504 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/cavsdec: Check P/B frame mb decode which return error codesMichael Niedermayer2017-08-15
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/cavsdec: Check I frame mb decode for errorsMichael Niedermayer2017-08-15
| | | | | | | | Fixes: timeout Fixes: 2943/clusterfuzz-testcase-5430257156882432 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/cavsdec: Fix runtime error: signed integer overflow: 59 + 2147483600 ↵Michael Niedermayer2017-05-31
| | | | | | | | | cannot be represented in type 'int' Fixes: 1903/clusterfuzz-testcase-minimized-5359318167715840 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/cavsdec: Fix runtime error: signed integer overflow: 31 + 2147483640 ↵Michael Niedermayer2017-05-13
| | | | | | | | | cannot be represented in type 'int' Fixes: 1506/clusterfuzz-testcase-minimized-5401272918212608 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/cavsdec: Check sym_factorMichael Niedermayer2017-05-08
| | | | | | | | | Fixes: runtime error: signed integer overflow: 25984 * 130560 cannot be represented in type 'int' Fixes: 1404/clusterfuzz-testcase-minimized-5000441286885376 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/cavsdec: Fix undefined behavior from integer overflowMichael Niedermayer2017-05-05
| | | | | | | Fixes: 1335/clusterfuzz-testcase-minimized-5566961566089216 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit 'f81be06cf614919d71ded29b8f595bef40123ad8'James Almer2017-03-19
|\ | | | | | | | | | | | | * commit 'f81be06cf614919d71ded29b8f595bef40123ad8': cavs: Change type of stride parameters to ptrdiff_t Merged-by: James Almer <jamrial@gmail.com>
| * cavs: Change type of stride parameters to ptrdiff_tDiego Biurrun2016-08-26
| | | | | | | | ptrdiff_t is the correct type for array strides and similar.
* | avcodec/cavsdec: Clear MMX state after MB decode loopMichael Niedermayer2016-10-22
| | | | | | | | | | | | | | The MMX state must be cleared between using MMX and using memory allocation thats basically the only location between the 2 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | cavsdec: unref frame before referencing againAndreas Cadhalpun2016-10-21
| | | | | | | | | | | | | | | | This fixes asserts (from commit 13aae8) in av_frame_ref and av_frame_move_ref. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | Merge commit 'e60a6e7545dd6f5b25e3a65de9c6fdcc6e2e9d6b'Hendrik Leppkes2015-09-16
|\| | | | | | | | | | | | | * commit 'e60a6e7545dd6f5b25e3a65de9c6fdcc6e2e9d6b': mpegvideo: Drop mpegvideo.h where not needed Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * mpegvideo: Drop mpegvideo.h where not neededVittorio Giovara2015-09-13
| | | | | | | | Add necessary headers in .c files.
* | Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'Michael Niedermayer2015-07-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'def97856de6021965db86c25a732d78689bd6bb0': lavc: AV-prefix all codec capabilities Conflicts: cmdutils.c ffmpeg.c ffplay.c libavcodec/8svx.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/adpcm.c libavcodec/alac.c libavcodec/atrac3plusdec.c libavcodec/bink.c libavcodec/dnxhddec.c libavcodec/dvdec.c libavcodec/dvenc.c libavcodec/ffv1dec.c libavcodec/ffv1enc.c libavcodec/fic.c libavcodec/flacdec.c libavcodec/flacenc.c libavcodec/flvdec.c libavcodec/fraps.c libavcodec/frwu.c libavcodec/gifdec.c libavcodec/h261dec.c libavcodec/hevc.c libavcodec/iff.c libavcodec/imc.c libavcodec/libopenjpegdec.c libavcodec/libvo-aacenc.c libavcodec/libvorbisenc.c libavcodec/libvpxdec.c libavcodec/libvpxenc.c libavcodec/libx264.c libavcodec/mjpegbdec.c libavcodec/mjpegdec.c libavcodec/mpegaudiodec_float.c libavcodec/msmpeg4dec.c libavcodec/mxpegdec.c libavcodec/nvenc_h264.c libavcodec/nvenc_hevc.c libavcodec/pngdec.c libavcodec/qpeg.c libavcodec/ra288.c libavcodec/rv10.c libavcodec/s302m.c libavcodec/sp5xdec.c libavcodec/takdec.c libavcodec/tiff.c libavcodec/tta.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/vp6.c libavcodec/vp9.c libavcodec/wavpack.c libavcodec/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-27
| | | | | | | | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | avcodec/cavsdec: Use ff_set_dimensions()Michael Niedermayer2015-05-14
| | | | | | | | | | | | Fixes CID1239111 part2 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/cavsdec: Check frame_rate_codeMichael Niedermayer2015-05-14
| | | | | | | | | | | | Fixes CID1239111 part1 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/cavsdec: Check esc_codeMichael Niedermayer2015-05-14
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/cavs: Check for av_malloc* failure in ff_cavs_init_top_lines()Michael Niedermayer2015-01-10
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '85dc006b1a829726dd5e3a9b0fcc6a1dbfe6dffa'Michael Niedermayer2014-11-18
|\| | | | | | | | | | | | | | | | | | | * commit '85dc006b1a829726dd5e3a9b0fcc6a1dbfe6dffa': lavc: fix bitshifts amount bigger than the type Conflicts: libavcodec/internal.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: fix bitshifts amount bigger than the typeVittorio Giovara2014-11-18
| | | | | | | | | | CC: libav-stable@libav.org Bug-Id: CID 1194387 / CID 1194389 / CID 1194393 / CID 1206638
* | Merge commit '7ea1b3472a61de4aa4d41b571e99418e4997ad41'Michael Niedermayer2014-10-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '7ea1b3472a61de4aa4d41b571e99418e4997ad41': lavc: deprecate the use of AVCodecContext.time_base for decoding Conflicts: libavcodec/avcodec.h libavcodec/h264.c libavcodec/mpegvideo_parser.c libavcodec/utils.c libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: deprecate the use of AVCodecContext.time_base for decodingAnton Khirnov2014-10-15
| | | | | | | | | | | | | | | | | | | | | | When decoding, this field holds the inverse of the framerate that can be written in the headers for some codecs. Using a field called 'time_base' for this is very misleading, as there are no timestamps associated with it. Furthermore, this field is used for a very different purpose during encoding. Add a new field, called 'framerate', to replace the use of time_base for decoding.
* | avcodec/cavs: make cavs_chroma_qp non staticMichael Niedermayer2014-06-28
| | | | | | | | | | | | | | | | The table is needed by multiple files Reverts part of ef07ac1e126b95ad7e1b56504c19b59901265c3e Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/cavs: fix B_SUB_DIRECT col-MB is Intra MB case.Yao Wang2014-06-26
| | | | | | | | | | | | | | | | | | in this case current MB size is forced to 16x16 (AVS standard section 9.9.1) Signed-off-by: Yao Wang <jiayaowang@gmail.com> Fixes Ticket 1901 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'e74433a8e6fc00c8dbde293c97a3e45384c2c1d9'Michael Niedermayer2014-06-19
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'e74433a8e6fc00c8dbde293c97a3e45384c2c1d9': dsputil: Split clear_block*/fill_block* off into a separate context Conflicts: configure libavcodec/asvdec.c libavcodec/dnxhddec.c libavcodec/dnxhdenc.c libavcodec/dsputil.h libavcodec/eamad.c libavcodec/intrax8.c libavcodec/mjpegdec.c libavcodec/ppc/dsputil_ppc.c libavcodec/vc1dec.c libavcodec/x86/dsputil_init.c libavcodec/x86/dsputil_mmx.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: Split clear_block*/fill_block* off into a separate contextDiego Biurrun2014-06-18
| |
* | avcodec/cavsdec: simplify % 512 operationsMichael Niedermayer2014-06-18
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/cavsdec: fix low delay decodingMichael Niedermayer2014-06-17
| | | | | | | | | | | | Fixes Ticket1095 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | cavsdec: fix qp fixed slice handlingMichael Niedermayer2014-06-09
| | | | | | | | | | | | Fixes Ticket3400 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '4736d003fac30af4afd8390182f12f480ad78801'Michael Niedermayer2014-01-06
|\| | | | | | | | | | | | | | | | | | | | | * commit '4736d003fac30af4afd8390182f12f480ad78801': cavsdec: check ff_get_buffer() return value Conflicts: libavcodec/cavsdec.c See: eee8c94f50bfcd93c1f761b4e6b55bec3815616d Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cavsdec: check ff_get_buffer() return valueAnton Khirnov2014-01-06
| | | | | | | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org
* | avcodec/cavsdec: print error messages in case of errorsMichael Niedermayer2013-12-05
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/cavsdec: use more specific error codesMichael Niedermayer2013-12-05
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/cavsdec: print warning if no frame has been decodedMichael Niedermayer2013-12-05
| | | | | | | | | | | | Fixes ticket3128 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/cavsdec: reset stcMichael Niedermayer2013-12-05
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-10-14
|\| | | | | | | | | | | | | | | | | | | | | * qatar/master: cavs: Check for negative cbp Conflicts: libavcodec/cavsdec.c See: 9f06c1c61e876e930753da200bfe835817e30a53 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cavs: Check for negative cbpLuca Barbato2013-10-13
| | | | | | | | | | | | Sample-Id: 00000647-google Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* | Merge commit '1b20d0f581f01f2df601c9e68d0d321672d97af7'Michael Niedermayer2013-10-14
|\| | | | | | | | | | | | | | | | | | | * commit '1b20d0f581f01f2df601c9e68d0d321672d97af7': cavs: Return meaningful error values Conflicts: libavcodec/cavsdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cavs: Return meaningful error valuesLuca Barbato2013-10-13
| |
* | Merge commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2'Michael Niedermayer2013-10-04
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2': cosmetics: Group .name and .long_name together in codec/format declarations Conflicts: libavcodec/8svx.c libavcodec/alac.c libavcodec/cljr.c libavcodec/dnxhddec.c libavcodec/dnxhdenc.c libavcodec/dpxenc.c libavcodec/dvdec.c libavcodec/dvdsubdec.c libavcodec/dvdsubenc.c libavcodec/ffv1dec.c libavcodec/flacdec.c libavcodec/flvdec.c libavcodec/fraps.c libavcodec/frwu.c libavcodec/g726.c libavcodec/gif.c libavcodec/gifdec.c libavcodec/h261dec.c libavcodec/h263dec.c libavcodec/iff.c libavcodec/imc.c libavcodec/libopencore-amr.c libavcodec/libopenjpegdec.c libavcodec/libopenjpegenc.c libavcodec/libspeexenc.c libavcodec/libvo-amrwbenc.c libavcodec/libvorbisenc.c libavcodec/libvpxenc.c libavcodec/libx264.c libavcodec/libxavs.c libavcodec/libxvid.c libavcodec/ljpegenc.c libavcodec/mjpegbdec.c libavcodec/mjpegdec.c libavcodec/mpeg12dec.c libavcodec/mpeg4videodec.c libavcodec/msmpeg4dec.c libavcodec/pgssubdec.c libavcodec/pngdec.c libavcodec/pngenc.c libavcodec/proresdec_lgpl.c libavcodec/proresenc_kostya.c libavcodec/ra144enc.c libavcodec/rawdec.c libavcodec/rv10.c libavcodec/sp5xdec.c libavcodec/takdec.c libavcodec/tta.c libavcodec/v210dec.c libavcodec/vp6.c libavcodec/wavpack.c libavcodec/xbmenc.c libavcodec/yop.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: Group .name and .long_name together in codec/format declarationsDiego Biurrun2013-10-03
| |
* | Merge commit 'e90a6846c2c006fbebd00e1f2789f4a86fafacef'Michael Niedermayer2013-09-16
|\| | | | | | | | | | | | | | | * commit 'e90a6846c2c006fbebd00e1f2789f4a86fafacef': cavsdec: Make sure a sequence header has been decoded before decoding pictures See: ec0965be36b55624a03d20c3b24e6a7aa61d6cd2 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cavsdec: Make sure a sequence header has been decoded before decoding picturesMartin Storsjö2013-09-16
| | | | | | | | | | | | Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'f1e9398621af0bc9d166014e4ce6996bb4f141d0'Michael Niedermayer2013-03-26
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'f1e9398621af0bc9d166014e4ce6996bb4f141d0': lavc: Rename avpriv_mpv_find_start_code after moving out from mpegvideo Conflicts: libavcodec/h264_parser.c libavcodec/internal.h libavcodec/mpeg12.c libavcodec/utils.c libavformat/mpegtsenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>