]> git.sesse.net Git - ffmpeg/log
ffmpeg
4 years agolibavcodec/libx265: add a flag to output ROI warnings only once.
Guo, Yejun [Mon, 23 Sep 2019 02:02:35 +0000 (10:02 +0800)]
libavcodec/libx265: add a flag to output ROI warnings only once.

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
4 years agolibavcodec/libx264: add a flag to output ROI warnings only once.
Guo, Yejun [Mon, 23 Sep 2019 02:02:34 +0000 (10:02 +0800)]
libavcodec/libx264: add a flag to output ROI warnings only once.

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
4 years agoavcodec/utils: Optimize ff_color_frame() using memcpy()
Michael Niedermayer [Mon, 24 Dec 2018 00:14:51 +0000 (01:14 +0100)]
avcodec/utils: Optimize ff_color_frame() using memcpy()

4650975 -> 4493240 dezicycles

This optimizes lines 2 and later. Line 1 still uses av_memcpy_backptr()
This change originally fixed ossfuzz 10790 but this is now fixed by other
optimizations already

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/aacdec: Check if we run out of input in read_stream_mux_config()
Michael Niedermayer [Sun, 8 Sep 2019 19:08:31 +0000 (21:08 +0200)]
avcodec/aacdec: Check if we run out of input in read_stream_mux_config()

Fixes: Infinite loop
Fixes: 16920/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AAC_LATM_fuzzer-5653421289373696
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/h264_slice: clear frame only on gaps when it is not otherwise initilaized
Michael Niedermayer [Sun, 8 Sep 2019 17:27:26 +0000 (19:27 +0200)]
avcodec/h264_slice: clear frame only on gaps when it is not otherwise initilaized

Fixes: Timeout (53sec -> 31sec)
Fixes: 16908/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_H264_fuzzer-5711207859748864
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/utils: Use av_memcpy_backptr() in ff_color_frame()
Michael Niedermayer [Sun, 8 Sep 2019 15:25:07 +0000 (17:25 +0200)]
avcodec/utils: Use av_memcpy_backptr() in ff_color_frame()

Fixes: Timeout (191sec -> 53sec)
Fixes: 16908/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_H264_fuzzer-5711207859748864
Fixes: 10709/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_H264_fuzzer-5630617975259136
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/smacker: Fix integer overflow in signed int multiply in SMK_BLK_FILL
Michael Niedermayer [Fri, 6 Sep 2019 08:55:26 +0000 (10:55 +0200)]
avcodec/smacker: Fix integer overflow in signed int multiply in SMK_BLK_FILL

Fixes: signed integer overflow: 238 * 16843009 cannot be represented in type 'int'
Fixes: 16958/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SMACKER_fuzzer-5193905355620352
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/alac: Fix invalid shifts in 20/24 bps
Michael Niedermayer [Fri, 6 Sep 2019 08:46:38 +0000 (10:46 +0200)]
avcodec/alac: Fix invalid shifts in 20/24 bps

Fixes: left shift of negative value -256
Fixes: 16892/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ALAC_fuzzer-4880802642395136
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/alac: fix undefined behavior with INT_MIN in lpc_prediction()
Michael Niedermayer [Fri, 6 Sep 2019 08:36:43 +0000 (10:36 +0200)]
avcodec/alac: fix undefined behavior with INT_MIN in lpc_prediction()

Fixes: signed integer overflow: -2147483648 * -1 cannot be represented in type 'int'
Fixes: 16786/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ALAC_fuzzer-5632818851348480
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavformat/utils: Do not assume duration is non negative in compute_pkt_fields()
Michael Niedermayer [Thu, 5 Sep 2019 21:06:21 +0000 (23:06 +0200)]
avformat/utils: Do not assume duration is non negative in compute_pkt_fields()

Several subtitle demuxers set negative durations

Fixes: signed integer overflow: 9223372036854775807 - -1 cannot be represented in type 'long'
Fixes: 16925/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5766519790764032
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/ffwavesynth: Fix integer overflow in timestamps
Michael Niedermayer [Thu, 5 Sep 2019 18:47:04 +0000 (20:47 +0200)]
avcodec/ffwavesynth: Fix integer overflow in timestamps

Fixes: signed integer overflow: 9223371075321077760 * 2 cannot be represented in type 'long'
Fixes: 16447/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FFWAVESYNTH_fuzzer-5698937431785472
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavformat/vividas: Test size and packet numbers a bit more
Michael Niedermayer [Wed, 4 Sep 2019 14:30:00 +0000 (16:30 +0200)]
avformat/vividas: Test size and packet numbers a bit more

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavformat/vividas: Check n_sb_blocks against input space
Michael Niedermayer [Wed, 4 Sep 2019 14:18:35 +0000 (16:18 +0200)]
avformat/vividas: Check n_sb_blocks against input space

Fixes: OOM
Fixes: 16726/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5719320750981120
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/aacdec_fixed: Add FF_CODEC_CAP_INIT_CLEANUP
Michael Niedermayer [Wed, 4 Sep 2019 13:19:46 +0000 (15:19 +0200)]
avcodec/aacdec_fixed: Add FF_CODEC_CAP_INIT_CLEANUP

Fixes: memleaks
Fixes: 16788/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AAC_FIXED_fuzzer-5649873898045440
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agotools/target_dec_fuzzer: consider potential padding/edge in pixel threshold
Michael Niedermayer [Wed, 4 Sep 2019 12:24:48 +0000 (14:24 +0200)]
tools/target_dec_fuzzer: consider potential padding/edge in pixel threshold

Fixes: Timeout (73sec ->30ms)
Fixes: 16921/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5689384594046976
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agolibavcodec/mpeg12dec: Check input for minimal frame size
Michael Niedermayer [Wed, 4 Sep 2019 13:09:09 +0000 (15:09 +0200)]
libavcodec/mpeg12dec: Check input for minimal frame size

Fixes: Timeout (35sec -> 6sec)
Fixes: 16901/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEGVIDEO_fuzzer-5729024726269952
Fixes: 16901/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEGVIDEO_fuzzer-5642388592132096
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agotools/target_dec_fuzzer: Adjust threshold for MSS2
Michael Niedermayer [Sun, 1 Sep 2019 18:33:58 +0000 (20:33 +0200)]
tools/target_dec_fuzzer: Adjust threshold for MSS2

The decoder is slow

Fixes: Timeout (94sec -> 7sec)
Fixes: 16417/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MSS2_fuzzer-5711668050395136
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/cbs_h264: Automatically free SEI payload on error
Andreas Rheinhardt [Wed, 11 Sep 2019 22:18:29 +0000 (00:18 +0200)]
avcodec/cbs_h264: Automatically free SEI payload on error

If adding an SEI message to an access unit fails, said SEI message was
not touched, so that the caller had to free any data associated with it
that might need to be freed. But given that ff_cbs_h264_add_sei_message
can simply call cbs_h264_free_sei_payload, one can easily free
the content of the SEI payload.

This fixes a memleak when inserting a user data unregistered string for
h264_metadata fails.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
4 years agoavcodec/dxv: Check op_offset in both directions
Michael Niedermayer [Wed, 26 Jun 2019 22:29:06 +0000 (00:29 +0200)]
avcodec/dxv: Check op_offset in both directions

Fixes: signed integer overflow: 61 + 2147483647 cannot be represented in type 'int'
Fixes: 15311/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DXV_fuzzer-5742552826773504
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/truespeech: Eliminate some left shifts
Michael Niedermayer [Fri, 20 Sep 2019 18:16:54 +0000 (20:16 +0200)]
avcodec/truespeech: Eliminate some left shifts

This avoids some invalid shifts

Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/adpcm: Check number of channels for MTAF
Michael Niedermayer [Mon, 23 Sep 2019 21:52:04 +0000 (23:52 +0200)]
avcodec/adpcm: Check number of channels for MTAF

Fixes: out of array access
Fixes: 17608/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ADPCM_MTAF_fuzzer-5074936267276288
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>
4 years agoavcodec/nvenc: fix typo in new Windows driver version
Timo Rothenpieler [Tue, 24 Sep 2019 10:00:00 +0000 (12:00 +0200)]
avcodec/nvenc: fix typo in new Windows driver version

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
4 years agoavfilter/vf_v360: do not use mod where it is not needed
Paul B Mahol [Tue, 24 Sep 2019 09:26:46 +0000 (11:26 +0200)]
avfilter/vf_v360: do not use mod where it is not needed

4 years agoavcodec/exr: cosmetics
Limin Wang [Mon, 23 Sep 2019 13:31:33 +0000 (21:31 +0800)]
avcodec/exr: cosmetics

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavformat/hashenc: fix incorrect use of av_mallocz_array()
Moritz Barsnick [Sun, 22 Sep 2019 12:24:11 +0000 (14:24 +0200)]
avformat/hashenc: fix incorrect use of av_mallocz_array()

Fixes CID 1453867, CID 1453866, CID 1453865.

Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/nvenc: add driver version info for SDK 9.1
Timo Rothenpieler [Mon, 23 Sep 2019 13:47:27 +0000 (15:47 +0200)]
avcodec/nvenc: add driver version info for SDK 9.1

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
4 years agoavcodec/bsf: check that AVBSFInternal was allocated before dereferencing it
James Almer [Mon, 23 Sep 2019 02:55:49 +0000 (23:55 -0300)]
avcodec/bsf: check that AVBSFInternal was allocated before dereferencing it

This can happen when av_bsf_free() is called on av_bsf_alloc() failure.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
4 years agoavfilter/vf_v360: fix regression introduced in b342678bc47b4e5
Paul B Mahol [Mon, 23 Sep 2019 10:27:41 +0000 (12:27 +0200)]
avfilter/vf_v360: fix regression introduced in b342678bc47b4e5

4 years agoavformat/dashdec: fix segfault when parsing segmentlist
vectronic [Mon, 16 Sep 2019 10:44:28 +0000 (11:44 +0100)]
avformat/dashdec: fix segfault when parsing segmentlist

index into segmentlists_tab was specified as 4 instead of 3 causing invalid access

further fix to: 8135

Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: vectronic <hello.vectronic@gmail.com>
4 years agoavformat/dashdec: fix pointer being freed was not allocated
vectronic [Mon, 16 Sep 2019 10:44:27 +0000 (11:44 +0100)]
avformat/dashdec: fix pointer being freed was not allocated

prevent attempt to call xmlFree if val was not allocated
fixes: 8135

Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: vectronic <hello.vectronic@gmail.com>
4 years agoavfilter/vf_v360: adjust h for mercator input/output
Paul B Mahol [Sun, 22 Sep 2019 20:34:13 +0000 (22:34 +0200)]
avfilter/vf_v360: adjust h for mercator input/output

4 years agoavfilter/vf_v360: fix xyz_to_mercator()
Paul B Mahol [Sun, 22 Sep 2019 20:31:07 +0000 (22:31 +0200)]
avfilter/vf_v360: fix xyz_to_mercator()

4 years agoavfilter/vf_v360: fix mercator_to_xyz()
Paul B Mahol [Sun, 22 Sep 2019 18:52:40 +0000 (20:52 +0200)]
avfilter/vf_v360: fix mercator_to_xyz()

4 years agoavfilter/v360: reduce size of some struct members
Paul B Mahol [Sun, 22 Sep 2019 17:55:31 +0000 (19:55 +0200)]
avfilter/v360: reduce size of some struct members

4 years agoavformat/y4m: do not try to seek if pts is less than 0
Paul B Mahol [Sun, 22 Sep 2019 17:24:17 +0000 (19:24 +0200)]
avformat/y4m: do not try to seek if pts is less than 0

Fixes #8193.

4 years agoavcodec/sunrast: Fix indention
Michael Niedermayer [Sat, 21 Sep 2019 16:06:24 +0000 (18:06 +0200)]
avcodec/sunrast: Fix indention

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/sunrast: Fix return type for "unsupported (compression) type"
Michael Niedermayer [Sat, 21 Sep 2019 16:06:02 +0000 (18:06 +0200)]
avcodec/sunrast: Fix return type for "unsupported (compression) type"

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavutil/opt: Fix type specifier
Andreas Rheinhardt [Sat, 21 Sep 2019 09:15:42 +0000 (11:15 +0200)]
avutil/opt: Fix type specifier

This bug has been introduced in 9e0a071e.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavfilter/vf_v360: add fixed pixel padding options
Paul B Mahol [Sun, 22 Sep 2019 12:01:14 +0000 (14:01 +0200)]
avfilter/vf_v360: add fixed pixel padding options

4 years agoavfilter/vf_v360: remove intermediate variables
Paul B Mahol [Sun, 22 Sep 2019 09:29:03 +0000 (11:29 +0200)]
avfilter/vf_v360: remove intermediate variables

4 years agotools/patcheck: remove gcc-2.95 compat check
James Zern [Fri, 20 Sep 2019 07:04:06 +0000 (00:04 -0700)]
tools/patcheck: remove gcc-2.95 compat check

this conflicts with the current contributing guidance:
http://ffmpeg.org/developer.html#Contributing
FFmpeg is programmed in the ISO C90 language with a few additional
features from ISO C99, namely:
...
for loops with variable definition (‘for (int i = 0; i < 8; i++)’);

Signed-off-by: James Zern <jzern@google.com>
4 years agoavfilter/vf_v360: fix comparison with float value
Paul B Mahol [Sat, 21 Sep 2019 19:35:39 +0000 (21:35 +0200)]
avfilter/vf_v360: fix comparison with float value

4 years agoavfilter/vf_v360: simplify xyz_to_dfisheye() calculations
Paul B Mahol [Sat, 21 Sep 2019 19:33:03 +0000 (21:33 +0200)]
avfilter/vf_v360: simplify xyz_to_dfisheye() calculations

4 years agoavfilter/vf_v360: simplify dfisheye_to_xyz() calculations
Paul B Mahol [Sat, 21 Sep 2019 19:17:37 +0000 (21:17 +0200)]
avfilter/vf_v360: simplify dfisheye_to_xyz() calculations

4 years agoavfilter/avf_showfreqs: fix check for failed allocation
Paul B Mahol [Sat, 21 Sep 2019 17:07:42 +0000 (19:07 +0200)]
avfilter/avf_showfreqs: fix check for failed allocation

4 years agoavformat/latmenc: fix context used for logging
James Almer [Sat, 21 Sep 2019 15:31:11 +0000 (12:31 -0300)]
avformat/latmenc: fix context used for logging

Signed-off-by: James Almer <jamrial@gmail.com>
4 years agoavfilter/vf_v360: simplify ball_to_xyz() calculations
Paul B Mahol [Sat, 21 Sep 2019 14:21:36 +0000 (16:21 +0200)]
avfilter/vf_v360: simplify ball_to_xyz() calculations

4 years agoavfilter/vf_v360: simplify xyz_to_ball() calculations
Paul B Mahol [Sat, 21 Sep 2019 14:07:16 +0000 (16:07 +0200)]
avfilter/vf_v360: simplify xyz_to_ball() calculations

4 years agoavfilter/vf_v360: add hammer projection
Paul B Mahol [Sat, 21 Sep 2019 13:29:18 +0000 (15:29 +0200)]
avfilter/vf_v360: add hammer projection

4 years agoavfilter/vf_v360: use lrintf() in kernel
Paul B Mahol [Sat, 21 Sep 2019 08:45:15 +0000 (10:45 +0200)]
avfilter/vf_v360: use lrintf() in kernel

4 years agoavfilter/vf_v360: fix small artifacts between corners in EAC format
Paul B Mahol [Sat, 21 Sep 2019 08:31:59 +0000 (10:31 +0200)]
avfilter/vf_v360: fix small artifacts between corners in EAC format

4 years agoavformat/hashenc: add streamhash muxer
Moritz Barsnick [Thu, 12 Sep 2019 09:23:06 +0000 (11:23 +0200)]
avformat/hashenc: add streamhash muxer

Implemented as a variant of the hash muxer, reusing most functions,
and making use of the previously introduced array of hashes.

Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavformat/hashenc: use an array of hashes
Moritz Barsnick [Thu, 12 Sep 2019 09:23:05 +0000 (11:23 +0200)]
avformat/hashenc: use an array of hashes

Only the first element of the array is used currently, the other
elements are in preparation for a new muxer calculating multiple
hashes.

Also move alloc/init code from the write_header() functions to
dedicated init() functions, and the cleanup code from the
write_trailer() functions to dedicated deinit() functions.

hash_free() and framehash_free() turn out to be identical here,
but will differ in the subsequent commit, so they are not consolidated.

Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavformat/hashenc: rearrange options definition
Moritz Barsnick [Thu, 12 Sep 2019 09:23:04 +0000 (11:23 +0200)]
avformat/hashenc: rearrange options definition

Only the frame* muxers support the format_version option.
Use macros to ease the proliferation of identical options to
coming muxers as well.

Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavutil/encryption_info: Don't pass NULL to memcpy
Andreas Rheinhardt [Wed, 18 Sep 2019 00:03:58 +0000 (02:03 +0200)]
avutil/encryption_info: Don't pass NULL to memcpy

The pointer arguments to memcpy (and several other functions of the
C standard library) are not allowed to be NULL, not even when the number
of bytes to copy is zero. An AVEncryptionInitInfo's data pointer is
explicitly allowed to be NULL and yet av_encryption_init_info_add_side_data
unconditionally used it as a source pointer to copy from. This commit changes
this so that copying is only done if the number of bytes to copy is > 0.

Fixes ticket #8141 as well as a part of ticket #8150.

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>
4 years agotools/target_dec_fuzzer: fuzz channels and sample_rate too
Michael Niedermayer [Fri, 20 Sep 2019 08:25:34 +0000 (10:25 +0200)]
tools/target_dec_fuzzer: fuzz channels and sample_rate too

This should increase coverage over more audio decoders.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/utils: Check channels fully earlier
Michael Niedermayer [Fri, 20 Sep 2019 08:25:05 +0000 (10:25 +0200)]
avcodec/utils: Check channels fully earlier

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavformat/rtpenc_mpegts: copy metadata to mpegts sub-muxer
Moritz Barsnick [Mon, 2 Jul 2018 11:38:04 +0000 (13:38 +0200)]
avformat/rtpenc_mpegts: copy metadata to mpegts sub-muxer

Fixes #7293.

Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavformat/aiffdec: parse replaygain metadata
Moritz Barsnick [Wed, 13 Mar 2019 09:17:40 +0000 (10:17 +0100)]
avformat/aiffdec: parse replaygain metadata

Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavutil/opt: Print out numeric values of option constants
Soft Works [Tue, 17 Sep 2019 01:09:05 +0000 (01:09 +0000)]
avutil/opt: Print out numeric values of option constants

It's often not obvious how option constants relate to numerical values.
Defaults are sometimes printed as numbers and from/to are always printed as numbers.
Printing the numeric values of options constants avoids this confusion.
It also allows to see which constants are equivalent.

Before this patch:

  -segment_list_type <int>        E........ set the segment list type (from -1 to 4) (default -1)
     flat                         E........ flat format
     csv                          E........ csv format
     ext                          E........ extended format
     ffconcat                     E........ ffconcat format
     m3u8                         E........ M3U8 format
     hls                          E........ Apple HTTP Live Streaming compatible

Afterwards:

  -segment_list_type <int>        E........ set the segment list type (from -1 to 4) (default -1)
     flat            0            E........ flat format
     csv             1            E........ csv format
     ext             3            E........ extended format
     ffconcat        4            E........ ffconcat format
     m3u8            2            E........ M3U8 format
     hls             2            E........ Apple HTTP Live Streaming compatible

Signed-off-by: softworkz <softworkz@hotmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavutil/opt: Fix printing integer option defaults
Soft Works [Tue, 17 Sep 2019 01:36:33 +0000 (01:36 +0000)]
avutil/opt: Fix printing integer option defaults

Integer values should not be printed using format specifier '%g' which leads to inexact display in case of higher values.

Before this patch:
  -trans_color       <int>        .D.V..... color value [...] (default 1.67772e+07)

Afterwards:
  -trans_color       <int>        .D.V..... color value [...] (default 16777215)

Signed-off-by: softworkz <softworkz@hotmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/ac3enc: Fix invalid shift
Andreas Rheinhardt [Thu, 19 Sep 2019 22:17:06 +0000 (00:17 +0200)]
avcodec/ac3enc: Fix invalid shift

Fixes the FATE-tests unknown_layout-ac3, ac3-fixed-encode, ac3-encode
and eac3-encode. It furthermore fixes the ac3-encoder bugs mentioned in
tickets #7994, #8144 and #8159.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/g723_1dec: Fix invalid shift
Andreas Rheinhardt [Thu, 19 Sep 2019 22:17:04 +0000 (00:17 +0200)]
avcodec/g723_1dec: Fix invalid shift

Fixes the FATE-tests g723_1-dec-1, g723_1-dec-2 and g723_1-dec-4.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/tdsc: Fix undefined shifts
Andreas Rheinhardt [Thu, 19 Sep 2019 22:16:59 +0000 (00:16 +0200)]
avcodec/tdsc: Fix undefined shifts

Fixes the tdsc FATE-test.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavfilter/vf_v360: remove uneeded array element
Paul B Mahol [Fri, 20 Sep 2019 19:41:12 +0000 (21:41 +0200)]
avfilter/vf_v360: remove uneeded array element

4 years agoavfilter/vf_v360: add support for mirroring to ball input format
Paul B Mahol [Fri, 20 Sep 2019 19:34:46 +0000 (21:34 +0200)]
avfilter/vf_v360: add support for mirroring to ball input format

4 years agoavfilter/vf_v360: adjust kernel after latest change
Paul B Mahol [Fri, 20 Sep 2019 17:14:38 +0000 (19:14 +0200)]
avfilter/vf_v360: adjust kernel after latest change

4 years agoavfilter/vf_v360: fix various artifacts with cubemaps
Paul B Mahol [Fri, 20 Sep 2019 16:14:41 +0000 (18:14 +0200)]
avfilter/vf_v360: fix various artifacts with cubemaps

4 years agoavfilter/vf_v360: improve description about s in comments
Paul B Mahol [Fri, 20 Sep 2019 15:40:34 +0000 (17:40 +0200)]
avfilter/vf_v360: improve description about s in comments

4 years agolibavfilter/dnn: support multiple outputs for native mode
Guo, Yejun [Fri, 20 Sep 2019 03:56:10 +0000 (11:56 +0800)]
libavfilter/dnn: support multiple outputs for native mode

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
4 years agolibavfilter/dnn/dnn_backend_native: find the input operand according to input name
Guo, Yejun [Fri, 20 Sep 2019 03:56:03 +0000 (11:56 +0800)]
libavfilter/dnn/dnn_backend_native: find the input operand according to input name

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
4 years agoFATE/dnn: add unit test for layer maximum
Guo, Yejun [Fri, 20 Sep 2019 03:55:55 +0000 (11:55 +0800)]
FATE/dnn: add unit test for layer maximum

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
4 years agolibavfilter/dnn: add layer maximum for native mode.
Guo, Yejun [Fri, 20 Sep 2019 03:55:48 +0000 (11:55 +0800)]
libavfilter/dnn: add layer maximum for native mode.

The reason to add this layer is that it is used by srcnn in vf_sr.
This layer is currently ignored in native mode. After this patch,
we can add multiple outputs support for native mode.

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
4 years agoDelete unused branch in libaomenc
elliottk [Sun, 15 Sep 2019 21:02:50 +0000 (14:02 -0700)]
Delete unused branch in libaomenc

this branch is leftover from libvpxenc+vp8

Signed-off-by: James Zern <jzern@google.com>
4 years agoavcodec/libvpxenc: add ROI-based encoding support for VP8/VP9
Guo, Yejun [Thu, 12 Sep 2019 10:25:21 +0000 (18:25 +0800)]
avcodec/libvpxenc: add ROI-based encoding support for VP8/VP9

example command line to verify it:
./ffmpeg -i input.stream -vf addroi=0:0:iw/3:ih/3:-0.8 -c:v libvpx -b:v 2M tmp.webm

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: James Zern <jzern@google.com>
4 years agoavformat/movenc: don't hardcode the colr box size
James Almer [Fri, 20 Sep 2019 00:32:40 +0000 (21:32 -0300)]
avformat/movenc: don't hardcode the colr box size

Signed-off-by: James Almer <jamrial@gmail.com>
4 years agolavc/cook: Remove an incorrect comment.
Carl Eugen Hoyos [Thu, 19 Sep 2019 23:36:13 +0000 (01:36 +0200)]
lavc/cook: Remove an incorrect comment.

Multichannel cook was implemented in 67da3182.

4 years agoavformat/mpegts: add support for EPG extraction from mpegts
Anthony Delannoy [Wed, 21 Aug 2019 09:46:56 +0000 (11:46 +0200)]
avformat/mpegts: add support for EPG extraction from mpegts

Signed-off-by: Marton Balint <cus@passwd.hu>
4 years agoavcodec: add EPG codec ID
Anthony Delannoy [Wed, 21 Aug 2019 09:36:15 +0000 (11:36 +0200)]
avcodec: add EPG codec ID

Signed-off-by: Marton Balint <cus@passwd.hu>
4 years agoavformat/mpegts: add all well known PIDs and TIDs to mpegts.h
Anthony Delannoy [Fri, 26 Jul 2019 09:41:00 +0000 (11:41 +0200)]
avformat/mpegts: add all well known PIDs and TIDs to mpegts.h

Signed-off-by: Marton Balint <cus@passwd.hu>
4 years agoavfilter/dnn: fix inclusion guard in dnn/dnn_backend_native_layer_depth2space.h
Marton Balint [Thu, 19 Sep 2019 19:28:10 +0000 (21:28 +0200)]
avfilter/dnn: fix inclusion guard in dnn/dnn_backend_native_layer_depth2space.h

Fixes fate-source failure.

Signed-off-by: Marton Balint <cus@passwd.hu>
4 years agoavfilter/vf_v360: add ball projection format
Paul B Mahol [Thu, 19 Sep 2019 16:36:19 +0000 (18:36 +0200)]
avfilter/vf_v360: add ball projection format

4 years agoFATE/dnn: add unit test for dnn depth_to_space layer
Guo, Yejun [Thu, 5 Sep 2019 06:00:54 +0000 (14:00 +0800)]
FATE/dnn: add unit test for dnn depth_to_space layer

'make fate-dnn-layer-depth2space' to run the test

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
4 years agolibavfilter/dnn: separate depth_to_space layer from dnn_backend_native.c to a new...
Guo, Yejun [Thu, 5 Sep 2019 06:00:46 +0000 (14:00 +0800)]
libavfilter/dnn: separate depth_to_space layer from dnn_backend_native.c to a new file

the logic is that one layer in one separated source file to make
the source files simple for maintaining.

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
4 years agoFATE/dnn: add unit test for dnn conv2d layer
Guo, Yejun [Thu, 5 Sep 2019 06:00:39 +0000 (14:00 +0800)]
FATE/dnn: add unit test for dnn conv2d layer

'make fate-dnn-layer-conv2d' to run the test

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
4 years agolibavfilter/dnn: separate conv2d layer from dnn_backend_native.c to a new file
Guo, Yejun [Thu, 5 Sep 2019 06:00:28 +0000 (14:00 +0800)]
libavfilter/dnn: separate conv2d layer from dnn_backend_native.c to a new file

the logic is that one layer in one separated source file to make
the source files simple for maintaining.

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
4 years agoavcodec/v210enc: move v210_enc_8/10 function to template file
Limin Wang [Tue, 17 Sep 2019 03:42:28 +0000 (11:42 +0800)]
avcodec/v210enc: move v210_enc_8/10 function to template file

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/v210enc: make 8bit and 10bit process consistent
Limin Wang [Tue, 17 Sep 2019 03:42:27 +0000 (11:42 +0800)]
avcodec/v210enc: make 8bit and 10bit process consistent

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/v210enc: add depth parameter for WRITE_PIXELS and CLIP
Limin Wang [Tue, 17 Sep 2019 03:42:26 +0000 (11:42 +0800)]
avcodec/v210enc: add depth parameter for WRITE_PIXELS and CLIP

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavutil/common: Fix undefined shift
Andreas Rheinhardt [Wed, 18 Sep 2019 03:26:07 +0000 (05:26 +0200)]
avutil/common: Fix undefined shift

av_mod_uintp2_c uses a bitwise AND with (1 << p) - 1 to clear the high
bits of an unsigned int. But this is undefined if p == 31, because 1 is
an int and 2^31 is not representable in an int. So make 1 unsigned.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/avpacket: Improve allocating packets
Andreas Rheinhardt [Wed, 18 Sep 2019 03:26:05 +0000 (05:26 +0200)]
avcodec/avpacket: Improve allocating packets

av_mallocz + av_init_packet leads to the same result as av_mallocz +
av_packet_unref, but faster.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavcodec/mjpegdec: Unify switch statements
Andreas Rheinhardt [Wed, 18 Sep 2019 03:25:59 +0000 (05:25 +0200)]
avcodec/mjpegdec: Unify switch statements

This has been forgotten in d5a3a20d.

Found via PVS-Studio (see ticket #8156).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavformat/utils: Preserve integrity of linked list
Andreas Rheinhardt [Mon, 19 Aug 2019 21:56:19 +0000 (23:56 +0200)]
avformat/utils: Preserve integrity of linked list

1. Instead of relying on ff_packet_list_get to get the oldest element in
an AVPacketList, ff_read_packet used its own ad-hoc code. Said code
forgot to set the end of the list to NULL if the last element of the
list has been removed, thereby leaving the list in an inconsistent state.
2. Furthermore, if the list was not empty, the oldest element of the
list would always be copied into another packet structure before it was
known whether the oldest entry of the list would be removed. This makes
the ownership confusing and potentially copies unnecessarily.

Both of these issues have been fixed. ff_packet_list_get is used now.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavformat/internal: Improve documentation of ff_packet_list_get
Andreas Rheinhardt [Mon, 19 Aug 2019 21:56:18 +0000 (23:56 +0200)]
avformat/internal: Improve documentation of ff_packet_list_get

The documentation of ff_packet_list_get currently didn't match the
actual usage:
1. It said that the destination packet is supposed to be initialized.
But this makes no sense given that it will be overwritten completely and
flacenc, mp3enc and ttaenc ignored this.
2. ff_packet_list_get returns an int, although it can't fail in case the
packet list is not empty (for which there is an assert). Again, several
callers didn't check for any return value.
In both cases, the documentation has been adapted to match actual usage.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agocheckasm/opusdsp: declare opus_deemphasis as a function returning a float
James Almer [Wed, 18 Sep 2019 14:23:36 +0000 (11:23 -0300)]
checkasm/opusdsp: declare opus_deemphasis as a function returning a float

Fixes ticket #8175

Signed-off-by: James Almer <jamrial@gmail.com>
4 years agodoc: various spelling, grammar and formatting fixes
Moritz Barsnick [Tue, 17 Sep 2019 08:21:02 +0000 (10:21 +0200)]
doc: various spelling, grammar and formatting fixes

Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
4 years agolavf/mpegts: Support demuxing AVS2.
hwrenx [Wed, 18 Sep 2019 00:18:13 +0000 (02:18 +0200)]
lavf/mpegts: Support demuxing AVS2.

4 years agoavfilter/vf_v360: add mercator projection
Paul B Mahol [Tue, 17 Sep 2019 20:15:07 +0000 (22:15 +0200)]
avfilter/vf_v360: add mercator projection

4 years agotools/target_dec_fuzzer: Adjust threshold for binkvideo
Michael Niedermayer [Sat, 14 Sep 2019 21:39:49 +0000 (23:39 +0200)]
tools/target_dec_fuzzer: Adjust threshold for binkvideo

Fixes: Timeout (89sec -> 7sec)
Fixes: 17035/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_BINK_fuzzer-5737222422134784
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoavformat/mov: Check for EOF in mov_read_meta()
Michael Niedermayer [Fri, 30 Aug 2019 23:25:03 +0000 (01:25 +0200)]
avformat/mov: Check for EOF in mov_read_meta()

Fixes: Timeout (195sec -> 2ms)
Fixes: 16735/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5090676403863552
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>