Andreas Rheinhardt
14be39e44a
avcodec/ivi: Make initializing VLCs thread-safe
...
This automatically makes indeo4/5 init-threadsafe.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-12-08 17:51:48 +01:00
Michael Niedermayer
7592e88bfe
avcodec/indeo4: Check dimensions in decode_pic_hdr()
...
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>
2018-09-03 00:01:32 +02:00
Michael Niedermayer
267ba2aa96
avcodec/indeo4: Check for end of bitstream in decode_mb_info()
...
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>
2018-07-04 12:15:10 +02:00
Michael Niedermayer
10c8521265
indeo4: Decode all or nothing of a band header.
...
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>
2018-05-26 00:54:55 +02:00
Michael Niedermayer
a824685140
avcodec/ivi: Use av_image_check_size2()
...
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>
2017-07-12 20:36:13 +02:00
Michael Niedermayer
a3b5b60bdf
avcodec/indeo4: Check remaining data in Pic hdr extension parsing code
...
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>
2017-06-08 17:37:16 +02:00
Clément Bœsch
ae753dbd0d
Merge commit 'b668662939de3a02454cfc9ba3e6d10b87527a40'
...
* 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>
2016-06-29 11:35:10 +02:00
Diego Biurrun
b668662939
get_bits: Move BITSTREAM_READER_LE definition before all relevant #includes
...
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.
2016-06-07 13:09:57 +02:00
Derek Buitenhuis
d9357332ae
Merge commit '64250d94b74d3fd47cc8b1611f48daf6a6ed804a'
...
* commit '64250d94b74d3fd47cc8b1611f48daf6a6ed804a':
indeo4: Consistently initialize variables
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-17 18:53:11 +01:00
Derek Buitenhuis
1117d6f4b1
Merge commit '6202e2fede75df92cbc374a3f7d6893d0c5ac721'
...
* commit '6202e2fede75df92cbc374a3f7d6893d0c5ac721':
indeo4: Rework stream analysis report
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-17 18:51:58 +01:00
Vittorio Giovara
64250d94b7
indeo4: Consistently initialize variables
...
Avoid using multiple variables for the same purpose.
2016-03-22 16:04:01 -04:00
Vittorio Giovara
6202e2fede
indeo4: Rework stream analysis report
...
* 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>
2016-03-22 16:03:52 -04:00
Michael Niedermayer
444e9874a7
Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'
...
* 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>
2015-07-27 22:50:18 +02:00
Vittorio Giovara
def97856de
lavc: AV-prefix all codec capabilities
...
Express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:58 +01:00
Michael Niedermayer
8f7b022c8c
Merge commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25'
...
* 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>
2015-04-20 04:10:10 +02:00
Vittorio Giovara
6a85dfc830
lavc: Replace av_dlog and tprintf with internal macros
2015-04-19 12:41:59 +01:00
Michael Niedermayer
98263d7515
Merge commit '23944d29a22a2cd602753b3705f73011c3bf0b18'
...
* commit '23944d29a22a2cd602753b3705f73011c3bf0b18':
indeo: Give Indeo4/5 shared code a more consistent name
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-30 20:39:08 +02:00
Diego Biurrun
23944d29a2
indeo: Give Indeo4/5 shared code a more consistent name
2015-03-30 17:49:05 +02:00
Michael Niedermayer
357168bcf6
Merge commit '5ec6d152e26c570c0a16ec72c1f354db95708179'
...
* commit '5ec6d152e26c570c0a16ec72c1f354db95708179':
indeo4: B-frames decoding
Conflicts:
libavcodec/ivi_common.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 02:05:22 +02:00
Dirk Ausserhaus
5ec6d152e2
indeo4: B-frames decoding
...
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-06-26 19:17:33 +02:00
Michael Niedermayer
b222e0773c
Merge commit 'e121ac634ba324a318f4a97f978dcfb48da6b735'
...
* commit 'e121ac634ba324a318f4a97f978dcfb48da6b735':
indeo45: use is_indeo4 context flag instead of checking codec ID
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 13:56:52 +02:00
Dirk Ausserhaus
e121ac634b
indeo45: use is_indeo4 context flag instead of checking codec ID
...
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-06-23 09:29:39 +02:00
Dirk Ausserhaus
f76e3669bb
Decode both parts of Indeo4 IP frames
...
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-06-01 08:53:27 +02:00
Dirk Ausserhaus
3df0d20028
Move Indeo4 frametypes into common header.
...
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-06-01 08:53:27 +02:00
Dirk Ausserhaus
8bfb4d72dd
avcodec/indeo4: Decode both parts of IP frames
...
Fixes part of Ticket845
av_frame_move_ref() idea by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 13:49:42 +02:00
Dirk Ausserhaus
d24673a2c8
avcodec/indeo4: Move frametypes into common header.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 13:49:25 +02:00
Michael Niedermayer
c3d5cd1ebf
Revert "Merge remote-tracking branch 'qatar/master'" ( 43dec5ef9a
)
...
Fixes out of array accesses
Fixes asan_static-oob_eb9812_5961_iv41.avi
This reverts the merge of c9ef6b0932
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2013-11-25 19:55:32 +01:00
Michael Niedermayer
43dec5ef9a
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
indeo4: Check the inherited quant_mat
Conflicts:
libavcodec/indeo4.c
See: 884efd4e09
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 10:38:51 +02:00
Michael Niedermayer
d3850ac5b9
Merge commit '0cb83c563848bf8f8365e7bd30e7e6b57ef360f0'
...
* commit '0cb83c563848bf8f8365e7bd30e7e6b57ef360f0':
indeo4: Check the block size if reusing the band configuration
Conflicts:
libavcodec/indeo4.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 10:19:15 +02:00
Luca Barbato
c9ef6b0932
indeo4: Check the inherited quant_mat
...
Invalidate it if not supported.
Sample-Id: 00000262-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-13 01:38:21 +02:00
Luca Barbato
0cb83c5638
indeo4: Check the block size if reusing the band configuration
...
Sample-Id: 00000287-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-13 01:38:20 +02:00
Michael Niedermayer
ee77140afa
Merge commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2'
...
* 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>
2013-10-04 12:34:23 +02:00
Diego Biurrun
b2bed9325d
cosmetics: Group .name and .long_name together in codec/format declarations
2013-10-03 23:32:01 +02:00
Thilo Borgmann
d814a839ac
Reinstate proper FFmpeg license for all files.
2013-08-30 15:47:38 +00:00
Michael Niedermayer
8e4ecd8774
Merge commit '28dda8a691f1c723a4a9365ab85f9625f1330096'
...
* commit '28dda8a691f1c723a4a9365ab85f9625f1330096':
indeo: Sanitize ff_ivi_init_planes fail paths
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 13:45:36 +02:00
Luca Barbato
28dda8a691
indeo: Sanitize ff_ivi_init_planes fail paths
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-15 11:29:59 +02:00
Michael Niedermayer
febbddbdd5
indeo4: print an error message if ref_mb is needed but unavailable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 15:18:03 +02:00
Michael Niedermayer
76d0a6656b
indeo: print errors if transform and block size mismatch
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 14:20:42 +02:00
Michael Niedermayer
a8e5fac1fb
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
indeo: Bound-check before applying transform
Conflicts:
libavcodec/indeo4.c
libavcodec/indeo5.c
libavcodec/ivi_common.c
See: af38823709
, 0846719dd1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 13:37:40 +02:00
Michael Niedermayer
ccb422a697
Merge commit 'cd78e934c246d1b2510f8fba0abfe40bb75795f6'
...
* commit 'cd78e934c246d1b2510f8fba0abfe40bb75795f6':
indeo4: Validate scantable dimension
See: 92f7f1db42
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 13:08:13 +02:00
Michael Niedermayer
8c0bb19522
Merge commit '6255ccf7d51c82ab79bf0cd47a921f572dda4489'
...
* commit '6255ccf7d51c82ab79bf0cd47a921f572dda4489':
indeo4: Check the quantization matrix index
Conflicts:
libavcodec/indeo4.c
See: 8a20774a24
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 12:43:45 +02:00
Michael Niedermayer
5462361937
Merge commit '8435bca087c0e79385763c51de009fd89390b6a5'
...
* commit '8435bca087c0e79385763c51de009fd89390b6a5':
indeo4: Do not access missing reference MV
Conflicts:
libavcodec/indeo4.c
See: 5216245a
, aae44fb4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 12:38:54 +02:00
Luca Barbato
dc79685195
indeo: Bound-check before applying transform
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-13 19:11:18 +02:00
Luca Barbato
cd78e934c2
indeo4: Validate scantable dimension
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-13 19:11:18 +02:00
Luca Barbato
6255ccf7d5
indeo4: Check the quantization matrix index
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-13 19:11:18 +02:00
Luca Barbato
8435bca087
indeo4: Do not access missing reference MV
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-13 19:11:18 +02:00
Michael Niedermayer
e755c8ac46
Merge commit '4a27a52a1f74016095b7aee1b4a422cf62217ade'
...
* commit '4a27a52a1f74016095b7aee1b4a422cf62217ade':
fate: Don't use files from SRC_PATH in the actual tests
indeo4: reuse context block VLC for band instead of defaulting
Conflicts:
tests/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 04:02:23 +02:00
Michael Niedermayer
ca90ca8ce3
Merge commit '6647aa0426e73839b9b1d1c9d86188f469167531'
...
* commit '6647aa0426e73839b9b1d1c9d86188f469167531':
indeo4: add missing Haar and slanted transforms
dxtory v2 support
Conflicts:
libavcodec/indeo4.c
libavcodec/ivi_dsp.c
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 03:52:16 +02:00
Kostya Shishkov
2cf5d29110
indeo4: reuse context block VLC for band instead of defaulting
...
Currently if no custom block VLC is specified for band, a default block VLC
will be used, while the global block VLC stored in the context should be used
instead.
This fixes decoding of one sample I have.
2013-05-28 14:10:58 +02:00
Kostya Shishkov
6647aa0426
indeo4: add missing Haar and slanted transforms
...
That involves fixing INV_HAAR4() macro and changing it to work with different
input and output like INV_HAAR8() instead of in-place transform.
2013-05-28 14:08:09 +02:00