ffmpeg.git
2 years agoavfilter/f_loop: make sure duration of frame is never zero
Paul B Mahol [Fri, 2 Nov 2018 10:20:30 +0000 (11:20 +0100)]
avfilter/f_loop: make sure duration of frame is never zero

2 years agoavfilter: add tpad filter
Paul B Mahol [Tue, 30 Oct 2018 08:33:12 +0000 (09:33 +0100)]
avfilter: add tpad filter

2 years agoavformat/dashenc: Disable writing CODECS tag for HEVC streams
kjeyapal@akamai.com [Sun, 21 Oct 2018 08:40:48 +0000 (14:10 +0530)]
avformat/dashenc: Disable writing CODECS tag for HEVC streams

For HEVC streams, only the FourCC tag is written without profile, level etc.,
This is breaking playout support in native Safari.
Native Safari playout expects the full info in CODECS tag or None at all.

2 years agoavformat/ivfenc: use the av1_metadata bsf to insert Temporal Delimiter OBUs if needed
James Almer [Wed, 3 Oct 2018 00:08:54 +0000 (21:08 -0300)]
avformat/ivfenc: use the av1_metadata bsf to insert Temporal Delimiter OBUs if needed

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoRELEASE: bump to 4.1.git
Michael Niedermayer [Thu, 1 Nov 2018 23:55:49 +0000 (00:55 +0100)]
RELEASE: bump to 4.1.git

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoChangelog: Add new version next tag
Michael Niedermayer [Thu, 1 Nov 2018 23:55:27 +0000 (00:55 +0100)]
Changelog: Add new version next tag

2 years agoBump minor version for master after 4.1 branchpoint n4.2-dev
Michael Niedermayer [Thu, 1 Nov 2018 23:53:07 +0000 (00:53 +0100)]
Bump minor version for master after 4.1 branchpoint

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoBump minor versions for branching 4.1
Michael Niedermayer [Thu, 1 Nov 2018 23:15:32 +0000 (00:15 +0100)]
Bump minor versions for branching 4.1

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoChangelog: next is 4.1
Michael Niedermayer [Thu, 1 Nov 2018 22:54:35 +0000 (23:54 +0100)]
Changelog: next is 4.1

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agodoc/APIchanges: Update for 4.1
Michael Niedermayer [Thu, 1 Nov 2018 22:53:01 +0000 (23:53 +0100)]
doc/APIchanges: Update for 4.1

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/ftp: return AVERROR_EOF for EOF
Marton Balint [Thu, 1 Nov 2018 19:48:55 +0000 (20:48 +0100)]
avformat/ftp: return AVERROR_EOF for EOF

Without this FTP just hangs on eof...

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavdevice/libndi_newtek_dec: add extra_ips option to libndi_newtek allowing use remote...
Anton Platov [Mon, 29 Oct 2018 12:57:31 +0000 (15:57 +0300)]
avdevice/libndi_newtek_dec: add extra_ips option to libndi_newtek allowing use remote network sources

Signed-off-by: Anton Platov <anton@platov.net>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavdevice/decklink_dec: fix codec_tag of RGBA formats
BIGLER Don (Framatome) [Thu, 1 Nov 2018 16:49:37 +0000 (17:49 +0100)]
avdevice/decklink_dec: fix codec_tag of RGBA formats

Fixes ticket #7505.

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agodoc/filter: add some loop filter trivial examples
Paul B Mahol [Thu, 1 Nov 2018 12:50:51 +0000 (13:50 +0100)]
doc/filter: add some loop filter trivial examples

2 years agoavcodec/vdpau: Initialise driver version variable explicitly
Philip Langdale [Wed, 31 Oct 2018 23:58:09 +0000 (16:58 -0700)]
avcodec/vdpau: Initialise driver version variable explicitly

If the identification string ever changed, we might not match anything
in the sscanf(). At least have predictable behaviour.

2 years agocbs_h265: Add PTL parsing for Main 10 Still Picture profile
Mark Thompson [Sat, 27 Oct 2018 21:39:47 +0000 (22:39 +0100)]
cbs_h265: Add PTL parsing for Main 10 Still Picture profile

This was added in the 2018 version of the standard.

2 years agocbs_h264: Include SEI type names in trace output
Mark Thompson [Sat, 27 Oct 2018 21:39:46 +0000 (22:39 +0100)]
cbs_h264: Include SEI type names in trace output

2 years agodoc/fate.texi: Mention that samples should be uploaded before pushing dependent commits
Michael Niedermayer [Tue, 23 Oct 2018 21:31:24 +0000 (23:31 +0200)]
doc/fate.texi: Mention that samples should be uploaded before pushing dependent commits

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavfilter: add (a)graphmonitor filter(s)
Paul B Mahol [Sat, 27 Oct 2018 17:17:08 +0000 (19:17 +0200)]
avfilter: add (a)graphmonitor filter(s)

2 years agoavcodec/vdpau: Enable HEVC support for working Nvidia driver versions
ManojGuptaBonda [Mon, 29 Oct 2018 08:09:54 +0000 (13:39 +0530)]
avcodec/vdpau: Enable HEVC support for working Nvidia driver versions

The driver bugs that caused decoded HEVC content to have an incorrect
memory layout have been fully fixed in the 410.xx driver release so
we can start exposing support.

2 years agoavcodec/cbs_vp9: store profile in the private context
James Almer [Tue, 30 Oct 2018 18:41:21 +0000 (15:41 -0300)]
avcodec/cbs_vp9: store profile in the private context

Derived from profile_low_bit and profile_high_bit.

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/cbs_vp9: keep track of reference frames
James Almer [Tue, 30 Oct 2018 16:44:55 +0000 (13:44 -0300)]
avcodec/cbs_vp9: keep track of reference frames

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agocbs_vp9: Ensure that reserved zero bits are actually zero
Mark Thompson [Sat, 27 Oct 2018 19:41:00 +0000 (20:41 +0100)]
cbs_vp9: Ensure that reserved zero bits are actually zero

2 years agodoc/hls: fix grammar for HLS options
Werner Robitza [Tue, 30 Oct 2018 19:22:55 +0000 (20:22 +0100)]
doc/hls: fix grammar for HLS options

This fixes the grammar of two HLS option descriptions and makes them less
ambiguous.

Signed-off-by: Werner Robitza <werner.robitza@gmail.com>
Signed-off-by: Lou Logan <lou@lrcd.com>
2 years agoavcodec/libvpxdec: fix setting auto threads
James Zern [Sat, 27 Oct 2018 20:09:27 +0000 (13:09 -0700)]
avcodec/libvpxdec: fix setting auto threads

a thread count of 0 is treated the same as 1, use av_cpu_count() to get
the correct thread count when auto threads is requested.

this matches the fix in libvpxenc:
27df34bf1f avcodec/libvpxenc: fix setting amount of threads used for encoding

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: James Zern <jzern@google.com>
2 years agolavu/frame: Add error report if av_image_fill_pointers fail.
Jun Zhao [Sun, 28 Oct 2018 02:44:29 +0000 (10:44 +0800)]
lavu/frame: Add error report if av_image_fill_pointers fail.

Add error handle if av_image_fill_pointers fail.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolavc/decode: Fix the error number report if av_image_fill_pointers fail.
Jun Zhao [Sun, 28 Oct 2018 02:27:22 +0000 (10:27 +0800)]
lavc/decode: Fix the error number report if av_image_fill_pointers fail.

-1 will be map to error number "EPERM", and will be map to the error
message like "Error while decoding stream #0:0: Operation not permitted",
it's a strange error message when debug update_frame_pool fail,
now only return the error code from av_image_fill_pointers in case
of av_image_fill_pointers failure.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agoavformat/hlsenc.c: fix the output's duration smaller than input's in sub-range mode.
Charles Liu [Tue, 30 Oct 2018 03:11:27 +0000 (11:11 +0800)]
avformat/hlsenc.c: fix the output's duration smaller than input's in sub-range mode.

In fmp4 & sub-range mode, the output's duration always smaller than expected,
because the size of the last #EXT-X-BYTERANGE is too small.

Signed-off-by: Charles Liu <liuchh83@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agoavformat/hlsenc.c: the size of init.mp4 is zero.
Charles Liu [Tue, 30 Oct 2018 03:10:27 +0000 (11:10 +0800)]
avformat/hlsenc.c: the size of init.mp4 is zero.

The size of init.mp4 is zero in fmp4 mode,
when the input duraton smaller than the expected segment time.

fix ticket: 7166

Signed-off-by: Charles Liu <liuchh83@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agoavformat/hlsenc.c: remove the useless variable fmp4_init_mode.
Charles Liu [Tue, 30 Oct 2018 03:09:14 +0000 (11:09 +0800)]
avformat/hlsenc.c: remove the useless variable fmp4_init_mode.

Signed-off-by: Charles Liu <liuchh83@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agoavformat/hlsenc.c: fix memory leak in fmp4 mode.
Charles Liu [Tue, 30 Oct 2018 03:08:29 +0000 (11:08 +0800)]
avformat/hlsenc.c: fix memory leak in fmp4 mode.

Signed-off-by: Charles Liu <liuchh83@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agoavformat/hlsenc: fix the duration of m4s segment is unusually smaller than expected.
Charles Liu [Tue, 30 Oct 2018 03:07:14 +0000 (11:07 +0800)]
avformat/hlsenc: fix the duration of m4s segment is unusually smaller than expected.

In fmp4 mode, the duration of the second m4s segment is
unusually smaller than the expected segment time.

Signed-off-by: Charles Liu <liuchh83@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agoavcodec/vp9: Check in decode_tiles() if there is data remaining
Michael Niedermayer [Sat, 4 Aug 2018 20:21:02 +0000 (22:21 +0200)]
avcodec/vp9: Check in decode_tiles() if there is data remaining

Fixes: Timeout
Fixes: 9330/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VP9_fuzzer-5707345857347584
Fixes: 9775/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VP9_fuzzer-5643845344690176

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/vp56: Add vpX_rac_is_end() to check for the end of input
Michael Niedermayer [Sat, 11 Aug 2018 20:28:31 +0000 (22:28 +0200)]
avcodec/vp56: Add vpX_rac_is_end() to check for the end of input

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agovaapi_encode_mpeg2: Fix width/height columns/rows confusion
Mark Thompson [Mon, 29 Oct 2018 19:41:24 +0000 (19:41 +0000)]
vaapi_encode_mpeg2: Fix width/height columns/rows confusion

Fixes #7522.

2 years agoavcodec/vp3: reindent unpack_superblocks()
Michael Niedermayer [Mon, 29 Oct 2018 15:28:20 +0000 (16:28 +0100)]
avcodec/vp3: reindent unpack_superblocks()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/vp3: Do not recalculate coded_fragment_list for keyframes
Michael Niedermayer [Sun, 28 Oct 2018 13:44:37 +0000 (14:44 +0100)]
avcodec/vp3: Do not recalculate coded_fragment_list for keyframes

This improves decoding speed of keyframes

Fixes: Timeout (102->27sec)
Fixes: 9642/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VP3_fuzzer-6676767875006464

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/vp3: Reuse local variable in unpack_superblocks()
Michael Niedermayer [Sun, 28 Oct 2018 11:49:40 +0000 (12:49 +0100)]
avcodec/vp3: Reuse local variable in unpack_superblocks()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/vp3: Do not initialize unused tables for keyframes in unpack_superblock()
Michael Niedermayer [Sun, 28 Oct 2018 11:46:52 +0000 (12:46 +0100)]
avcodec/vp3: Do not initialize unused tables for keyframes in unpack_superblock()

Fixes: Timeout (139sec -> 102sec)
Fixes: 9642/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VP3_fuzzer-6676767875006464

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agodoc/filters: add small description to geq filter section
Paul B Mahol [Mon, 29 Oct 2018 15:44:23 +0000 (16:44 +0100)]
doc/filters: add small description to geq filter section

Previously there was no description at all.

2 years agoavfilter/af_afftdn: fix memory leaks reported by coverity
Paul B Mahol [Sun, 28 Oct 2018 21:30:06 +0000 (22:30 +0100)]
avfilter/af_afftdn: fix memory leaks reported by coverity

2 years agolibaomenc: Add support for tiles
Mark Thompson [Mon, 22 Oct 2018 22:40:07 +0000 (23:40 +0100)]
libaomenc: Add support for tiles

Adds an option to specify the number of tile rows and columns, then uses
a uniform tiling if possible and otherwise a fixed tiling with equal-sized
tiles to fill the frame.

Also adds -tile-columns and -tile-rows options to make tilings with
power-of-two numbers of tiles, matching the behaviour of the libvpx/VP9
encoder.

2 years agoavfilter/af_afftdn: add alias for sample_noise end
Paul B Mahol [Sun, 28 Oct 2018 14:00:34 +0000 (15:00 +0100)]
avfilter/af_afftdn: add alias for sample_noise end

Added the same one as one mentioned in documentation.

2 years agoavfilter/af_afftdn: switch to activate
Paul B Mahol [Sun, 28 Oct 2018 13:27:32 +0000 (14:27 +0100)]
avfilter/af_afftdn: switch to activate

2 years agolavc/libxavs2: Remove yuv420p10le from fromat list.
Jun Zhao [Sun, 28 Oct 2018 07:13:45 +0000 (15:13 +0800)]
lavc/libxavs2: Remove yuv420p10le from fromat list.

now libxavs2 can't support 10bits mode, so remove the
yuv420p10le from fromat list.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
2 years agolavc/libdavs2: Remove yuv420p10le from fromat list.
Jun Zhao [Sun, 28 Oct 2018 07:10:47 +0000 (15:10 +0800)]
lavc/libdavs2: Remove yuv420p10le from fromat list.

now libdavs2 can't support 10bits mode, so remove the
yuv420p10le from fromat list.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
2 years agolavc/libxavs2: enable OpenGop
hwren [Thu, 18 Oct 2018 15:02:10 +0000 (23:02 +0800)]
lavc/libxavs2: enable OpenGop

Signed-off-by: hwren <hwrenx@126.com>
2 years agolavc/libxavs2: fix intra period meaning conflict
hwren [Thu, 18 Oct 2018 15:02:09 +0000 (23:02 +0800)]
lavc/libxavs2: fix intra period meaning conflict

Signed-off-by: hwren <hwrenx@126.com>
2 years agolavc/libxavs2: unified naming style
hwren [Thu, 18 Oct 2018 15:02:08 +0000 (23:02 +0800)]
lavc/libxavs2: unified naming style

Signed-off-by: hwren <hwrenx@126.com>
2 years agoavfilter/vf_pixdesctest: Use 32bit read/write
Michael Niedermayer [Thu, 25 Oct 2018 21:15:54 +0000 (23:15 +0200)]
avfilter/vf_pixdesctest: Use 32bit read/write

This is needed for processing 32bit floats

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavutil/pixdesc: Add av_write_image_line2(), av_read_image_line2()
Michael Niedermayer [Thu, 25 Oct 2018 21:08:20 +0000 (23:08 +0200)]
avutil/pixdesc: Add av_write_image_line2(), av_read_image_line2()

This is needed because of 32bit float formats (which are difficult to
store in 16bits)

This also fixes undefined behavior found by fate

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/cbs_vp9: fix parsing sRGB samples
James Almer [Fri, 26 Oct 2018 19:32:56 +0000 (16:32 -0300)]
avcodec/cbs_vp9: fix parsing sRGB samples

Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/cbs_av1: fix parsing frame_size_with_refs
James Almer [Sat, 27 Oct 2018 00:32:36 +0000 (21:32 -0300)]
avcodec/cbs_av1: fix parsing frame_size_with_refs

found_ref is not a single value in the bitstream. Fixes parsing files with
frame size changes.

Based on code from cbs_vp9.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agovaapi_encode: Add flag to mark encoders supporting only constant-quality
Mark Thompson [Sun, 23 Sep 2018 21:53:00 +0000 (22:53 +0100)]
vaapi_encode: Add flag to mark encoders supporting only constant-quality

And set it for MJPEG.

2 years agovaapi_encode_h265: Enable multiple-slice support
Mark Thompson [Sun, 23 Sep 2018 21:52:59 +0000 (22:52 +0100)]
vaapi_encode_h265: Enable multiple-slice support

2 years agovaapi_encode_h264: Enable multiple-slice support
Mark Thompson [Sun, 23 Sep 2018 21:52:58 +0000 (22:52 +0100)]
vaapi_encode_h264: Enable multiple-slice support

2 years agovaapi_encode_mpeg2: Use common slice sizing code
Mark Thompson [Sun, 23 Sep 2018 21:52:57 +0000 (22:52 +0100)]
vaapi_encode_mpeg2: Use common slice sizing code

2 years agovaapi_encode: Support configurable slices
Mark Thompson [Sun, 23 Sep 2018 21:52:56 +0000 (22:52 +0100)]
vaapi_encode: Support configurable slices

This adds common code to query driver support and set appropriate
address/size information for each slice.  It only supports rectangular
slices for now, since that is the most common use-case.

2 years agoavfilter/window_func: add bohman window
Paul B Mahol [Sat, 27 Oct 2018 11:13:31 +0000 (13:13 +0200)]
avfilter/window_func: add bohman window

2 years agotests/api-h264-slice-test: use the correct function to free the AVHashContext
James Almer [Sat, 27 Oct 2018 03:12:30 +0000 (00:12 -0300)]
tests/api-h264-slice-test: use the correct function to free the AVHashContext

Fixes memleaks.

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavformat/rpl: Support files containing 8 bit PCM or VIDC audio
Cameron Cawley [Fri, 12 Oct 2018 23:06:40 +0000 (00:06 +0100)]
avformat/rpl: Support files containing 8 bit PCM or VIDC audio

Signed-off-by: Cameron Cawley <ccawley2011@gmail.com>
2 years agoavcodec: Implement Archimedes VIDC encoder/decoder
Cameron Cawley [Fri, 12 Oct 2018 23:06:39 +0000 (00:06 +0100)]
avcodec: Implement Archimedes VIDC encoder/decoder

Signed-off-by: Cameron Cawley <ccawley2011@gmail.com>
2 years agofate: add api-h264-slice test
Josh de Kock [Tue, 9 Oct 2018 12:07:15 +0000 (13:07 +0100)]
fate: add api-h264-slice test

This test ensures that you are able to send N number of slice NALUs in slice threaded mode to be decoded simultaneously

2 years agolavc/h264dec: don't error out when receiving multiple IDR slices
Josh de Kock [Wed, 26 Sep 2018 09:35:04 +0000 (10:35 +0100)]
lavc/h264dec: don't error out when receiving multiple IDR slices

This error isn't particularly helpful as checking for mixed IDR/non-IDR
NALUs would need to be done at a higher level to actually be accurate.
Removing the error allows an API user to send individual slice NALUs
(i.e. incomplete frames) so they can take advantage of slice
threading. The ticket which this error was added for (#4408) no
longer segfaults after removing this error (as the bug was likely
fixed more properly elsewhere).

2 years agoavfilter: add xstack filter
Paul B Mahol [Wed, 24 Oct 2018 09:00:58 +0000 (11:00 +0200)]
avfilter: add xstack filter

2 years agoavformat/dashenc: Support HTTP persistent for init segments as well
kjeyapal@akamai.com [Sun, 21 Oct 2018 01:20:51 +0000 (06:50 +0530)]
avformat/dashenc: Support HTTP persistent for init segments as well

2 years agoavcodec/vp9_parser: set profile in AVCodecContext
James Almer [Thu, 25 Oct 2018 23:45:45 +0000 (20:45 -0300)]
avcodec/vp9_parser: set profile in AVCodecContext

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavfilter/vf_lut3d: do not error out if TITLE is after other lines
Paul B Mahol [Wed, 24 Oct 2018 09:36:23 +0000 (11:36 +0200)]
avfilter/vf_lut3d: do not error out if TITLE is after other lines

2 years agoavfilter/af_adelay: switch to activate
Paul B Mahol [Thu, 25 Oct 2018 20:57:27 +0000 (22:57 +0200)]
avfilter/af_adelay: switch to activate

Also use less memory in special case when all channels have common delay.

2 years agoconfigure: add missing optional SDL2 dependency to OpenGL outdev
James Almer [Thu, 25 Oct 2018 00:12:32 +0000 (21:12 -0300)]
configure: add missing optional SDL2 dependency to OpenGL outdev

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agolavfi/ebur128: Fix mixed declarations and code
Mark Thompson [Tue, 23 Oct 2018 21:21:52 +0000 (22:21 +0100)]
lavfi/ebur128: Fix mixed declarations and code

2 years agoavcodec/libx264: remove FF_CODEC_CAP_INIT_THREADSAFE flag
Marton Balint [Sat, 20 Oct 2018 10:12:42 +0000 (12:12 +0200)]
avcodec/libx264: remove FF_CODEC_CAP_INIT_THREADSAFE flag

Libx264 uses strtok which is not thread safe. Strtok is used in
x264_param_default_preset in param_apply_tune in x264/common/base.c.
Therefore the flag must be removed.

x264 fixed the issue, once the fix is pushed to stable, an #if can be added
to re-enable the flag based on X264_BUILD number.

Fixes ticket #7446.

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavutil/integer: Fix integer overflow in av_mul_i()
Michael Niedermayer [Tue, 23 Oct 2018 23:44:12 +0000 (01:44 +0200)]
avutil/integer: Fix integer overflow in av_mul_i()

Found-by: fate
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/msrle: Check that the input is large enough to contain a end of picture code
Michael Niedermayer [Sun, 21 Oct 2018 12:40:14 +0000 (14:40 +0200)]
avcodec/msrle: Check that the input is large enough to contain a end of picture code

Fixes: Timeout
Fixes: 10625/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MSRLE_fuzzer-5659651283091456

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoRevert "avcodec/decode: copy the output parameters from the last bsf in the chain...
James Almer [Wed, 12 Sep 2018 18:01:14 +0000 (15:01 -0300)]
Revert "avcodec/decode: copy the output parameters from the last bsf in the chain back to the AVCodecContext"

This reverts commit f631c328e680a3dd491936b92f69970c20cdcfc7.

The avcodec_parameters_to_context() call was freeing and reallocating
AVCodecContext->extradata, essentially taking ownership of it, which according
to the doxy is user owned. This is an API break and has produced crashes in
some library users like Firefox[1].

Revert until a better solution is found to internally propagate the filtered
extradata back into the decoder context, or a decision is made to change the
API.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1486080

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoswscale/swscale_unscaled : rename packed_16bpc_bswap
Martin Vignali [Mon, 22 Oct 2018 21:07:20 +0000 (23:07 +0200)]
swscale/swscale_unscaled : rename packed_16bpc_bswap

is used for packed and planar format

2 years agoswscale/unscaled : add grayf32 le to be
Martin Vignali [Mon, 22 Oct 2018 21:05:29 +0000 (23:05 +0200)]
swscale/unscaled : add grayf32 le to be

2 years agoswscale/utils : simplify unscaled initial test for float pixfmt
Martin Vignali [Mon, 22 Oct 2018 20:55:14 +0000 (22:55 +0200)]
swscale/utils : simplify unscaled initial test for float pixfmt

2 years agoavfilter/show_info : add print of color information (range, color_primaries, color_tr...
Martin Vignali [Sat, 20 Oct 2018 13:54:15 +0000 (15:54 +0200)]
avfilter/show_info : add print of color information (range, color_primaries, color_trc, colorspace)

2 years agodoc/APIchanges: add entry for AV_FRAME_DATA_S12M_TIMECODE
James Almer [Wed, 24 Oct 2018 17:57:25 +0000 (14:57 -0300)]
doc/APIchanges: add entry for AV_FRAME_DATA_S12M_TIMECODE

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/nvdec: Push the context before destroying the decoder
Philip Langdale [Wed, 24 Oct 2018 17:39:13 +0000 (10:39 -0700)]
avcodec/nvdec: Push the context before destroying the decoder

This has no visible effects but I happened to run under the cuda
memcheck tool and it called it out as an error.

2 years agoavfilter/vf_waveform: abort early if there are no components to show
Paul B Mahol [Wed, 24 Oct 2018 16:30:38 +0000 (18:30 +0200)]
avfilter/vf_waveform: abort early if there are no components to show

2 years agoavfilter/vf_waveform: add gratcicule to rgb input
Paul B Mahol [Wed, 24 Oct 2018 16:25:24 +0000 (18:25 +0200)]
avfilter/vf_waveform: add gratcicule to rgb input

2 years agoavformat/mxfenc: simplify dnxhd handling and add more flavors
Baptiste Coudurier [Tue, 16 Oct 2018 20:19:45 +0000 (13:19 -0700)]
avformat/mxfenc: simplify dnxhd handling and add more flavors

2 years agoavfilter/vf_datascope: fix rgba mapping for oscilloscope filter output
Paul B Mahol [Wed, 24 Oct 2018 15:39:51 +0000 (17:39 +0200)]
avfilter/vf_datascope: fix rgba mapping for oscilloscope filter output

2 years agolavu: bump version, add Changelog entry
Josh de Kock [Wed, 24 Oct 2018 10:25:19 +0000 (11:25 +0100)]
lavu: bump version, add Changelog entry

2 years agoavformat/libsrt: add several options supported in srt 1.3.0
Matsuzawa Tomohiro [Tue, 23 Oct 2018 04:34:29 +0000 (04:34 +0000)]
avformat/libsrt: add several options supported in srt 1.3.0

Several SRT options are missing. Since pkg_config requires libsrt v1.3.0 and above, it should be able to support options added in libsrt v1.3.0 and below.
This commit adds 8 SRT options.
sndbuf, rcvbuf, lossmaxttl, minversion, streamid, smoother, messageapi and transtype
The keys of option are equivalent to stransmit.
https://github.com/Haivision/srt/blob/v1.3.0/apps/socketoptions.hpp#L196-L223

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavdevice/sdl2: add option to set window position
Dave Rice [Mon, 1 Oct 2018 21:17:24 +0000 (17:17 -0400)]
avdevice/sdl2: add option to set window position

Allows arrangement of multiple windows such as:
ffmpeg -re -f lavfi -i mandelbrot -f sdl -window_x 1 -window_y 1 mandelbrot -vf waveform,format=yuv420p -f sdl -window_x 641 -window_y 1 waveform -vf vectorscope,format=yuv420p -f sdl -window_x 1 -window_y 481 vectorscop

Some changes by Marton Balint:
- allow negative position (partially or fully out-of-screen positions seem to
  be sanitized automatically by SDL (or my WM?), so no special handling is
  needed)
- only show window after the position is set
- do not use resizable and borderless flags at the same time, that caused
  issues in ffplay
- add docs

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agofate: add h264 timecode test
Josh de Kock [Tue, 9 Oct 2018 09:25:18 +0000 (10:25 +0100)]
fate: add h264 timecode test

2 years agolavfi/vf_showinfo: support displaying S12M timecode sidedata
Josh de Kock [Fri, 12 Oct 2018 12:39:51 +0000 (13:39 +0100)]
lavfi/vf_showinfo: support displaying S12M timecode sidedata

2 years agoh264/pic_timing: support multiple timecodes
Josh de Kock [Fri, 12 Oct 2018 12:38:26 +0000 (13:38 +0100)]
h264/pic_timing: support multiple timecodes

2 years agolavc/h264: create AVFrame side data from H.264 timecodes
Devin Heitmueller [Fri, 29 Jun 2018 18:57:13 +0000 (14:57 -0400)]
lavc/h264: create AVFrame side data from H.264 timecodes

Create SMPTE ST 12-1 timecodes based on H.264 SEI picture timing
info.

For framerates > 30 FPS, the field flag is used in conjunction with
pairs of frames which contain the same frame timestamp in S12M.
Ensure the field is properly set per the spec.

2 years agolavc/qsvenc_jpeg: set a default quality
Zhong Li [Thu, 11 Oct 2018 09:26:13 +0000 (17:26 +0800)]
lavc/qsvenc_jpeg: set a default quality

Keep alignment with vaapi mjpeg encoder.

Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2 years agolavc/qsvenc_jpeg: add async_depth support
Zhong Li [Thu, 11 Oct 2018 09:26:12 +0000 (17:26 +0800)]
lavc/qsvenc_jpeg: add async_depth support

Currently qsv (m)jpeg encoding is broken.
Regression introducing by the commit(id: c1bcd3): fix async support,
which requires the minimum async_depth to be 1, instead previous zero.
But the default async_depth of qsv (m)jpeg encoding is still initialized
(mostly) as zero.

This patch also abviously improves qsv (m)jpeg encoding performance
due to the default async_depth is changed to 4.

Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2 years agoavfilter: add vibrance filter
Paul B Mahol [Fri, 19 Oct 2018 18:10:48 +0000 (20:10 +0200)]
avfilter: add vibrance filter

2 years agoavcodec/jpeg2000dec: Fix off by 1 error in JPEG2000_PGOD_CPRL handling
Michael Niedermayer [Sat, 20 Oct 2018 20:35:37 +0000 (22:35 +0200)]
avcodec/jpeg2000dec: Fix off by 1 error in JPEG2000_PGOD_CPRL handling

Fixes: assertion failure
Fixes: 10785/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_fuzzer-5672160496975872

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/ilbcdec: Check startindex
Michael Niedermayer [Sat, 20 Oct 2018 22:35:12 +0000 (00:35 +0200)]
avcodec/ilbcdec: Check startindex

Fixes: Out of array read
Fixes: 10789/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ILBC_fuzzer-5153255445757952

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>
2 years agocbs_h2645: Allocate all internal buffers with padding
Mark Thompson [Tue, 16 Oct 2018 21:01:28 +0000 (22:01 +0100)]
cbs_h2645: Allocate all internal buffers with padding

Any of these buffers (for both H.264 and H.265) might reasonably be
parsed using the bitstream reader, so include padding on all of them.

2 years agocbs_h264: Fix SPS used for pic_timing timestamp
Mark Thompson [Tue, 16 Oct 2018 21:01:27 +0000 (22:01 +0100)]
cbs_h264: Fix SPS used for pic_timing timestamp

It should be the same as the one used for the rest of the pic_timing
structure.

2 years agocbs_h264: Actually decompose end-of-sequence NAL units
Mark Thompson [Tue, 16 Oct 2018 21:01:26 +0000 (22:01 +0100)]
cbs_h264: Actually decompose end-of-sequence NAL units

64c50c0e978cd556dc2da238dfe0bb367e7c1ab9 declared support for decomposing
them but omitted to implement it; this adds an implementation.

Also do the same for end-of-stream NAL units, since they are equivalent.