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

2 years agoswscale/x86/rgb2rgb.asm : add Ivo Van Poorten name to the top of the file
Martin Vignali [Sat, 13 Oct 2018 17:52:06 +0000 (19:52 +0200)]
swscale/x86/rgb2rgb.asm : add Ivo Van Poorten name to the top of the file

suggested by Carl Eugen Hoyos

2 years agoavcodec/proresenc_aw : use for frame flag in the header the same value than the offic...
Martin Vignali [Mon, 8 Oct 2018 13:51:41 +0000 (15:51 +0200)]
avcodec/proresenc_aw : use for frame flag in the header the same value than the official encoder

2 years agoavcodec/proresenc_aw : add support for prores 444
Martin Vignali [Mon, 8 Oct 2018 13:51:19 +0000 (15:51 +0200)]
avcodec/proresenc_aw : add support for prores 444

2 years agoavcodec/prores_enc : not calculate dct a each quantif search step
Martin Vignali [Mon, 8 Oct 2018 13:50:52 +0000 (15:50 +0200)]
avcodec/prores_enc : not calculate dct a each quantif search step

Improve encoding speed by 2% (using prores input)

2 years agoavcodec/proresenc_aw : use qp close to the official encoder
Martin Vignali [Mon, 8 Oct 2018 13:50:23 +0000 (15:50 +0200)]
avcodec/proresenc_aw : use qp close to the official encoder

2 years agoavcodec/proresenc_aw : use AVframe primaries, transfert, colorspace for frame header...
Martin Vignali [Mon, 8 Oct 2018 13:49:56 +0000 (15:49 +0200)]
avcodec/proresenc_aw : use AVframe primaries, transfert, colorspace for frame header instead of default (unknown, unknown, Rec601)

avoid color shift, on some decoding software

2 years agoavcodec/proresenc_aw : use scan table from prores_data file
Martin Vignali [Mon, 8 Oct 2018 13:49:40 +0000 (15:49 +0200)]
avcodec/proresenc_aw : use scan table from prores_data file

Doesn't seems to make speed loss

2 years agoavfilter/vf_lensfun: use av_malloc_array()
Paul B Mahol [Thu, 18 Oct 2018 09:36:20 +0000 (11:36 +0200)]
avfilter/vf_lensfun: use av_malloc_array()

2 years agoavfilter/vf_lensfun: use av_freep
Paul B Mahol [Thu, 18 Oct 2018 09:30:11 +0000 (11:30 +0200)]
avfilter/vf_lensfun: use av_freep

2 years agoavfilter/af_adelay: do not crash if allocation of chandelay failed
Paul B Mahol [Thu, 18 Oct 2018 08:21:09 +0000 (10:21 +0200)]
avfilter/af_adelay: do not crash if allocation of chandelay failed

2 years agoavformat/dashenc: Dont ignore the codec tag from codec parameters
Karthick Jeyapal [Wed, 10 Oct 2018 07:20:20 +0000 (12:50 +0530)]
avformat/dashenc: Dont ignore the codec tag from codec parameters

2 years agoavcodec/h264_cavlc: Check mb_skip_run
Michael Niedermayer [Thu, 4 Oct 2018 01:13:41 +0000 (03:13 +0200)]
avcodec/h264_cavlc: Check mb_skip_run

Fixes: 10300/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_H264_fuzzer-6292205497483264
Fixes: signed integer overflow: -2147483648 - 1 cannot be represented in type 'int'

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: Fix multiple integer overflows
Michael Niedermayer [Wed, 10 Oct 2018 23:04:34 +0000 (01:04 +0200)]
avcodec/ilbcdec: Fix multiple integer overflows

Fixes: 10651/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ILBC_fuzzer-5202341540659200
Fixes: signed integer overflow: -1707705920 - 1703592888 cannot be represented in type 'int'

This tries to follow the webrtc code. For example using cliping and 64 bit as in WebRtcSpl_DotProductWithScale()
and not doing so in other places.
I could not find anything in rfc3951 and the reference code inside which would
explain what to do in these corner cases.

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: Fix multiple invalid left shifts
Michael Niedermayer [Wed, 10 Oct 2018 22:15:30 +0000 (00:15 +0200)]
avcodec/ilbcdec: Fix multiple invalid left shifts

Fixes: 10651/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ILBC_fuzzer-5202341540659200
Fixes: left shift of negative value -512

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: Limit indexes in create_augmented_vector()
Michael Niedermayer [Wed, 10 Oct 2018 21:43:27 +0000 (23:43 +0200)]
avcodec/ilbcdec: Limit indexes in create_augmented_vector()

These limits are based on limiting done in WebRtcIlbcfix_CreateAugmentedVec()
Fixes: out of array accesses
Fixes: 10652/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ILBC_fuzzer-5638941487661056
Fixes: 10655/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ILBC_fuzzer-5699970020147200

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/ra144: Fix integer overflow in add_wav()
Michael Niedermayer [Wed, 10 Oct 2018 02:25:50 +0000 (04:25 +0200)]
avcodec/ra144: Fix integer overflow in add_wav()

Fixes: signed integer overflow: -2144033225 + -5208934 cannot be represented in type 'int'
Fixes: 10633/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RA_144_fuzzer-5679133791617024

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 agoavformat/utils: Never store negative values in last_IP_duration
Michael Niedermayer [Fri, 12 Oct 2018 18:55:25 +0000 (20:55 +0200)]
avformat/utils: Never store negative values in last_IP_duration

Fixes: integer overflow compute_pkt_fields()
Fixes: compute_pkt_usan

Reported-by: Thomas Guilbert <tguilbert@chromium.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>