ffmpeg.git
5 months agoavcodec/ffv1dec_template: Check for the end of input after 1024 pixels
Michael Niedermayer [Mon, 8 Oct 2018 01:35:58 +0000 (03:35 +0200)]
avcodec/ffv1dec_template: Check for the end of input after 1024 pixels

Fixes: Timeout
Fixes: 10385/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FFV1_fuzzer-5689206987292672

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/aacdec_template: Allow duplicated elements
Michael Niedermayer [Sun, 7 Oct 2018 11:03:00 +0000 (13:03 +0200)]
avcodec/aacdec_template: Allow duplicated elements

Such streams are invalid according to
4.5.2.1 Top level payloads for the audio object types AAC main, AAC SSR, AAC LC and AAC LTP
4.5.2.1.1 Definitions
...cIn the raw_data_block(), several instances of the
same syntactic element may occur, but must have a different 4 bit
element_instance_tag, except for data_stream_element()'s and
fill_element()'s.

Fixes: Ticket7477

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavformat/dashenc: only write video streams into HLS master playlist
Jian Yang [Fri, 14 Sep 2018 07:08:17 +0000 (15:08 +0800)]
avformat/dashenc: only write video streams into HLS master playlist

Tool mediastreamvalidator reports error "Variant media_[N].m3u8 is
missing audio group" for audio streams in HLS master playlist. As audio
streams are already listed in audio group, skip them as variant media
streams in master playlist.

5 months agolavu/qsv: make a copy as libmfx alignment requirement for uploading
Zhong Li [Mon, 17 Sep 2018 11:16:44 +0000 (19:16 +0800)]
lavu/qsv: make a copy as libmfx alignment requirement for uploading

Libmfx requires 16 bytes aligned input/output for uploading.
Currently only output is 16 byte aligned and assigning same width/height to
input with smaller buffer size actually, thus definitely will cause segment fault.

Can reproduce with any 1080p nv12 rawvideo input:
ffmpeg -init_hw_device qsv=qsv:hw -hwaccel qsv -filter_hw_device qsv -f rawvideo -pix_fmt nv12 -s:v 1920x1080
-i 1080p_nv12.yuv -vf 'format=nv12,hwupload=extra_hw_frames=16,hwdownload,format=nv12' -an -y out_nv12.yuv

It can fix #7418

Signed-off-by: Zhong Li <zhong.li@intel.com>
5 months agolavu/hwcontext_qsv: Add support for AV_PIX_FMT_BGRA.
Zhong Li [Mon, 21 May 2018 09:58:52 +0000 (17:58 +0800)]
lavu/hwcontext_qsv: Add support for AV_PIX_FMT_BGRA.

RGB32(AV_PIX_FMT_BGRA on intel platforms) format may be used as overlay with alpha blending.
So add AV_PIX_FMT_BGRA format support.

One example of alpha blending overlay: ffmpeg -hwaccel qsv -c:v h264_qsv -i BA1_Sony_D.jsv
-filter_complex 'movie=lena-rgba.png,hwupload=extra_hw_frames=16[a];[0:v][a]overlay_qsv=x=10:y=10'
-c:v h264_qsv -y out.mp4

Rename RGB32 to be BGRA to make it clearer as Mark Thompson's suggestion.

V2: Add P010 format support else will introduce HEVC 10bit encoding regression.
    Thanks for LinJie's discovery.

Signed-off-by: Zhong Li <zhong.li@intel.com>
Verified-by: Fu, Linjie <linjie.fu@intel.com>
5 months agoavfilter/af_afir: remove again option, merge it with gtype
Paul B Mahol [Wed, 10 Oct 2018 17:55:30 +0000 (19:55 +0200)]
avfilter/af_afir: remove again option, merge it with gtype

5 months agolibavfilter: bump micro version to 101
Daniel Molkentin [Tue, 9 Oct 2018 12:32:58 +0000 (14:32 +0200)]
libavfilter: bump micro version to 101

5 months agolibavfilter/ebur128: add scale parameter
Daniel Molkentin [Tue, 9 Oct 2018 12:32:57 +0000 (14:32 +0200)]
libavfilter/ebur128: add scale parameter

This allows switching between absolute (LUFS) and relativ (LU) display
in the status line.

Signed-off-by: Daniel Molkentin <daniel@molkentin.de>
Signed-off-by: Conrad Zelck <c.zelck@imail.de>
5 months agolibavfilter/ebur128: introduce target range
Daniel Molkentin [Tue, 9 Oct 2018 12:32:56 +0000 (14:32 +0200)]
libavfilter/ebur128: introduce target range

This eases meeting the target level during live mixing.

Signed-off-by: Daniel Molkentin <daniel@molkentin.de>
Signed-off-by: Conrad Zelck <c.zelck@imail.de>
5 months agolibavfilter/ebur128: add gauge option
Daniel Molkentin [Tue, 9 Oct 2018 12:32:55 +0000 (14:32 +0200)]
libavfilter/ebur128: add gauge option

Allow to show short-term instead of momentary in gauge. Useful for monitoring
whilst live mixing.

Signed-off-by: Daniel Molkentin <daniel@molkentin.de>
Signed-off-by: Conrad Zelck <c.zelck@imail.de>
5 months agolibavfilter/ebur128: add target value to statistics line
Daniel Molkentin [Tue, 9 Oct 2018 12:32:54 +0000 (14:32 +0200)]
libavfilter/ebur128: add target value to statistics line

Signed-off-by: Daniel Molkentin <daniel@molkentin.de>
Signed-off-by: Conrad Zelck <c.zelck@imail.de>
5 months agolibavfilter/ebur128: add target level option for EBUR128 visualization filter
Daniel Molkentin [Tue, 9 Oct 2018 12:32:53 +0000 (14:32 +0200)]
libavfilter/ebur128: add target level option for EBUR128 visualization filter

Signed-off-by: Daniel Molkentin <daniel@molkentin.de>
Signed-off-by: Conrad Zelck <c.zelck@imail.de>
5 months agolavf/ftp: Remove an unneeded forward declaration.
Carl Eugen Hoyos [Tue, 9 Oct 2018 20:49:34 +0000 (22:49 +0200)]
lavf/ftp: Remove an unneeded forward declaration.

5 months agoavfilter/af_asetnsamples: do not leak frame on ENOMEM
Marton Balint [Sun, 7 Oct 2018 20:47:19 +0000 (22:47 +0200)]
avfilter/af_asetnsamples: do not leak frame on ENOMEM

Fixes Coverity CID 1416352.

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoffmpeg: check return value of avcodec_parameters_from_context
Marton Balint [Sun, 7 Oct 2018 20:16:49 +0000 (22:16 +0200)]
ffmpeg: check return value of avcodec_parameters_from_context

Fixes Coverity CID 1427273.

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavfilter/f_cue: always check the return value of ff_inlink_consume_frame
Marton Balint [Sun, 7 Oct 2018 19:48:45 +0000 (21:48 +0200)]
avfilter/f_cue: always check the return value of ff_inlink_consume_frame

Fixes Coverity CID 1439936.

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoh264_slice: Copy the value of x264_build before calling h264_slice_header_init during...
Derek Buitenhuis [Mon, 8 Oct 2018 15:33:26 +0000 (11:33 -0400)]
h264_slice: Copy the value of x264_build before calling h264_slice_header_init during thread init

If we don't copy this value first, it is seen as 0 by h264_slice_header_init,
due to zero-allocation of the new context, triggering an old hack that
multiplied the denominator by 2 for files produced by old x264 versions, but
only if more than one thread was used.

Fixes #7475 and #7083.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 months agoavfilter/f_reverse: add packed sample format support to areverse
Paul B Mahol [Mon, 8 Oct 2018 11:33:22 +0000 (13:33 +0200)]
avfilter/f_reverse: add packed sample format support to areverse

5 months agoavfilter/af_silenceremove: fix max for duration options
Paul B Mahol [Mon, 8 Oct 2018 10:22:12 +0000 (12:22 +0200)]
avfilter/af_silenceremove: fix max for duration options

5 months agoffplay: add options to specify window position
Dave Rice [Mon, 1 Oct 2018 21:07:44 +0000 (17:07 -0400)]
ffplay: add options to specify window position

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavutil/tests/parseutils: add some big duration tests
Marton Balint [Sun, 30 Sep 2018 20:10:09 +0000 (22:10 +0200)]
avutil/tests/parseutils: add some big duration tests

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavutil/parseutils: fix some overflows in duration calculations
Marton Balint [Sun, 30 Sep 2018 20:34:41 +0000 (22:34 +0200)]
avutil/parseutils: fix some overflows in duration calculations

Also properly return AVERROR(ERANGE) in case of actual overflows.

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavutil/opt: check for minimum and maximum values when setting AV_OPT_TYPE_DURATION...
Marton Balint [Sun, 30 Sep 2018 19:30:10 +0000 (21:30 +0200)]
avutil/opt: check for minimum and maximum values when setting AV_OPT_TYPE_DURATION fields

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavformat/segment: fix segment_time_delta option min/max value
Marton Balint [Sun, 30 Sep 2018 19:23:55 +0000 (21:23 +0200)]
avformat/segment: fix segment_time_delta option min/max value

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavfilter/af_afade: fix crossfade duration maximum value
Marton Balint [Sun, 30 Sep 2018 19:18:26 +0000 (21:18 +0200)]
avfilter/af_afade: fix crossfade duration maximum value

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavfilter/af_afade: add logistic sigmoid curve
Paul B Mahol [Sun, 7 Oct 2018 15:38:22 +0000 (17:38 +0200)]
avfilter/af_afade: add logistic sigmoid curve

5 months agoavfilter/avf_showspectrum: add legend support to showspectrum filter
Paul B Mahol [Sun, 7 Oct 2018 10:10:59 +0000 (12:10 +0200)]
avfilter/avf_showspectrum: add legend support to showspectrum filter

5 months agoavformat/utils: Fix potential integer overflow in extract_extradata()
Michael Niedermayer [Wed, 26 Sep 2018 22:00:26 +0000 (00:00 +0200)]
avformat/utils: Fix potential integer overflow in extract_extradata()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavformat/utils: Do not use "i" as a context pointer, "i" is normally the integer...
Michael Niedermayer [Wed, 26 Sep 2018 22:00:25 +0000 (00:00 +0200)]
avformat/utils: Do not use "i" as a context pointer, "i" is normally the integer counter in loops

This avoids surprising developers. Its bad to surprise developers with
such unexpected things.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavformat/utils: Do not ignore failure in extract_extradata_init()
Michael Niedermayer [Wed, 26 Sep 2018 22:00:24 +0000 (00:00 +0200)]
avformat/utils: Do not ignore failure in extract_extradata_init()

We check for the documented explanation of the "Ignore code" in extract_extradata_check() already

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/speedhq: Make speedhq_vlc const
Michael Niedermayer [Wed, 19 Sep 2018 16:05:32 +0000 (18:05 +0200)]
avcodec/speedhq: Make speedhq_vlc const

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavfilter/vf_tonemap_opencl: Fix seperate typo
Michael Niedermayer [Wed, 19 Sep 2018 16:05:30 +0000 (18:05 +0200)]
avfilter/vf_tonemap_opencl: Fix seperate typo

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/vc1_loopfilter: Fix colums typos
Michael Niedermayer [Wed, 19 Sep 2018 16:05:29 +0000 (18:05 +0200)]
avcodec/vc1_loopfilter: Fix colums typos

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agolibavcodec/v4l2_buffers.h: fix cant typos
Michael Niedermayer [Wed, 19 Sep 2018 16:05:28 +0000 (18:05 +0200)]
libavcodec/v4l2_buffers.h: fix cant typos

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavfilter/af_biquads: Remove l from %lf in av_log environment
Michael Niedermayer [Wed, 19 Sep 2018 16:05:27 +0000 (18:05 +0200)]
avfilter/af_biquads: Remove l from %lf in av_log environment

The l modifier does nothing in C99 and it was undefined in C89 for %f

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavfilter/af_aiir: Remove l from %lf in av_log environment
Michael Niedermayer [Wed, 19 Sep 2018 16:05:26 +0000 (18:05 +0200)]
avfilter/af_aiir: Remove l from %lf in av_log environment

The l modifier does nothing in C99 and it was undefined in C89 for %f

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavformat/movenc: Remove unneeded variable from mov_find_codec_tag()
Michael Niedermayer [Wed, 19 Sep 2018 16:05:25 +0000 (18:05 +0200)]
avformat/movenc: Remove unneeded variable from mov_find_codec_tag()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agolibavformat/ty: use decimal constant for shift
Michael Niedermayer [Wed, 19 Sep 2018 16:05:23 +0000 (18:05 +0200)]
libavformat/ty: use decimal constant for shift

This was the only case in the source that uses a hexadecimal shift value.
The change removed a special case in respect to greping

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/unary: Improve get_unary() docs
Michael Niedermayer [Sat, 22 Sep 2018 13:18:17 +0000 (15:18 +0200)]
avcodec/unary: Improve get_unary() docs

Found-by: kierank
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavfilter/avf_showspectrum: switch to activate and add fps option
Paul B Mahol [Sat, 6 Oct 2018 10:32:55 +0000 (12:32 +0200)]
avfilter/avf_showspectrum: switch to activate and add fps option

5 months agoMerge commit '21733b39d0af5211d7b9f168ff3667ea86362e2b'
Mark Thompson [Sat, 6 Oct 2018 17:43:28 +0000 (18:43 +0100)]
Merge commit '21733b39d0af5211d7b9f168ff3667ea86362e2b'

* commit '21733b39d0af5211d7b9f168ff3667ea86362e2b':
  lavu/qsv: fix a random hwupload failure regression

Fixes CID #1439585.

Merged-by: Mark Thompson <sw@jkqxz.net>
5 months agolavfi/deshake: fix deshake crash issue.
Jun Zhao [Tue, 18 Sep 2018 06:57:49 +0000 (14:57 +0800)]
lavfi/deshake: fix deshake crash issue.

Fixes ticket #7441.

for block contrast calculate, the block is like this:

|<---------------- stride-----------------------|
+----------------------------------------------->  X
|
|            w = 16
|    (cx,cy)+------+
|           |      |
|h=blocksize|      |
|           |      |
|           +------+
V

Y

so we calc the block contrast use:
   (cy + y) * stride + (cx + x)

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
5 months agoav1_metadata: Fix constraint on setting chroma_sample_position
Mark Thompson [Thu, 4 Oct 2018 22:29:04 +0000 (23:29 +0100)]
av1_metadata: Fix constraint on setting chroma_sample_position

It can't be set for 4:2:2 streams.

5 months agoavfilter/avf_showspectrum: increase padding size for low sample rates
Paul B Mahol [Fri, 5 Oct 2018 13:23:02 +0000 (15:23 +0200)]
avfilter/avf_showspectrum: increase padding size for low sample rates

5 months agoavfilter/avf_showspectrum: add zoom mode to showspectrumpic
Paul B Mahol [Fri, 5 Oct 2018 12:22:07 +0000 (14:22 +0200)]
avfilter/avf_showspectrum: add zoom mode to showspectrumpic

5 months agoavfilter/avf_showspectrum: add green color map
Paul B Mahol [Fri, 5 Oct 2018 10:00:57 +0000 (12:00 +0200)]
avfilter/avf_showspectrum: add green color map

5 months agolavfi/atempo: fix tempo range limit inconsistency
Pavel Koshevoy [Thu, 4 Oct 2018 04:59:31 +0000 (22:59 -0600)]
lavfi/atempo: fix tempo range limit inconsistency

yae_set_tempo was overlooked when max tempo limit was raised to 100.

tested with:
./ffmpeg_g -i Delerium/SemanticSpaces/Gateway.mp3 \
-af asendcmd=f=asendcmd.cfg,atempo=1.0 -y /tmp/asendcmd-atempo.wav

where asendcmd.cfg was:
15.0-45.0 [enter] atempo tempo 2.0,
          [leave] atempo tempo 0.5;

60.0-300.0 [enter] atempo tempo 4.0,
           [leave] atempo tempo 1.0;

5 months agoavfilter/avf_showspectrum: fix scaling in zoom mode
Paul B Mahol [Thu, 4 Oct 2018 22:15:26 +0000 (00:15 +0200)]
avfilter/avf_showspectrum: fix scaling in zoom mode

5 months agoavfilter/avf_showspectrum: implement zoom mode
Paul B Mahol [Thu, 4 Oct 2018 21:40:02 +0000 (23:40 +0200)]
avfilter/avf_showspectrum: implement zoom mode

5 months agoavilter/af_afir: add irfmt option
Paul B Mahol [Thu, 4 Oct 2018 19:10:47 +0000 (21:10 +0200)]
avilter/af_afir: add irfmt option

5 months agoavcodec/libaomdec: remove bogus comment
James Almer [Thu, 4 Oct 2018 18:43:54 +0000 (15:43 -0300)]
avcodec/libaomdec: remove bogus comment

It's a remnant from libvpx that's not valid for libaom.

Signed-off-by: James Almer <jamrial@gmail.com>
5 months agoavfilter/af_afir: use internal lavfi queue
Paul B Mahol [Wed, 3 Oct 2018 10:49:44 +0000 (12:49 +0200)]
avfilter/af_afir: use internal lavfi queue

5 months agoavfilter/af_headphone: use lavfi internal queue instead
Paul B Mahol [Tue, 2 Oct 2018 20:08:45 +0000 (22:08 +0200)]
avfilter/af_headphone: use lavfi internal queue instead

Signed-off-by: Paul B Mahol <onemda@gmail.com>
5 months agoavfilter/af_asetnsamples: use lavfi internal queue
Paul B Mahol [Wed, 3 Oct 2018 10:20:34 +0000 (12:20 +0200)]
avfilter/af_asetnsamples: use lavfi internal queue

5 months agoavfilter: add ff_inlink_queued_samples()
Paul B Mahol [Tue, 2 Oct 2018 19:57:00 +0000 (21:57 +0200)]
avfilter: add ff_inlink_queued_samples()

5 months agoavcodec: add an AV1 parser
James Almer [Sat, 14 Jul 2018 14:59:59 +0000 (11:59 -0300)]
avcodec: add an AV1 parser

Simple parser to set keyframes, frame type, structure, width, height, and pixel
format, plus stream profile and level.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
5 months agoavcodec/av1_metadata: add an option to insert and remove Temporal Delimiter OBUs
James Almer [Wed, 3 Oct 2018 00:05:51 +0000 (21:05 -0300)]
avcodec/av1_metadata: add an option to insert and remove Temporal Delimiter OBUs

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
5 months agoavfilter/f_cue: use inlink fifo for queueing frames
Marton Balint [Sun, 30 Sep 2018 10:52:44 +0000 (12:52 +0200)]
avfilter/f_cue: use inlink fifo for queueing frames

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavfilter/filters: add ff_inlink_peek_frame and ff_inlink_queued_frames to access...
Marton Balint [Sun, 30 Sep 2018 21:28:28 +0000 (23:28 +0200)]
avfilter/filters: add ff_inlink_peek_frame and ff_inlink_queued_frames to access frames in the inlink fifo

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agodoc/protocols: simplify and clarify UDP localaddr option
Marton Balint [Fri, 21 Sep 2018 22:19:17 +0000 (00:19 +0200)]
doc/protocols: simplify and clarify UDP localaddr option

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavformat/udp: always use IP_ADD_SOURCE_MEMBERSHIP for subscribing to an UDP multicast...
Marton Balint [Fri, 21 Sep 2018 21:34:50 +0000 (23:34 +0200)]
avformat/udp: always use IP_ADD_SOURCE_MEMBERSHIP for subscribing to an UDP multicast source group in IPv4

That alone supports specifying the interface based on its address. Getting the
interface index from the local address seems quite a bit of work in a platform
independent way...

Obviously for IPv6 we still always use MCAST_JOIN_SOURCE_GROUP.

As a side effect this also fixes ticket #7459.

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavformat/udp: specify the local address for some source filtered multicast joins
Marton Balint [Fri, 21 Sep 2018 20:27:02 +0000 (22:27 +0200)]
avformat/udp: specify the local address for some source filtered multicast joins

We already use localaddr for the multicast joins without source filters, so we
should use them for source filters as well. This patch only fixes the
IP_ADD_SOURCE_MEMBERSHIP and the IP_BLOCK_SOURCE case.

Unless we do this, the kernel automatically selects an interface based on the
source address, and that interface might be different from the one set in
localaddr. For blocked sources this even casues EINVAL because we joined the
multicast group on a different interface.

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavformat/udp: add support for generic source filtering
Marton Balint [Wed, 19 Sep 2018 23:23:58 +0000 (01:23 +0200)]
avformat/udp: add support for generic source filtering

This allows getting data only from a specific source IP. This is useful not
only for unicast but for multicast as well because multicast source
subscriptions do not act as source filters for the incoming packets.

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavformat/rtpproto: use factorized ip functions
Marton Balint [Thu, 13 Sep 2018 23:33:32 +0000 (01:33 +0200)]
avformat/rtpproto: use factorized ip functions

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavformat/udp: use factorized ip functions
Marton Balint [Thu, 13 Sep 2018 23:17:35 +0000 (01:17 +0200)]
avformat/udp: use factorized ip functions

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavformat/ip: factorize some IP filtering and resolving functions to a new file
Marton Balint [Wed, 12 Sep 2018 22:46:09 +0000 (00:46 +0200)]
avformat/ip: factorize some IP filtering and resolving functions to a new file

These are based on the very similar UDP and RTP protocol functions.

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavfilter/af_afir: make IR gain control more flexible
Paul B Mahol [Wed, 3 Oct 2018 19:43:40 +0000 (21:43 +0200)]
avfilter/af_afir: make IR gain control more flexible

For this reason introduce two more options.

5 months agoavfilter/avfilter: fix typos in comments
Paul B Mahol [Wed, 3 Oct 2018 17:11:52 +0000 (19:11 +0200)]
avfilter/avfilter: fix typos in comments

5 months agolavu/qsv: fix a random hwupload failure regression
Zhong Li [Sun, 30 Sep 2018 09:59:52 +0000 (17:59 +0800)]
lavu/qsv: fix a random hwupload failure regression

Variable 'ret' hasn't been initialized´╝îthus introducing a random
hwupload failure regression due to qsv session uninitialized.

Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 months agoavcodec/rasc: unref both frames on reinit
Michael Niedermayer [Tue, 2 Oct 2018 01:04:52 +0000 (03:04 +0200)]
avcodec/rasc: unref both frames on reinit

Fixes: integer overflow
Fixes: inconsistent frame dimensions
Fixes: 10454/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RASC_fuzzer-5656301162463232

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>
5 months agoavcodec/rasc: Fix off by 1 error in vertical coordinate
Michael Niedermayer [Tue, 2 Oct 2018 01:04:51 +0000 (03:04 +0200)]
avcodec/rasc: Fix off by 1 error in vertical coordinate

Fixes: out of array read
Fixes: 10311/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RASC_fuzzer-4856330905452544

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>
5 months agoavcodec/tiff: check remaining packet size for strips
Michael Niedermayer [Tue, 2 Oct 2018 01:04:50 +0000 (03:04 +0200)]
avcodec/tiff: check remaining packet size for strips

Fixes: Timeout
Fixes: 10280/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-5676217211027456

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>
5 months agoavformat/matroskaenc: reserve free space for metadata on request
Sigga Regina [Wed, 12 Sep 2018 15:47:47 +0000 (11:47 -0400)]
avformat/matroskaenc: reserve free space for metadata on request

Signed-off-by: James Almer <jamrial@gmail.com>
5 months agoavcodec/scpr: Skip frames which change nothing
Michael Niedermayer [Tue, 25 Sep 2018 00:36:35 +0000 (02:36 +0200)]
avcodec/scpr: Skip frames which change nothing

Fixes: Timeout
Fixes: 10292/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SCPR_fuzzer-5687943864254464

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/wcmv: Fix integer overflows
Michael Niedermayer [Tue, 25 Sep 2018 00:01:58 +0000 (02:01 +0200)]
avcodec/wcmv: Fix integer overflows

Fixes: signed integer overflow: 262140 * 65535 cannot be represented in type 'int'
Fixes: 10090/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WCMV_fuzzer-5691269368512512

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/gdv: Remove unused variable
Michael Niedermayer [Sun, 30 Sep 2018 19:50:30 +0000 (21:50 +0200)]
avcodec/gdv: Remove unused variable

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoffmpeg: break loop when dts_heuristic check done
xiaofeng [Sun, 30 Sep 2018 12:16:22 +0000 (20:16 +0800)]
ffmpeg: break loop when dts_heuristic check done

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavdevice/decklink_dec: add option to align capture start time
Karthick Jeyapal [Fri, 28 Sep 2018 07:25:54 +0000 (12:55 +0530)]
avdevice/decklink_dec: add option to align capture start time

This option is useful for maintaining input synchronization across N
different hardware devices deployed for 'N-way' redundancy.
The system time of different hardware devices should be synchronized
with protocols such as NTP or PTP, before using this option.

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavcodec/hevc_parser: very minor simplification in hevc_parse()
Michael Niedermayer [Sun, 30 Sep 2018 00:29:44 +0000 (02:29 +0200)]
avcodec/hevc_parser: very minor simplification in hevc_parse()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agolavc/hevc: Don't parse NAL unit for a dummy buffer
Haihao Xiang [Fri, 30 Mar 2018 02:42:32 +0000 (10:42 +0800)]
lavc/hevc: Don't parse NAL unit for a dummy buffer

hevc parser mistakenly reports the following message if a dummy buffer
is padded for EOF

   [hevc @ 0x559b63848610] missing picture in access unit

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
Reviewed-by: "Li, Zhong" <zhong.li@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/libzvbi-teletextdec: add formatted ass output
Marton Balint [Sun, 29 Apr 2018 01:08:12 +0000 (03:08 +0200)]
avcodec/libzvbi-teletextdec: add formatted ass output

Inspired by the VideoLAN text decoder and its port to FFmpeg made by Aman
Gupta.

Signed-off-by: Marton Balint <cus@passwd.hu>
5 months agoavcodec/diracdec: check that GetBitContext has not ended in codeblock()
Michael Niedermayer [Thu, 13 Sep 2018 22:22:13 +0000 (00:22 +0200)]
avcodec/diracdec: check that GetBitContext has not ended in codeblock()

Fixes: Timeout (part 2 of 2)
Fixes: 9774/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5748957085958144

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/diracdec: Propagate errors from codeblock()
Michael Niedermayer [Thu, 13 Sep 2018 22:22:13 +0000 (00:22 +0200)]
avcodec/diracdec: Propagate errors from codeblock()

Consider a component to be damaged if more than 50% of its subbands are damaged

Fixes: Timeout (part 1 of 2)
Fixes: 9774/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5748957085958144

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/bintext: Use ff_get_buffer instead of ff_reget_buffer and simplify
Michael Niedermayer [Wed, 12 Sep 2018 00:14:47 +0000 (02:14 +0200)]
avcodec/bintext: Use ff_get_buffer instead of ff_reget_buffer and simplify

reget seems unneeded and it is slower

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/bintext: Check input size before allocating the input image
Michael Niedermayer [Wed, 12 Sep 2018 00:11:00 +0000 (02:11 +0200)]
avcodec/bintext: Check input size before allocating the input image

Fixes: Timeout
Fixes: 9795/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_XBIN_fuzzer-5768631928487936

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/gdv: Error out if we had insufficent input for the output frame in decompress_2()
Michael Niedermayer [Sun, 5 Aug 2018 15:22:23 +0000 (17:22 +0200)]
avcodec/gdv: Error out if we had insufficent input for the output frame in decompress_2()

Fixes: Timeout (with the previous commits to gdv.c)
Fixes: 9422/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_GDV_fuzzer-5143490001371136

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/gdv: Optimize 2x scaling loop a little in gdv_decode_frame()
Michael Niedermayer [Sun, 5 Aug 2018 15:12:33 +0000 (17:12 +0200)]
avcodec/gdv: Optimize 2x scaling loop a little in gdv_decode_frame()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/gdv: Replace loop in gdv_decode_frame() by memcpy()
Michael Niedermayer [Sun, 5 Aug 2018 15:10:22 +0000 (17:10 +0200)]
avcodec/gdv: Replace loop in gdv_decode_frame() by memcpy()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/gdv: Eliminate 50% of the reads in the first inner loop in rescale()
Michael Niedermayer [Sun, 5 Aug 2018 15:06:44 +0000 (17:06 +0200)]
avcodec/gdv: Eliminate 50% of the reads in the first inner loop in rescale()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/gdv: Simplify first inner loop in rescale()
Michael Niedermayer [Sun, 5 Aug 2018 14:58:35 +0000 (16:58 +0200)]
avcodec/gdv: Simplify first inner loop in rescale()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/gdv: Combine first and 3rd case in rescale()
Michael Niedermayer [Sun, 5 Aug 2018 14:55:38 +0000 (16:55 +0200)]
avcodec/gdv: Combine first and 3rd case in rescale()

Simplifies code

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/gdv: Factor terms out of inner loops in rescale()
Michael Niedermayer [Sun, 5 Aug 2018 14:29:13 +0000 (16:29 +0200)]
avcodec/gdv: Factor terms out of inner loops in rescale()

This also replaces some loops by memcpy()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agoavcodec/gdv: Replace divisions by shifts in rescale()
Michael Niedermayer [Sun, 5 Aug 2018 14:13:24 +0000 (16:13 +0200)]
avcodec/gdv: Replace divisions by shifts in rescale()

Divisions tend to be slower than shifts unless the compiler optimizes them out.
And some of these are in inner loops.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 months agolavf/mpeg: Support demuxing HEVC in mpeg-ps.
Carl Eugen Hoyos [Wed, 26 Sep 2018 20:39:18 +0000 (22:39 +0200)]
lavf/mpeg: Support demuxing HEVC in mpeg-ps.

5 months agolavc: Add AV1 metadata bitstream filter
Mark Thompson [Sun, 9 Sep 2018 22:08:12 +0000 (23:08 +0100)]
lavc: Add AV1 metadata bitstream filter

Can adjust colour and timing information.

5 months agolavc: Add coded bitstream read/write support for AV1
Mark Thompson [Sun, 9 Sep 2018 22:08:11 +0000 (23:08 +0100)]
lavc: Add coded bitstream read/write support for AV1

5 months agoavfilter/af_afftdn: add missing break
Paul B Mahol [Wed, 26 Sep 2018 20:23:28 +0000 (22:23 +0200)]
avfilter/af_afftdn: add missing break

5 months agoavformat/matroskaenc: reindent after the previous commit
James Almer [Fri, 21 Sep 2018 19:18:36 +0000 (16:18 -0300)]
avformat/matroskaenc: reindent after the previous commit

Signed-off-by: James Almer <jamrial@gmail.com>
5 months agoavformat/matroskaenc: refactor checks for allowed codecs in WebM
James Almer [Fri, 21 Sep 2018 19:18:15 +0000 (16:18 -0300)]
avformat/matroskaenc: refactor checks for allowed codecs in WebM

Use the new ff_webm_codec_tags[] array for this purpose.

Signed-off-by: James Almer <jamrial@gmail.com>
5 months agoavformat/matroskaenc: implement AVOutputFormat.query_codec for webm
James Almer [Fri, 21 Sep 2018 15:52:13 +0000 (12:52 -0300)]
avformat/matroskaenc: implement AVOutputFormat.query_codec for webm

Signed-off-by: James Almer <jamrial@gmail.com>