ffmpeg.git
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.

2 years agoavcodec/mpeg4videodec: Fix typo in sprite delta check
Michael Niedermayer [Wed, 17 Oct 2018 23:19:36 +0000 (01:19 +0200)]
avcodec/mpeg4videodec: Fix typo in sprite delta check

Fixes: Integer overflow
Fixes: 10890/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-5636062181851136

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 agolavf/vc1test: add rcv to vc1test demuxer extensions
Jun Zhao [Fri, 12 Oct 2018 13:31:09 +0000 (21:31 +0800)]
lavf/vc1test: add rcv to vc1test demuxer extensions

rcv is commonly used as extension for vc1 test stream files.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
2 years agolavf/vc1test: fix vc1test can't probe some RCV file.
Jun Zhao [Thu, 11 Oct 2018 10:22:09 +0000 (18:22 +0800)]
lavf/vc1test: fix vc1test can't probe some RCV file.

case 1:
use the hexdump -C SMM0005.rcv get:
                     size              skip (size - 4)
                      |                        |
                      V                        V
00000000  18 00 00 c5 05 00 00 00  4d f1 0a 11 00 e0 01 00
00000010  00 d0 02 00 00 0c 00 00  00 88 13 00 00 c0 65 52
                         ^
 |
     size + 16
case 2:
same the command for SMM0015.rcv get:
                    size
                      |
                      V
00000000  19 00 00 c5 04 00 00 00  41 f3 80 01 40 02 00 00
00000010  d0 02 00 00 0c 00 00 00  00 00 00 10 00 00 00 00
                      ^
      |
   size + 16

There are different the RCV file format for VC-1, vc1test
just handle the case 2 now, this fix will support the case 1.
(Both of test clips come from: SMPTE Recommended Practice -
VC-1 Decoder and Bitstream Conformance). And I think I got
a older VC-1 test clip in the case 1.

Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Reviewed-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Yan, FengX <fengx.yan@intel.com>
2 years agoavfilter/setparams : fix colorspace option
Martin Vignali [Sun, 21 Oct 2018 20:48:43 +0000 (22:48 +0200)]
avfilter/setparams : fix colorspace option

2 years agoavfilter/setfield, setrange : set color property to auto
Martin Vignali [Sun, 21 Oct 2018 20:47:57 +0000 (22:47 +0200)]
avfilter/setfield, setrange : set color property to auto

2 years agoavfilter/setparams : update filter description
Martin Vignali [Sun, 21 Oct 2018 20:43:14 +0000 (22:43 +0200)]
avfilter/setparams : update filter description

2 years agoavfilter/*_cuda: don't include internal header
Timo Rothenpieler [Sun, 21 Oct 2018 20:32:32 +0000 (22:32 +0200)]
avfilter/*_cuda: don't include internal header

It's not used, and pulls in the ffnvcodec header, which does not neccesarily have to exist to build these filters, since they include the full cuda.h.

2 years agoavfilter/setparam : add options to set color primaries, trc, space
Martin Vignali [Sun, 21 Oct 2018 17:29:29 +0000 (19:29 +0200)]
avfilter/setparam : add options to set color primaries, trc, space

2 years agoavfilter/setparams : merge setfield and setrange filter to setparams filter
Martin Vignali [Sun, 21 Oct 2018 17:28:03 +0000 (19:28 +0200)]
avfilter/setparams : merge setfield and setrange filter to setparams filter

setfield and setrange filters are kept.

2 years agoavfilter: add chromahold filter
Paul B Mahol [Thu, 18 Oct 2018 10:08:47 +0000 (12:08 +0200)]
avfilter: add chromahold filter

2 years agoavformat/dashenc: URL close unconditionally after DELETE segments
kjeyapal@akamai.com [Thu, 18 Oct 2018 09:26:20 +0000 (14:56 +0530)]
avformat/dashenc: URL close unconditionally after DELETE segments

Fixes bug with HTTP DELETE when HTTP Persistent is ON.
Right now, HTTP Persistent connections is supported only for POSTs and PUTs.
HTTP DELETE will still open a new connection every time.

2 years agoavformat/dashenc: Support HTTP Persistent for master.m3u8 as well
kjeyapal@akamai.com [Thu, 18 Oct 2018 06:19:51 +0000 (11:49 +0530)]
avformat/dashenc: Support HTTP Persistent for m3u8 as well

2 years agoavfilter/af_afir: calculate group delay too
Paul B Mahol [Sat, 20 Oct 2018 20:38:52 +0000 (22:38 +0200)]
avfilter/af_afir: calculate group delay too

2 years agoavdevice/decklink: Fix compile breakage on OSX
Devin Heitmueller [Fri, 19 Oct 2018 19:35:48 +0000 (15:35 -0400)]
avdevice/decklink: Fix compile breakage on OSX

Make the function static, or else Clang complains with:

error: no previous prototype for function 'decklink_get_attr_string' [-Werror,-Wmissing-prototypes]

Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agolavf/matroskadec: Simplify string length calculation.
Carl Eugen Hoyos [Mon, 3 Sep 2018 12:18:02 +0000 (14:18 +0200)]
lavf/matroskadec: Simplify string length calculation.

FFmpeg relies on sizeof(char) == 1.

2 years agolavc/sinewin: Do not declare AAC 120/960 tables as const.
Carl Eugen Hoyos [Sun, 14 Oct 2018 21:48:23 +0000 (23:48 +0200)]
lavc/sinewin: Do not declare AAC 120/960 tables as const.

ff_sine_window_init() is writing to these tables causing
a crash if compiled with gcc 8 and lto.

Analyzed by Martin Li┼íka in:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85132

Fixes ticket #7491.

2 years agolavf/dump: Fix a typo: comentary -> commentary.
Carl Eugen Hoyos [Wed, 17 Oct 2018 22:13:38 +0000 (00:13 +0200)]
lavf/dump: Fix a typo: comentary -> commentary.

Fixes ticket #7499.

2 years agoavfilter: add sinc source filter
Paul B Mahol [Tue, 19 Dec 2017 10:15:11 +0000 (11:15 +0100)]
avfilter: add sinc source filter

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoswscale : add YA16 LE/BE output
Martin Vignali [Sun, 14 Oct 2018 16:08:16 +0000 (18:08 +0200)]
swscale : add YA16 LE/BE output