summaryrefslogtreecommitdiff
path: root/libavcodec/indeo4.c
Commit message (Collapse)AuthorAge
* avcodec: Make init-threadsafety the defaultAndreas Rheinhardt2022-07-18
| | | | | | | | | | | and remove FF_CODEC_CAP_INIT_THREADSAFE All our native codecs are already init-threadsafe (only wrappers for external libraries and hwaccels are typically not marked as init-threadsafe yet), so it is only natural for this to also be the default state. Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/codec_internal: Use union for FFCodec decode/encode callbacksAndreas Rheinhardt2022-04-05
| | | | | | | | | | | This is possible, because every given FFCodec has to implement exactly one of these. Doing so decreases sizeof(FFCodec) and therefore decreases the size of the binary. Notice that in case of position-independent code the decrease is in .data.rel.ro, so that this translates to decreased memory consumption. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/codec_internal: Add FFCodec, hide internal part of AVCodecAndreas Rheinhardt2022-03-21
| | | | | | | | | | | | | | | | Up until now, codec.h contains both public and private parts of AVCodec. This exposes the internals of AVCodec to users and leads them into the temptation of actually using them and forces us to forward-declare structures and types that users can't use at all. This commit changes this by adding a new structure FFCodec to codec_internal.h that extends AVCodec, i.e. contains the public AVCodec as first member; the private fields of AVCodec are moved to this structure, leaving codec.h clean. Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/internal: Move FF_CODEC_CAP_* to a new header codec_internal.hAndreas Rheinhardt2022-03-21
| | | | | | | | | | Also move FF_CODEC_TAGS_END as well as struct AVCodecDefault. This reduces the amount of files that have to include internal.h (which comes with quite a lot of indirect inclusions), as e.g. most encoders don't need it. It is furthemore in preparation for moving the private part of AVCodec out of the public codec.h. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec: Constify AVCodecsAndreas Rheinhardt2021-04-27
| | | | | | | | | | Given that the AVCodec.next pointer has now been removed, most of the AVCodecs are not modified at all any more and can therefore be made const (as this patch does); the only exceptions are the very few codecs for external libraries that have a init_static_data callback. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/ivi: Make initializing VLCs thread-safeAndreas Rheinhardt2020-12-08
| | | | | | This automatically makes indeo4/5 init-threadsafe. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/indeo4: Check dimensions in decode_pic_hdr()Michael Niedermayer2018-09-03
| | | | | | | | Fixes: Timeout Fixes: 9654/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_INDEO4_fuzzer-6289863463665664 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/indeo4: Check for end of bitstream in decode_mb_info()Michael Niedermayer2018-07-04
| | | | | | | | Fixes: Timeout Fixes: 8776/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_INDEO4_fuzzer-5361788798369792 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* indeo4: Decode all or nothing of a band header.Michael Niedermayer2018-05-26
| | | | | | | | | | | | | | This avoids inconsistent value combinations. Alternatively it would be possible to add more checks and careful use of temporary variables, but my try of this quickly seemed to become a rather large change. The disadvantage of this, is that the struct is copied back and forth. Fixes: index 6 out of bounds for type 'const uint16_t [5][16]' Fixes: 6557/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_INDEO4_fuzzer-4787296550256640 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/ivi: Use av_image_check_size2()Michael Niedermayer2017-07-12
| | | | | | | | Fixes OOM Fixes: 1514/clusterfuzz-testcase-minimized-6437666243477504 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/indeo4: Check remaining data in Pic hdr extension parsing codeMichael Niedermayer2017-06-08
| | | | | | | | Fixes: Timeout Fixes: 2115/clusterfuzz-testcase-minimized-6594111748440064 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit 'b668662939de3a02454cfc9ba3e6d10b87527a40'Clément Bœsch2016-06-29
|\ | | | | | | | | | | | | | | | | | | * commit 'b668662939de3a02454cfc9ba3e6d10b87527a40': get_bits: Move BITSTREAM_READER_LE definition before all relevant #includes The merge commit also includes changes for libavcodec/interplayacm.c and libavcodec/truemotion2rt.c Merged-by: Clément Bœsch <clement@stupeflix.com>
| * get_bits: Move BITSTREAM_READER_LE definition before all relevant #includesDiego Biurrun2016-06-07
| | | | | | | | | | | | | | This avoids the danger that get_bits.h might get indirectly #included before BITSTREAM_READER_LE is defined. Also sort headers into canonical order where appropriate.
* | Merge commit '64250d94b74d3fd47cc8b1611f48daf6a6ed804a'Derek Buitenhuis2016-04-17
|\| | | | | | | | | | | | | * commit '64250d94b74d3fd47cc8b1611f48daf6a6ed804a': indeo4: Consistently initialize variables Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * indeo4: Consistently initialize variablesVittorio Giovara2016-03-22
| | | | | | | | Avoid using multiple variables for the same purpose.
* | Merge commit '6202e2fede75df92cbc374a3f7d6893d0c5ac721'Derek Buitenhuis2016-04-17
|\| | | | | | | | | | | | | * commit '6202e2fede75df92cbc374a3f7d6893d0c5ac721': indeo4: Rework stream analysis report Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * indeo4: Rework stream analysis reportVittorio Giovara2016-03-22
| | | | | | | | | | | | | | | | * Change log level from error to debug * Print report after the first decoded frame, not at the end of decoding * Drop macro guard and use a context variable instead Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | 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>
* | Merge commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25'Michael Niedermayer2015-04-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25': lavc: Replace av_dlog and tprintf with internal macros Conflicts: libavcodec/aacdec.c libavcodec/audio_frame_queue.c libavcodec/bitstream.c libavcodec/dcadec.c libavcodec/dnxhddec.c libavcodec/dvbsubdec.c libavcodec/dvdec.c libavcodec/dvdsubdec.c libavcodec/get_bits.h libavcodec/gifdec.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_loopfilter.c libavcodec/h264_refs.c libavcodec/imc.c libavcodec/interplayvideo.c libavcodec/jpeglsdec.c libavcodec/libopencore-amr.c libavcodec/mjpegdec.c libavcodec/mpeg12dec.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_parser.c libavcodec/pngdec.c libavcodec/ratecontrol.c libavcodec/rv10.c libavcodec/svq1dec.c libavcodec/vqavideo.c libavcodec/wmadec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: Replace av_dlog and tprintf with internal macrosVittorio Giovara2015-04-19
| |
* | Merge commit '23944d29a22a2cd602753b3705f73011c3bf0b18'Michael Niedermayer2015-03-30
|\| | | | | | | | | | | | | * commit '23944d29a22a2cd602753b3705f73011c3bf0b18': indeo: Give Indeo4/5 shared code a more consistent name Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * indeo: Give Indeo4/5 shared code a more consistent nameDiego Biurrun2015-03-30
| |
* | Merge commit '5ec6d152e26c570c0a16ec72c1f354db95708179'Michael Niedermayer2014-06-27
|\| | | | | | | | | | | | | | | | | | | * commit '5ec6d152e26c570c0a16ec72c1f354db95708179': indeo4: B-frames decoding Conflicts: libavcodec/ivi_common.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * indeo4: B-frames decodingDirk Ausserhaus2014-06-26
| | | | | | | | Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* | Merge commit 'e121ac634ba324a318f4a97f978dcfb48da6b735'Michael Niedermayer2014-06-23
|\| | | | | | | | | | | | | * commit 'e121ac634ba324a318f4a97f978dcfb48da6b735': indeo45: use is_indeo4 context flag instead of checking codec ID Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * indeo45: use is_indeo4 context flag instead of checking codec IDDirk Ausserhaus2014-06-23
| | | | | | | | Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
| * Decode both parts of Indeo4 IP framesDirk Ausserhaus2014-06-01
| | | | | | | | Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
| * Move Indeo4 frametypes into common header.Dirk Ausserhaus2014-06-01
| | | | | | | | Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* | avcodec/indeo4: Decode both parts of IP framesDirk Ausserhaus2014-05-30
| | | | | | | | | | | | | | | | Fixes part of Ticket845 av_frame_move_ref() idea by Anton Khirnov Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/indeo4: Move frametypes into common header.Dirk Ausserhaus2014-05-30
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Revert "Merge remote-tracking branch 'qatar/master'" ↵Michael Niedermayer2013-11-25
| | | | | | | | | | | | | | | | | | | | (43dec5ef9a360c9ffac3278f464832bd99af0cb0) Fixes out of array accesses Fixes asan_static-oob_eb9812_5961_iv41.avi This reverts the merge of c9ef6b09326a24010bf86d6b0d19cfa42df4d546 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-10-13
|\| | | | | | | | | | | | | | | | | | | | | * qatar/master: indeo4: Check the inherited quant_mat Conflicts: libavcodec/indeo4.c See: 884efd4e09696b201457feebdef684aee30be99d Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * indeo4: Check the inherited quant_matLuca Barbato2013-10-13
| | | | | | | | | | | | | | | | Invalidate it if not supported. Sample-Id: 00000262-google Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* | Merge commit '0cb83c563848bf8f8365e7bd30e7e6b57ef360f0'Michael Niedermayer2013-10-13
|\| | | | | | | | | | | | | | | | | | | * commit '0cb83c563848bf8f8365e7bd30e7e6b57ef360f0': indeo4: Check the block size if reusing the band configuration Conflicts: libavcodec/indeo4.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * indeo4: Check the block size if reusing the band configurationLuca Barbato2013-10-13
| | | | | | | | | | | | | | Sample-Id: 00000287-google Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* | 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
| |
* | Reinstate proper FFmpeg license for all files.Thilo Borgmann2013-08-30
| |
* | Merge commit '28dda8a691f1c723a4a9365ab85f9625f1330096'Michael Niedermayer2013-07-15
|\| | | | | | | | | | | | | * commit '28dda8a691f1c723a4a9365ab85f9625f1330096': indeo: Sanitize ff_ivi_init_planes fail paths Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * indeo: Sanitize ff_ivi_init_planes fail pathsLuca Barbato2013-07-15
| | | | | | | | | | Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* | indeo4: print an error message if ref_mb is needed but unavailableMichael Niedermayer2013-07-14
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | indeo: print errors if transform and block size mismatchMichael Niedermayer2013-07-14
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-07-14
|\| | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: indeo: Bound-check before applying transform Conflicts: libavcodec/indeo4.c libavcodec/indeo5.c libavcodec/ivi_common.c See: af388237093ed6df6f5118b34ef938a2ca2ffbda, 0846719dd11ab3f7a7caee13e7af71f71d913389 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * indeo: Bound-check before applying transformLuca Barbato2013-07-13
| | | | | | | | | | Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* | Merge commit 'cd78e934c246d1b2510f8fba0abfe40bb75795f6'Michael Niedermayer2013-07-14
|\| | | | | | | | | | | | | | | * commit 'cd78e934c246d1b2510f8fba0abfe40bb75795f6': indeo4: Validate scantable dimension See: 92f7f1db421ee8b3431534fa09e8050ba622c33a Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * indeo4: Validate scantable dimensionLuca Barbato2013-07-13
| | | | | | | | | | Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* | Merge commit '6255ccf7d51c82ab79bf0cd47a921f572dda4489'Michael Niedermayer2013-07-14
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '6255ccf7d51c82ab79bf0cd47a921f572dda4489': indeo4: Check the quantization matrix index Conflicts: libavcodec/indeo4.c See: 8a20774a24bb1ea68b7360113746eac6e59ad8a8 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * indeo4: Check the quantization matrix indexLuca Barbato2013-07-13
| | | | | | | | | | Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* | Merge commit '8435bca087c0e79385763c51de009fd89390b6a5'Michael Niedermayer2013-07-14
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '8435bca087c0e79385763c51de009fd89390b6a5': indeo4: Do not access missing reference MV Conflicts: libavcodec/indeo4.c See: 5216245a, aae44fb4 Merged-by: Michael Niedermayer <michaelni@gmx.at>