Andreas Rheinhardt
e5fdc682cc
avcodec/fic: Mark decoder as init-threadsafe
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2021-05-02 03:22:07 +02:00
Andreas Rheinhardt
a247ac640d
avcodec: Constify AVCodecs
...
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>
2021-04-27 10:43:15 -03:00
Anton Khirnov
e15371061d
lavu/mem: move the DECLARE_ALIGNED macro family to mem_internal on next+1 bump
...
They are not properly namespaced and not intended for public use.
2021-01-01 14:14:57 +01:00
James Almer
9ea6d2149e
avcodec/decode: add a flags parameter to ff_reget_buffer()
...
Some decoders may not need a writable buffer in some specific cases, but only
a reference to the existing buffer with updated frame properties instead, for
the purpose of returning duplicate frames. For this, the
FF_REGET_BUFFER_FLAG_READONLY flag is added, which will prevent potential
allocations and buffer copies when they are not needed.
Signed-off-by: James Almer <jamrial@gmail.com>
2019-09-04 10:07:12 -03:00
Michael Niedermayer
c7f95d2bd9
avcodec/fic: Check input size against minimal frame size
...
Fixes: Timeout (22sec ->54ms)
Fixes: 14439/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FIC_fuzzer-5660988231122944
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-05-09 22:07:26 +02:00
Michael Niedermayer
db1c4acd02
avcodec/fic: Check that there is input left in fic_decode_block()
...
Fixes: Timeout
Fixes: 12450/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FIC_fuzzer-5661984622641152
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-31 00:24:38 +01:00
Paul B Mahol
f89919d4fb
avcodec/fic: use init_get_bits8()
2018-12-23 20:49:19 +01:00
Michael Niedermayer
30a7a81cdc
avcodec/fic: Fail on invalid slice size/off
...
Fixes: Timeout
Fixes: 11486/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FIC_fuzzer-5677133863583744
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-23 20:24:47 +01:00
Paul B Mahol
ae227fa1f2
avcodec/fic: change class name to more correct one
2018-09-08 20:25:47 +02:00
Michael Niedermayer
cb2f7ea96b
avcodec/fic: Check available input space for cursor
...
Fixes: out of array read
Fixes: 6546/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FIC_fuzzer-6317064647081984
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-17 02:23:06 +02:00
Michael Niedermayer
c6a11714c4
avcodec/fic: Avoid some magic numbers related to cursors
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-05-17 02:23:06 +02:00
Michael Niedermayer
0c9d5b015c
avcodec/fic: Fixes signed integer overflow
...
Fixes: runtime error: signed integer overflow: 1037142357 + 1227025305 cannot be represented in type 'int'
Fixes: 3024/clusterfuzz-testcase-minimized-5885660323905536
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-08-20 02:59:57 +02:00
Michael Niedermayer
a173f484b5
avcodec/fic: Fix multiple runtime error: signed integer overflow: 5793 * 419752 cannot be represented in type 'int'
...
Fixes: 1669/clusterfuzz-testcase-minimized-5287529198649344
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-18 18:08:23 +02:00
Michael Niedermayer
548459080b
avcodec/fic: Check coefficients
...
Fixes: signed integer overflow: 1258291200 * 2 cannot be represented in type 'int'
Fixes: 1413/clusterfuzz-testcase-minimized-5923451770503168
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-09 00:42:20 +02:00
Michael Niedermayer
b20c71409b
avcodec/fic: Fix multiple left shift of negative value -15
...
Fixes: 1356/clusterfuzz-testcase-minimized-6008489086287872
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-06 12:11:43 +02:00
Ronald S. Bultje
73f863d751
fic: set pict_type/key_frame after (instead of during) slice decoding.
...
This fixes a race condition that was already documented in the source
code, and is also reported by tsan in fate-fic-avi.
2017-03-31 08:26:23 -04:00
Carl Eugen Hoyos
00ffbdfb68
lavc/fic: Do not warn about empty cursor.
...
Fixes ticket #5174 .
2016-05-01 15:30:22 +02:00
Carl Eugen Hoyos
47a11ff457
lavc/fic: Be less verbose for invisible cursor outside of video.
2016-05-01 15:28:59 +02:00
Carl Eugen Hoyos
db7d0d6e7c
lavc/fic: Cosmetics, fix a typo.
...
Found by Moritz Barsnick
2016-04-18 00:18:54 +02:00
Clément Bœsch
fb99ef0bd3
avcodec: use AV_OPT_TYPE_BOOL in a bunch of places
2015-12-04 15:37:05 +01: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
d277b05c51
avcodec/fic: Add skip_cursor AVOption
...
Previous version reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-19 13:57:36 +02:00
Paul B Mahol
392d975efe
avcodec: fix clobbered ff_get_buffer()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-10 14:20:32 +00:00
Carl Eugen Hoyos
d457478fb0
Silence warnings for fic files with zero-sized cursors.
...
Fixes ticket #4072 .
2014-11-03 00:43:08 +01:00
Michael Niedermayer
1b5ec6a0c3
avcodec/fic: Check if a frame is available before using it
...
Fixes null pointer dereference
Fixes: ficvf.avi
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-22 02:22:31 +02:00
Michael Niedermayer
23cd5cb18f
avcodec/fic: avoid 2 additions per idct row
...
before:
5225 decicycles in IDCT, 32756 runs, 12 skips
after:
5057 decicycles in IDCT, 32765 runs, 3 skips
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 22:34:31 +02:00
Derek Buitenhuis
14da7f9eb7
fic: Support rendering cursors
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-23 13:31:22 -04:00
Derek Buitenhuis
d7eb8f9033
fic: Make warning message more accurate
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-23 17:53:00 +01:00
Derek Buitenhuis
7596fc3d4b
fic: Remove redundant clips
...
The equations can't overflow or underflow anyway.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-23 12:40:39 -04:00
Derek Buitenhuis
e299cb2cd3
fic: Simplify alpha blending
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-22 17:51:43 -04:00
Derek Buitenhuis
6d149d2818
fic: Use proper quantization matrix index
...
The matrices are not zigzagged.
Fixes artefacting.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-22 16:22:08 -04:00
Derek Buitenhuis
9155c595f1
fic: Support rendering cursors
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-22 21:20:23 +01:00
Derek Buitenhuis
40b331e1f4
fic: Use proper quantization matrix index
...
The matrices are not zigzagged.
Fixes artefacting.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-22 21:20:23 +01:00
Michael Niedermayer
6f243b17c5
avcodec/fic: Fix return value check
...
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-21 14:56:17 -04:00
Michael Niedermayer
144f7a561d
avcodec/fic: clear slice_data
...
Fixes artifacts
Fixes use of freed memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-21 14:56:17 -04:00
Michael Niedermayer
f34d3173fc
avcodec/fic: fix slice checks
...
fix integer overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-21 14:56:17 -04:00
Michael Niedermayer
451c78740a
Merge commit '93e15a323871613fd26f1f1e317029a50b5b24ca'
...
* commit '93e15a323871613fd26f1f1e317029a50b5b24ca':
fic: use correct IDCT
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-21 20:20:39 +02:00
Kostya Shishkov
93e15a3238
fic: use correct IDCT
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-21 12:37:54 -04:00
Michael Niedermayer
230db1426d
avcodec/fic: Fix return value check
...
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 02:32:37 +02:00
Michael Niedermayer
6eb08783a9
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
fic: Properly handle skip frames
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-08 00:21:22 +01:00
Derek Buitenhuis
f87a6e500b
fic: Properly handle skip frames
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-03-07 14:54:33 +00:00
Michael Niedermayer
1db8bc5648
avcodec/fic: clear slice_data
...
Fixes artifacts
Fixes use of freed memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-15 17:19:59 +01:00
Michael Niedermayer
d46ef40129
avcodec/fic: fix slice checks
...
fix integer overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-15 17:19:32 +01:00
Michael Niedermayer
0c4bf87b29
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
Mirillis FIC video decoder
Conflicts:
Changelog
configure
libavcodec/Makefile
libavcodec/avcodec.h
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-08 19:02:46 +01:00
Kostya Shishkov
cde7df25ef
Mirillis FIC video decoder
...
Does not contain cursor rendering yet.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-02-08 15:04:13 +00:00