Andreas Rheinhardt
ba191c0ce0
vp9_superframe: Avoid allocations and copies of packet structures
...
Up until now, the vp9_superframe bsf used distinct packets for input and
output. But at no point in the bsf are the input and output packets used
at the same time (except during a call to av_packet_move_ref()), so that
one can avoid using two packets if one switches to ff_bsf_get_packet_ref
at the same time. This also saves one malloc+free of an AVPacket
structure per filtered packet.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2019-10-17 12:35:23 -03:00
Michael Niedermayer
0279e727e9
avcodec/cavsdec: Set ret on errors in decode_pic()
...
Fixes regression and fate failure on some machienes
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-17 13:17:18 +02:00
Andreas Rheinhardt
097c917c14
avcodec/ac3enc: Fix memleak
...
Fixes ticket #8294 .
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
2019-10-17 12:33:50 +02:00
Michael Niedermayer
c70d547751
avcodec/sbcdec: Fix integer overflows in sbc_synthesize_eight()
...
Fixes: signed integer overflow: 518484152 + 1868182638 cannot be represented in type 'int'
Fixes: 17732/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SBC_fuzzer-5663738132168704
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-16 19:17:57 +02:00
Michael Niedermayer
2f66e8436d
avcodec/adpcm: Check initial predictor for ADPCM_IMA_EA_EACS
...
Fixes: signed integer overflow: -2147483360 - 631 cannot be represented in type 'int'
Fixes: 17701/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ADPCM_IMA_EA_EACS_fuzzer-5711517319692288
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-16 19:17:57 +02:00
Michael Niedermayer
07732f12a4
avcodec/g723_1dec: Fix overflow in shift
...
Fixes: shift exponent 1008 is too large for 32-bit type 'int'
Fixes: 17700/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_G723_1_fuzzer-5707633436131328
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-16 19:17:57 +02:00
Michael Niedermayer
5c072c9ed7
avcodec/apedec: Fix integer overflow in predictor_update_3930()
...
Fixes: signed integer overflow: -69555262 * 31 cannot be represented in type 'int'
Fixes: 17698/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_APE_fuzzer-5728970447781888
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-16 19:17:57 +02:00
Michael Niedermayer
0c61661a2c
avcodec/g729postfilter: Fix undefined intermediate pointers
...
Fixes: index -49 out of bounds for type 'int16_t [192]'
Fixes: 17689/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ACELP_KELVIN_fuzzer-5756275014500352
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-16 19:17:57 +02:00
Michael Niedermayer
6a4fdbf112
avcodec/g729postfilter: Fix undefined shifts
...
Fixes: left shift of negative value -12
Fixes: 17689/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ACELP_KELVIN_fuzzer-5756275014500352
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-16 19:17:57 +02:00
Michael Niedermayer
2b93f52cd6
avcodec/lsp: Fix undefined shifts in lsp2poly()
...
Fixes: left shift of negative value -30635
Fixes: 17689/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ACELP_KELVIN_fuzzer-5756275014500352
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-16 19:17:57 +02:00
Michael Niedermayer
ca3d8b471f
avcodec/aacdec_template: Check decode_extension_payload() for failure
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-16 19:17:57 +02:00
Michael Niedermayer
8695fbec57
avcodec/adpcm: Fix left shifts in AV_CODEC_ID_ADPCM_EA
...
Fixes: left shift of negative value -1
Fixes: 17683/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ADPCM_EA_R2_fuzzer-5111690013704192
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-16 19:17:57 +02:00
Michael Niedermayer
5ce3c9eadc
avcodec/smacker: cleanup on errors in smka_decode_frame()
...
Fixes: multiple memleaks
Fixes: 17660/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SMACKAUD_fuzzer-5689769928949760
Fixes: 18064/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SMACKAUD_fuzzer-5631086809317376
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-16 19:17:57 +02:00
Michael Niedermayer
e7113704b2
avcodec/cavsdec: Check remaining bitstream in the main loop in decode_pic()
...
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 >
2019-10-16 19:17:57 +02:00
Michael Niedermayer
7b94b22261
avcodec/apedec: Check remaining space in decode_array_0000()
...
Fixes: Timeout (? -> 2sec)
Fixes: 17886/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_APE_fuzzer-5728165124636672
Fixes: 18131/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_APE_fuzzer-5710803432374272
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-16 18:03:26 +02:00
Michael Niedermayer
926221ef84
avcodec/apedec: Check error flag after entropy_decode*
...
Fixes: 17886/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_APE_fuzzer-5728165124636672
Fixes: 18131/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_APE_fuzzer-5710803432374272
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-16 18:03:26 +02:00
hwren
e71c241bea
lavc/libxavs2: fix parameter setting result determination
...
Signed-off-by: hwren <hwrenx@126.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-15 17:07:50 +02:00
James Almer
62f4722582
avcodec/av1_parse: Use av_fast_realloc() for OBU array
...
Based on commits 22bec0d33f and
cebb446911 .
Signed-off-by: James Almer <jamrial@gmail.com >
2019-10-15 00:00:38 -03:00
James Almer
1e0b6bc0b4
avcodec/av1_parse: simplify memset call
...
Removed (new_size - pkt->nals_allocated) because this value is always 1
during the call.
Based on commit 78b86c30d3 .
Signed-off-by: James Almer <jamrial@gmail.com >
2019-10-15 00:00:02 -03:00
Andriy Gelman
cebb446911
avcodec/h2645_parse: Reset nal_buffer_size on uninit
...
Without reseting nal_buffer_size, av_fast_realloc will fail if
ff_h2645_packet_split is called with the unitialized pkt as argument.
Signed-off-by: James Almer <jamrial@gmail.com >
2019-10-14 23:59:56 -03:00
gxw
21d19f49b7
avcodec/mips: Fixed four warnings in vc1dsp
...
Change the stride argument to ptrdiff_t in the following functions:
ff_put_no_rnd_vc1_chroma_mc8_mmi, ff_put_no_rnd_vc1_chroma_mc4_mmi,
ff_avg_no_rnd_vc1_chroma_mc8_mmi, ff_avg_no_rnd_vc1_chroma_mc4_mmi.
Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-14 00:48:44 +02:00
Michael Niedermayer
e418b315dd
avcodec/wmaprodec: Check that the streams channels do not exceed the overall channels
...
Fixes: NULL pointer dereference
Fixes: 18075/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_XMA1_fuzzer-5708262036471808
Fixes: 18087/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_XMA1_fuzzer-5740627634946048
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-14 00:48:44 +02:00
Andreas Rheinhardt
def04022f4
avcodec/zmbvenc: Correct offset in buffer
...
zmbvenc allocates a buffer for a picture with padding on all four sides:
The stride is choosen so large that it already contains padding on the
right; the height also includes padding rows. The padding on the right
of each row is also reused as padding for the left of the next row. So
one still needs to add padding on the left for the first row. This is done
by offsetting the actual pointer used to access the picture from the
pointer returned by av_mallocz and the formula for this offset was
wrong, because it ignored that a pixel can take more than one byte when
calculating the offset resulting from the left padding of the first row.
This fixes accesses outside of the allocated buffer that were reported
in tickets #7980 and #7994 . No writes were ever attempted outside of
the buffer.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-12 13:39:45 +02:00
Michael Niedermayer
2c7975fe6f
avcodec/qdmc: Check input space in qdmc_get_vlc()
...
Fixes: Timeout (125sec -> 0.4sec)
Fixes: 18059/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_QDMC_fuzzer-5656195825664000
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-12 13:21:50 +02:00
OvchinnikovDmitrii
27da30addd
libavcodec/amfenc_h264.c: Changed loop filter flag default value.
...
The value has been changed to match the recommended(by AMF Encoder team)
2019-10-11 20:30:46 -03:00
Michael Niedermayer
f6df99dba1
avcodec/dstdec: Check for input exhaustion
...
Fixes: Timeout (239sec -> 16sec)
Fixes: 17811/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DST_fuzzer-5715508149616640
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-10 14:34:20 +02:00
Michael Niedermayer
a5d29812ec
avcodec/wmaprodec: Fix cleanup on error
...
Fixes: memleaks
Fixes: 18023/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_XMA2_fuzzer-5642535011090432
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-10 14:34:20 +02:00
Michael Niedermayer
5de19160a3
avcodec/pcm: Check bits_per_coded_sample
...
Fixes: shift exponent -2 is negative
Fixes: 17736/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PCM_F16LE_fuzzer-5742815929171968
Fixes: 17998/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PCM_F24LE_fuzzer-5716980383875072
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-10 14:34:20 +02:00
Limin Wang
6d18b62db9
avcodec/magicyuv: remove duplicate code
...
Signed-off-by: Limin Wang <lance.lmwang@gmail.com >
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-10 14:34:20 +02:00
Michael Niedermayer
b3c25263d1
avcodec/scpr: Check minimum size of type 17
...
Improves: Timeout (85sec -> 46sec)
Improves: 17644/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SCPR_fuzzer-5715704283660288
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-10 14:34:19 +02:00
Michael Niedermayer
080819b3b4
avcodec/exr: Allow duplicate use of channel indexes
...
Fixes: Ticket #8203
Reported-by: durandal_1707
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-10 14:34:19 +02:00
Michael Niedermayer
4a3303d520
avcodec/fitsdec: Fail on 0 naxisn
...
Fixes: Timeout (100+ sec -> 23ms)
Fixes: 17769/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FITS_fuzzer-5678314672357376
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-10 14:34:19 +02:00
Linjie Fu
5345965b3f
lavc/qsvdec: Add GPU-accelerated memory copy support
...
GPU copy enables or disables GPU accelerated copying between video
and system memory. This may lead to a notable performance improvement.
Memory must be sequent and aligned with 128x64.
CMD:
ffmpeg -init_hw_device qsv=hw -filter_hw_device hw -c:v h264_qsv
-gpu_copy on -i input.h264 -f null -
or:
ffmpeg -c:v h264_qsv -gpu_copy on -i input.h264 -f null -
Signed-off-by: Linjie Fu <linjie.fu@intel.com >
Signed-off-by: ChaoX A Liu <chaox.a.liu@intel.com >
Signed-off-by: Zhong Li <zhong.li@intel.com >
2019-10-09 11:27:34 +08:00
Zhong Li
949a1b3e2f
lavc/qsv: remove vaapi device free function
...
It is not needed since av_buffer_unref() will call it internally
Signed-off-by: Zhong Li <zhong.li@intel.com >
2019-10-09 10:44:04 +08:00
Michael Niedermayer
dd9e6d077e
avcodec/dxv: Subtract 12 earlier in dxv_decompress_cocg()
...
the data_start is after reading 12 bytes and if its subtracted
at the very end the intermediate might overflow
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-08 16:24:58 +02:00
Michael Niedermayer
c371e50b4f
libavcodec/dxv: Remove redundant seek
...
This seeks to the position the previous call to dxv_decompress_opcodes()
positioned us in case of success
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-08 16:24:58 +02:00
Michael Niedermayer
7f0498ed46
avcodec/ituh263dec: Check input for minimal frame size
...
Fixes: Timeout (28sec -> 3sec)
Fixes: 17559/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_H263_fuzzer-5681050776240128
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-08 16:24:58 +02:00
Michael Niedermayer
4a660fac98
avcodec/truemotion1: Check that the input has enough space for a minimal index_stream
...
Fixes: Timeout (18sec -> 0.4sec)
Fixes: 17585/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TRUEMOTION1_fuzzer-5117015135617024
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-08 16:24:58 +02:00
Michael Niedermayer
bf0ba75c4a
avcodec/sunrast: Check that the input is large enough for the maximally compressed image
...
Fixes: Timeout (17sec -> 15ms)
Fixes: 17224/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SUNRAST_fuzzer-5663218491457536
Fixes: 17224/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SUNRAST_fuzzer-5735590015795200
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-08 16:24:58 +02:00
Michael Niedermayer
711ad71aea
avcodec/sunrast: Check for availability of maplength before allocating image
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-08 16:24:58 +02:00
Michael Niedermayer
675c6d1e17
avcodec/jpeglsdec: Apply transform only to initialized lines
...
Fixes: Timeout (110sec -> 1sec)
Fixes: 17123/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AMV_fuzzer-5636452758585344
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-08 16:24:58 +02:00
Michael Niedermayer
fe7fbf3a22
avcodec/jpeglsdec: Return error codes from ls_decode_line()
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-08 16:24:58 +02:00
Michael Niedermayer
c552c3ef70
avcodec/flac_parser: Make expected_frame_num, expected_sample_num 64bit
...
Fixes: Integer overflow
Fixes: 17199/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FLAC_fuzzer-5696145187143680
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-08 16:24:58 +02:00
Steven Liu
aea36b6357
avcodec/pngdec: add logging context to log
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Steven Liu <lq@chinaffmpeg.org >
2019-10-08 13:47:31 +08:00
Steven Liu
4aa391388a
avcodec/videotoolbox: add logging context to log
...
Signed-off-by: Steven Liu <lq@chinaffmpeg.org >
2019-10-08 13:47:25 +08:00
Steven Liu
76ab5ebbee
avcodec/mpegvideo_enc: add logging context to log
...
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Steven Liu <lq@chinaffmpeg.org >
2019-10-08 13:47:21 +08:00
elliottk
14941d386a
Change libvpxenc default to crf=32.
...
Current default is 200kbps, which produces inconsistent
results (too high for low-res, too low for hi-res). Use
CRF instead, which will adapt. Affects VP9. Also have
VP8 use a default bitrate of 256kbps.
Signed-off-by: James Zern <jzern@google.com >
2019-10-07 22:32:32 -07:00
Zhong Li
6f0dd6b4ab
lavc/qsv: fix a memory leak in ff_qsv_set_display_handle()
...
Reported-by: Linjie Fu <linjie.fu@intel.com >
Signed-off-by: Zhong Li <zhong.li@intel.com >
2019-10-08 10:25:01 +08:00
Andreas Rheinhardt
1d54309c8a
avcodec/flac_parser: Cosmetics
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
2019-10-07 22:53:40 +02:00
Andreas Rheinhardt
5873feac54
avcodec/flac_parser: Don't leave stale pointer in memory
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
2019-10-07 22:53:34 +02:00