ffmpeg.git
2 years agoavcodec/vc1: support multi-slice field interlaced pictures with hwaccel
Jerome Borsboom [Wed, 9 May 2018 05:50:28 +0000 (07:50 +0200)]
avcodec/vc1: support multi-slice field interlaced pictures with hwaccel

When using hardware accelerated decoding for multi-slice field interlaced pictures,
only the first slice was decoded. This patch adds the neccesary looping over the
remaining slices that may exist in field interlaced pictures. Additionally, we align
the calculation of mby_start for the second field with the method given in VC-1 spec.

Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
2 years agoavcodec/vaapi_vc1: slice_vertical_position starts from zero for the second field
Jerome Borsboom [Wed, 9 May 2018 05:50:23 +0000 (07:50 +0200)]
avcodec/vaapi_vc1: slice_vertical_position starts from zero for the second field

Contrary to VC-1 spec, VAAPI expects the row address of the first
macroblock row in the first slice to start from zero for the second
field in a field interlaced picture.

Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
2 years agofftools/cmdutils: Replace the number by macro for bprint init
Jun Zhao [Sun, 10 Jun 2018 07:53:24 +0000 (15:53 +0800)]
fftools/cmdutils: Replace the number by macro for bprint init

Replace the number by macro for bprint init.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agotests/bprint: Replace the number by macro for bprint init
Jun Zhao [Sun, 10 Jun 2018 08:04:52 +0000 (16:04 +0800)]
tests/bprint: Replace the number by macro for bprint init

Replace the number by macro for bprint init.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agoavutil/log: Replace the number by macro for bprint init
Jun Zhao [Sun, 10 Jun 2018 08:03:40 +0000 (16:03 +0800)]
avutil/log: Replace the number by macro for bprint init

Replace the number by macro for bprint init.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agolavf/tedcaptionsdec: Replace the number by macro for bprint init
Jun Zhao [Sun, 10 Jun 2018 08:02:57 +0000 (16:02 +0800)]
lavf/tedcaptionsdec: Replace the number by macro for bprint init

Replace the number by macro for bprint init.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agolavf/icecast: Replace the number by macro for bprint init
Jun Zhao [Sun, 10 Jun 2018 08:02:15 +0000 (16:02 +0800)]
lavf/icecast: Replace the number by macro for bprint init

Replace the number by macro for bprint init.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agolavfi/graphdump: Replace the number by macro for bprint init
Jun Zhao [Sun, 10 Jun 2018 08:01:35 +0000 (16:01 +0800)]
lavfi/graphdump: Replace the number by macro for bprint init

Replace the number by macro for bprint init.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agolavfi/af_amerge: Replace the number by macro for bprint init
Jun Zhao [Sun, 10 Jun 2018 08:00:49 +0000 (16:00 +0800)]
lavfi/af_amerge: Replace the number by macro for bprint init

Replace the number by macro for bprint init.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agolavc/pngdec: Replace the number by macro for bprint init
Jun Zhao [Sun, 10 Jun 2018 08:00:02 +0000 (16:00 +0800)]
lavc/pngdec: Replace the number by macro for bprint init

Replace the number by macro for bprint init.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agolavc/dvdsubenc: Replace the number by macro for bprint init
Jun Zhao [Sun, 10 Jun 2018 07:59:03 +0000 (15:59 +0800)]
lavc/dvdsubenc: Replace the number by macro for bprint init

Replace the number by macro for bprint init.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agofftools/ffmpeg_filter: Replace the number by macro for bprint init
Jun Zhao [Sun, 10 Jun 2018 07:57:26 +0000 (15:57 +0800)]
fftools/ffmpeg_filter: Replace the number by macro for bprint init

Replace the number by macro for bprint init.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agofftools/ffmpeg: Replace the number by macro for bprint init
Jun Zhao [Sun, 10 Jun 2018 07:56:04 +0000 (15:56 +0800)]
fftools/ffmpeg: Replace the number by macro for bprint init

Replace the number by macro for bprint init.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agoavcodec/vc1: remove unused ff_vc1_loop_filter_iblk
Jerome Borsboom [Wed, 6 Jun 2018 18:47:32 +0000 (20:47 +0200)]
avcodec/vc1: remove unused ff_vc1_loop_filter_iblk

Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
2 years agoavcodec/vc1: rewrite vc1_decode_i_blocks to align with VC-1 spec
Jerome Borsboom [Tue, 12 Jun 2018 09:34:58 +0000 (11:34 +0200)]
avcodec/vc1: rewrite vc1_decode_i_blocks to align with VC-1 spec

Change vc1_decode_i_blocks to use vc1_put_blocks_clamped and
ff_vc1_i_loop_filter.

Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
2 years agoavcodec/vc1: add Simple and Main profile to vc1_put_signed_blocks_clamped
Jerome Borsboom [Wed, 6 Jun 2018 18:47:23 +0000 (20:47 +0200)]
avcodec/vc1: add Simple and Main profile to vc1_put_signed_blocks_clamped

Simple and Main profile also need unsigned put_pixels_clamped. Add an argument
to choose between signed and unsigned put_pixels and change function name to
vc1_put_blocks_clamped.

Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
2 years agoavcodec/vc1: fix overlap and loop filtering for Simple and Main profile
Jerome Borsboom [Fri, 8 Jun 2018 09:01:20 +0000 (11:01 +0200)]
avcodec/vc1: fix overlap and loop filtering for Simple and Main profile

Overlap filtering I and BI frames for Simple and Main profile is only
dependent on PQUANT. Restrict testing for CONDOVER and OVERFLAGS to
advanced profile. Change from mb_width to end_mb_x in ff_vc1_i_loop_filter
to avoid breaking the Microsoft Screen 2 decoder.

Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
2 years agoavcodec/vc1: fix overlap smoothing filter for P frames
Jerome Borsboom [Wed, 30 May 2018 11:53:48 +0000 (13:53 +0200)]
avcodec/vc1: fix overlap smoothing filter for P frames

The v_overlap_filter needs to run on the colocated block of the previous
macroblock. For the luma plane, the colocated block is located two blocks
on the left instead of one. In addition, the overlap filter needs to run
on the non-edge blocks of the first macroblock row and column.

Fixes ticket #7171.

Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
2 years agolavc/dpx: Allow packed 12-bit little-endian images.
Carl Eugen Hoyos [Sat, 16 Jun 2018 14:18:06 +0000 (16:18 +0200)]
lavc/dpx: Allow packed 12-bit little-endian images.

Can be tested with GraphicsMagick.

2 years agofate: correct filename references of qt-faststart binary
Gyan Doshi [Fri, 15 Jun 2018 17:08:26 +0000 (22:38 +0530)]
fate: correct filename references of qt-faststart binary

qt-faststart build doesn't have PROGSSUF added.

2 years agolavf/aviobuf: Increase Statistics verbosity to AV_LOG_VERBOSE.
Carl Eugen Hoyos [Thu, 14 Jun 2018 09:21:31 +0000 (11:21 +0200)]
lavf/aviobuf: Increase Statistics verbosity to AV_LOG_VERBOSE.

2 years agoavcodec/aacdec_fixed: Fix undefined integer overflow in apply_independent_coupling_fi...
Michael Niedermayer [Thu, 14 Jun 2018 14:41:49 +0000 (16:41 +0200)]
avcodec/aacdec_fixed: Fix undefined integer overflow in apply_independent_coupling_fixed()

Fixes: signed integer overflow: 1195517 * 2048 cannot be represented in type 'int'
Fixes: 8636/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AAC_FIXED_fuzzer-4695836326887424

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/dirac_dwt_template: Fix undefined behavior in interleave()
Michael Niedermayer [Thu, 14 Jun 2018 14:37:32 +0000 (16:37 +0200)]
avcodec/dirac_dwt_template: Fix undefined behavior in interleave()

Fixes: signed integer overflow: 2147483647 + 1 cannot be represented in type 'int'
Fixes: 8697/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5197148130902016

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 agoavutil/common: Fix undefined behavior in av_clip_uintp2_c()
Michael Niedermayer [Thu, 14 Jun 2018 13:41:33 +0000 (15:41 +0200)]
avutil/common: Fix undefined behavior in av_clip_uintp2_c()

Fixes: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself
Fixes: 8521/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5639024952737792

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/decode: Consider STRIDE_ALIGN in get_buffer_internal() when checking width
Michael Niedermayer [Thu, 14 Jun 2018 13:00:55 +0000 (15:00 +0200)]
avcodec/decode: Consider STRIDE_ALIGN in get_buffer_internal() when checking width

STRIDE_ALIGN is not known in libavutil so av_image_check_size* cannot consider it

Fixes: OOM
Fixes: 8291/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SNOW_fuzzer-5176528009691136

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 agoqt-faststart - print errors to stderr
erankor [Thu, 14 Jun 2018 11:06:14 +0000 (14:06 +0300)]
qt-faststart - print errors to stderr

instead of stdout

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoconfigure: simplify ffnvcodec version logic
Timo Rothenpieler [Fri, 15 Jun 2018 09:18:37 +0000 (11:18 +0200)]
configure: simplify ffnvcodec version logic

2 years agoavcodec/nvenc: enable nvenc encoder instance reuse
Pavel Koshevoy [Thu, 7 Jun 2018 15:08:15 +0000 (09:08 -0600)]
avcodec/nvenc: enable nvenc encoder instance reuse

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2 years agolavfi/atempo: raise max tempo limit (v2)
Pavel Koshevoy [Fri, 15 Jun 2018 01:19:17 +0000 (19:19 -0600)]
lavfi/atempo: raise max tempo limit (v2)

2 years agolavc/dpx: Reset n_datum for every new line when decoding 12bit.
Carl Eugen Hoyos [Wed, 13 Jun 2018 12:19:45 +0000 (14:19 +0200)]
lavc/dpx: Reset n_datum for every new line when decoding 12bit.

Fixes odd unpacked 12bit decoding.
Reported-by: Piotr Bandurski
2 years agoffmpeg: assert that audio packet duration in process_input_packet() is non negative
Michael Niedermayer [Wed, 13 Jun 2018 14:50:39 +0000 (16:50 +0200)]
ffmpeg: assert that audio packet duration in process_input_packet() is non negative

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agofftools/ffmpeg: Fallback to duration if sample rate is unavailable
Michael Niedermayer [Tue, 1 May 2018 20:44:07 +0000 (22:44 +0200)]
fftools/ffmpeg: Fallback to duration if sample rate is unavailable

Regression since: af1761f7
Fixes: Division by 0
Fixes: ffmpeg_crash_1

Found-by: Thuan Pham, Marcel Böhme, Andrew Santosa and Alexandru Razvan Caciulescu with AFLSmart
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/mov: Only set pkt->duration to non negative values
Michael Niedermayer [Wed, 16 May 2018 21:35:58 +0000 (23:35 +0200)]
avformat/mov: Only set pkt->duration to non negative values

Reviewed-by: Sasi Inguva <isasi@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agodoc/formats: get fflags values up-to-date
Gyan Doshi [Thu, 14 Jun 2018 11:58:45 +0000 (17:28 +0530)]
doc/formats: get fflags values up-to-date

2 years agoqt-faststart: add fate test for stco overflow
erankor [Mon, 11 Jun 2018 11:45:11 +0000 (14:45 +0300)]
qt-faststart: add fate test for stco overflow

verify that the stco atom is upgraded to co64 when the addition of moov
size to the offsets results in an overflow

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoqt-faststart - stco offset bug fix
erankor [Fri, 1 Jun 2018 06:55:45 +0000 (09:55 +0300)]
qt-faststart - stco offset bug fix

when the last offsets in the stco atom are close to 4GB, the addition of
the moov atom size can overflow, causing corruption near the end of the
mp4 file.
this patch upgrades all stco atoms to co64 when such an edge case is
detected. in order to accomplish this, the implementation was changed to
walk the atom tree, instead of searching for the strings 'stco'/'co64'.
this was required since when an stco atom is changed to co64, its size
changes, and the sizes of all containing atoms (moov, trak, etc.) have
to be updated as well.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoqt-faststart: add validation on ftyp atom size
erankor [Wed, 13 Jun 2018 08:48:20 +0000 (11:48 +0300)]
qt-faststart: add validation on ftyp atom size

avoid trying to allocate an unreasonably sized buffer on corrupt files

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/mpeg4videodec: Clear bits_per_raw_sample if it has originated from a previous...
Michael Niedermayer [Sat, 9 Jun 2018 20:25:38 +0000 (22:25 +0200)]
avcodec/mpeg4videodec: Clear bits_per_raw_sample if it has originated from a previous instance

Fixes: assertion failure
Fixes: ffmpeg_crash_5.avi

Found-by: Thuan Pham <thuanpv@comp.nus.edu.sg>, Marcel Böhme, Andrew Santosa and Alexandru Razvan Caciulescu with AFLSmart
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agodoc/devices: order alphabetically and add missing v4l2 outdev
Lou Logan [Wed, 13 Jun 2018 19:21:12 +0000 (11:21 -0800)]
doc/devices: order alphabetically and add missing v4l2 outdev

Signed-off-by: Lou Logan <lou@lrcd.com>
2 years agoavformat/movenc: fix recognization of cover image streams
Timo Teräs [Mon, 4 Jun 2018 14:36:19 +0000 (17:36 +0300)]
avformat/movenc: fix recognization of cover image streams

For chapter images, the mov demux produces streams with disposition set
to attached_pic+timed_thumbnails. This patch fixes to properly recognize
streams that should be encoded as cover image (ones with only and only
attached_pic disposition set).

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/movenc: properly handle cover image codecs
Timo Teräs [Thu, 31 May 2018 23:24:39 +0000 (02:24 +0300)]
avformat/movenc: properly handle cover image codecs

Find codec tag for attached images using appropriate list of
supported image formats.

This fixes writing the cover image to m4v/m4a and other container
formats that do not allow these codecs as a track.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/mov: Add check for per-sample IV size.
Jacob Trimble [Tue, 12 Jun 2018 21:26:20 +0000 (14:26 -0700)]
avformat/mov: Add check for per-sample IV size.

Found by Chrome's ClusterFuzz: http://crbug.com/849062.

Signed-off-by: Jacob Trimble <modmaker@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoconfigure: The eac3_core bitstream filter needs the ac3 parser.
Carl Eugen Hoyos [Tue, 12 Jun 2018 08:02:44 +0000 (10:02 +0200)]
configure: The eac3_core bitstream filter needs the ac3 parser.

Fixes linking with "--disable-everything --enable-bsf=eac3_core".

2 years agoavformat: deprecate unused MP4A_LATM flag
Gyan Doshi [Sun, 10 Jun 2018 14:48:10 +0000 (20:18 +0530)]
avformat: deprecate unused MP4A_LATM flag

A generic lavf flag for AAC LATM packetization for the RTP muxer was
added in ef409645f0 and then made inert 20 days later in 0832122880
when a private muxer option was added and the generic flag no longer
read.

2 years agoavdevice/decklink_dec: capture timecode to metadata when requested
Jon Morley [Thu, 31 May 2018 09:45:07 +0000 (02:45 -0700)]
avdevice/decklink_dec: capture timecode to metadata when requested

If the user provides a valid timecode_format look for timecode of that
format in the capture and if found store it on the video avstream's
metadata.

Slightly modified by Marton Balint to capture per-frame timecode as well.

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavdevice/decklink_common: Move DECKLINK_* string functions into header
Jon Morley [Fri, 25 May 2018 18:41:06 +0000 (11:41 -0700)]
avdevice/decklink_common: Move DECKLINK_* string functions into header

This allows other decklink source access to these cross-platform
convenience functions.

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavdevice/decklink_dec: use std::atomic for decklink_input_callback refcounting
Marton Balint [Mon, 4 Jun 2018 08:27:42 +0000 (10:27 +0200)]
avdevice/decklink_dec: use std::atomic for decklink_input_callback refcounting

Also remove the callback from the context, and add proper error handling.

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavdevice/decklink_dec: use a custom memory allocator
Marton Balint [Mon, 4 Jun 2018 08:02:46 +0000 (10:02 +0200)]
avdevice/decklink_dec: use a custom memory allocator

The default memory allocator is limited in the max number of frames available,
and therefore caused frame drops if the frames were not freed fast enough.

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agolavc/qsv: suppress code scan complain
Zhong Li [Wed, 9 May 2018 06:07:40 +0000 (14:07 +0800)]
lavc/qsv: suppress code scan complain

Suppress the complain "variables 'type' is used but maybe uninitialized".

2 years agopixdesc: Only check against valid entries when iterating over lists of enums
Derek Buitenhuis [Fri, 8 Jun 2018 15:40:29 +0000 (16:40 +0100)]
pixdesc: Only check against valid entries when iterating over lists of enums

Some of these enums have gaps in between their values, since they correspond
to the values in various specs, instead of being an incrementing list.

Fixes segfaults when, for example, using the valid API call:

   av_color_primaries_from_name("jecdec-p22");

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2 years agoavcodec/h264_slice: Fix overflow in recovery_frame computation
Michael Niedermayer [Fri, 8 Jun 2018 17:07:22 +0000 (19:07 +0200)]
avcodec/h264_slice: Fix overflow in recovery_frame computation

Fixes: signed integer overflow: 15 + 2147483646 cannot be represented in type 'int'
Fixes: 8381/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_H264_fuzzer-6225533137321984

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/h264_ps: Move MAX_LOG2_MAX_FRAME_NUM to header so it can be used in h264_sei
Michael Niedermayer [Sun, 10 Jun 2018 15:02:47 +0000 (17:02 +0200)]
avcodec/h264_ps: Move MAX_LOG2_MAX_FRAME_NUM to header so it can be used in h264_sei

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/h264_mc_template: Only prefetch motion if the list is used.
Michael Niedermayer [Fri, 8 Jun 2018 16:25:14 +0000 (18:25 +0200)]
avcodec/h264_mc_template: Only prefetch motion if the list is used.

Fixes: index 59 out of bounds for type 'H264Ref [48]'
Fixes: 8232/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_H264_fuzzer-5703295145345024

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/xwddec: Use ff_set_dimensions()
Michael Niedermayer [Thu, 7 Jun 2018 22:42:31 +0000 (00:42 +0200)]
avcodec/xwddec: Use ff_set_dimensions()

Fixes: OOM
Fixes: 8178/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_XWD_fuzzer-4844793342459904

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 agoavcodec/wavpack: Fix overflow in adding tail
Michael Niedermayer [Thu, 7 Jun 2018 22:07:04 +0000 (00:07 +0200)]
avcodec/wavpack: Fix overflow in adding tail

Fixes: signed integer overflow: 2146907204 + 26846088 cannot be represented in type 'int'
Fixes: 8105/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WAVPACK_fuzzer-6233036682166272

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/libzvbi-teletextdec: add support for selecting subtitle pages only
Marton Balint [Sat, 28 Apr 2018 19:42:34 +0000 (21:42 +0200)]
avcodec/libzvbi-teletextdec: add support for selecting subtitle pages only

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agolsws/rgb2rgb_template: Do not compile unneeded shuffle functions on big-endian.
Carl Eugen Hoyos [Sun, 10 Jun 2018 01:19:59 +0000 (03:19 +0200)]
lsws/rgb2rgb_template: Do not compile unneeded shuffle functions on big-endian.

Fixes the following warnings:
In file included from libswscale/rgb2rgb.c:128:0:
libswscale/rgb2rgb_template.c:346:13: warning: 'shuffle_bytes_3210_c' defined but not used
libswscale/rgb2rgb_template.c:346:13: warning: 'shuffle_bytes_3012_c' defined but not used
libswscale/rgb2rgb_template.c:346:13: warning: 'shuffle_bytes_1230_c' defined but not used

2 years agolavc/aacsbr: fix make checkheaders warning
Jun Zhao [Mon, 4 Jun 2018 13:42:18 +0000 (21:42 +0800)]
lavc/aacsbr: fix make checkheaders warning

move the the function aacsbr_tableinit definition from header file
to .c file to fix make checkheaders warning.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agolavc/dolby_e: fix make checkheaders warning
Jun Zhao [Mon, 4 Jun 2018 13:32:37 +0000 (21:32 +0800)]
lavc/dolby_e: fix make checkheaders warning

move the the function init_tables() definitions from header file
to .c file to fix make checkheaders warning.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agoffmpeg: Fail if the user requested impossible subtitle encoding.
Carl Eugen Hoyos [Wed, 6 Jun 2018 19:09:38 +0000 (21:09 +0200)]
ffmpeg: Fail if the user requested impossible subtitle encoding.

Fixes ticket #7239.

2 years agoavformat/mov: Fix reading saio/saiz for clear content.
Jacob Trimble [Thu, 7 Jun 2018 17:29:33 +0000 (10:29 -0700)]
avformat/mov: Fix reading saio/saiz for clear content.

This validates that the common encryption saio/saiz atoms only appear
when the data is actually encrypted.  This also ignores those atoms
in clear content.

Found by Chrome's ClusterFuzz: http://crbug.com/850389

Signed-off-by: Jacob Trimble <modmaker@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agodoc/filters: change subtitles example to hint at correct color syntax
Gyan Doshi [Sat, 9 Jun 2018 07:06:24 +0000 (12:36 +0530)]
doc/filters: change subtitles example to hint at correct color syntax

libass changed their color syntax in 2015 to TBGR

2 years agoavformat/mxfdec: add support for recognizing timed text streams
Marton Balint [Sat, 19 May 2018 10:29:51 +0000 (12:29 +0200)]
avformat/mxfdec: add support for recognizing timed text streams

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavcodec/avcodec.h: add AV_CODEC_ID_TTML
Marton Balint [Sat, 19 May 2018 09:06:23 +0000 (11:06 +0200)]
avcodec/avcodec.h: add AV_CODEC_ID_TTML

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavformat/mxfdec: remove check for NULL MXFTrack in mxf_set_pts
Marton Balint [Wed, 30 May 2018 23:32:29 +0000 (01:32 +0200)]
avformat/mxfdec: remove check for NULL MXFTrack in mxf_set_pts

It cannot happen for video streams.

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavformat/mxfdec: only disallow seek on metadata streams
Marton Balint [Wed, 30 May 2018 23:29:06 +0000 (01:29 +0200)]
avformat/mxfdec: only disallow seek on metadata streams

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavformat/mxfdec: recognize SMPTE 436 VBI data
Marton Balint [Sat, 19 May 2018 09:17:20 +0000 (11:17 +0200)]
avformat/mxfdec: recognize SMPTE 436 VBI data

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavformat/mxfdec: use MXFCodecUL struct to store essence description for data_essence_...
Marton Balint [Fri, 18 May 2018 19:06:17 +0000 (21:06 +0200)]
avformat/mxfdec: use MXFCodecUL struct to store essence description for data_essence_container_uls

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoffmpeg: mark sseof as an input-only option
Gyan Doshi [Thu, 7 Jun 2018 17:45:35 +0000 (23:15 +0530)]
ffmpeg: mark sseof as an input-only option

2 years agolibavfilter/dnn_interface.c: fix av_freep dnn_module.
Sergey Lavrushkin [Thu, 7 Jun 2018 15:22:22 +0000 (18:22 +0300)]
libavfilter/dnn_interface.c: fix av_freep dnn_module.

Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
2 years agolibavfilter/vf_srcnn.c: adds DNN module backend AVOption, changes AV_LOG_INFO message...
Sergey Lavrushkin [Tue, 5 Jun 2018 22:44:40 +0000 (01:44 +0300)]
libavfilter/vf_srcnn.c: adds DNN module backend AVOption, changes AV_LOG_INFO message to AV_LOG_VERBOSE.

Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
2 years agoMAINTAINERS: add myself to qsv section
Zhong Li [Mon, 4 Jun 2018 09:41:57 +0000 (17:41 +0800)]
MAINTAINERS: add myself to qsv section

Signed-off-by: Zhong Li <zhong.li@intel.com>
2 years agoavcodec/shorten: Fix multiple integer overflows
Michael Niedermayer [Tue, 5 Jun 2018 11:19:35 +0000 (13:19 +0200)]
avcodec/shorten: Fix multiple integer overflows

Fixes: signed integer overflow: 3 * 1006632960 cannot be represented in type 'int'
Fixes: 8278/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SHORTEN_fuzzer-5692857166856192

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/shorten: Fix undefined shift in fix_bitshift()
Michael Niedermayer [Tue, 5 Jun 2018 11:15:34 +0000 (13:15 +0200)]
avcodec/shorten: Fix undefined shift in fix_bitshift()

Fixes: left shift of negative value -9
Fixes: 8571/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SHORTEN_fuzzer-5715966875926528

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/shorten: Fix a negative left shift in shorten_decode_frame()
Michael Niedermayer [Tue, 5 Jun 2018 11:12:54 +0000 (13:12 +0200)]
avcodec/shorten: Fix a negative left shift in shorten_decode_frame()

Fixes: left shift of negative value -9057
Fixes: 8527/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SHORTEN_fuzzer-5666853924896768

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/shorten: Sanity check nmeans
Michael Niedermayer [Tue, 5 Jun 2018 11:03:48 +0000 (13:03 +0200)]
avcodec/shorten: Sanity check nmeans

Fixes: OOM
Fixes: 8195/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SHORTEN_fuzzer-5179785826271232

The reference software appears to use longs for 32bits and it uses int for nmeans
hinting that the intended maximum size was not 32bit.

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 agoconfigure: fix check for opencl
Jun Zhao [Sat, 2 Jun 2018 03:02:38 +0000 (11:02 +0800)]
configure: fix check for opencl

add pkg-config support for opencl check.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agolavfi/opencl: remove redundant header.
Jun Zhao [Wed, 30 May 2018 00:54:45 +0000 (08:54 +0800)]
lavfi/opencl: remove redundant header.

remove redundant header

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agolavu/hwcontext_opecl: fix the build warning
Jun Zhao [Wed, 30 May 2018 00:13:13 +0000 (08:13 +0800)]
lavu/hwcontext_opecl: fix the build warning

fix the build warning when use Portable Computing Language (pocl).

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2 years agodoc/general.texi: clarify FDK-AAC licensing & usability
Gyan Doshi [Thu, 7 Jun 2018 11:34:56 +0000 (17:04 +0530)]
doc/general.texi: clarify FDK-AAC licensing & usability

Mnetion it can be used to decode as well.

2 years agolavu: add calling convention for OpenCL callback.
Ruiling Song [Wed, 6 Jun 2018 15:31:44 +0000 (23:31 +0800)]
lavu: add calling convention for OpenCL callback.

This fix a build error on Windows:
C2440: connot convert from 'void (__cdecl *) (...)' to 'void (__stdcall *)(...)'.

Signed-off-by: Ruiling Song <ruiling.song@intel.com>
2 years agolavc/profiles: Mention AAC-LC only once.
Carl Eugen Hoyos [Wed, 30 May 2018 23:45:26 +0000 (01:45 +0200)]
lavc/profiles: Mention AAC-LC only once.

2 years agoavcodec/shorten: Check non COMM chunk len before skip in decode_aiff_header()
Michael Niedermayer [Tue, 5 Jun 2018 00:33:43 +0000 (02:33 +0200)]
avcodec/shorten: Check non COMM chunk len before skip in decode_aiff_header()

Fixes: signed integer overflow: 2147483647 + 1 cannot be represented in type 'int'
Fixes: 8024/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SHORTEN_fuzzer-5109204648984576

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/mjpegdec: Fix integer overflow in ljpeg_decode_rgb_scan()
Michael Niedermayer [Tue, 5 Jun 2018 00:17:24 +0000 (02:17 +0200)]
avcodec/mjpegdec: Fix integer overflow in ljpeg_decode_rgb_scan()

Fixes: signed integer overflow: 32768 + 2147450880 cannot be represented in type 'int'
Fixes: 7885/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_THP_fuzzer-5298834394578944

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/truemotion2: Fix overflow in tm2_apply_deltas()
Michael Niedermayer [Tue, 5 Jun 2018 00:09:59 +0000 (02:09 +0200)]
avcodec/truemotion2: Fix overflow in tm2_apply_deltas()

Fixes: signed integer overflow: 1077952576 + 1077952576 cannot be represented in type 'int'
Fixes: 7712/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TRUEMOTION2_fuzzer-5056281753681920

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 agoconfigure: fix arm inline asm checks
John Cox [Wed, 30 May 2018 16:30:31 +0000 (17:30 +0100)]
configure: fix arm inline asm checks

Commit 8c893aa3cd5 removed quotes that were required to detect
inline asm in clang:

check_insn armv5te qadd r0, r0, r0
.../test.c:1:34: error: expected string literal in 'asm'
void foo(void){ __asm__ volatile(qadd r0, r0, r0); }

The correct code is:

void foo(void){ __asm__ volatile("qadd r0, r0, r0"); }

Commit message written by Frank Liberato <liberato@chromium.org>

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agofate: add Dolby E test
foo86 [Mon, 31 Jul 2017 20:33:05 +0000 (23:33 +0300)]
fate: add Dolby E test

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoUse the same name for stereo3d frame/packet side data
Vittorio Giovara [Mon, 4 Jun 2018 19:05:55 +0000 (15:05 -0400)]
Use the same name for stereo3d frame/packet side data

2 years agolavf/mov.c: Set st->start_time for video streams explicitly.
Sasi Inguva [Tue, 29 May 2018 22:36:07 +0000 (15:36 -0700)]
lavf/mov.c: Set st->start_time for video streams explicitly.

If start_time is not set, ffmpeg takes the duration from the global
movie instead of the per stream duration.
Signed-off-by: Sasi Inguva <isasi@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolavf/mov.c: Fix timestamps to be strictly monotonic for video also.
Sasi Inguva [Thu, 29 Mar 2018 22:58:09 +0000 (15:58 -0700)]
lavf/mov.c: Fix timestamps to be strictly monotonic for video also.

We already do this for audio, but it should be done for video too.
If we don't, seeking back to the start of the file, for example, can
become quite broken, since the first N packets will have repeating
and nonmonotonic PTS, yet they need to be decoded even if they are
to be discarded.

Signed-off-by: Sasi Inguva <isasi@isasi.mtv.corp.google.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2 years agoAdds TensorFlow backend for dnn inference module.
Sergey Lavrushkin [Sun, 3 Jun 2018 17:22:50 +0000 (20:22 +0300)]
Adds TensorFlow backend for dnn inference module.

Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
2 years agoavcodec/magicyuvenc: mark as not more experimental
Paul B Mahol [Tue, 5 Jun 2018 09:28:48 +0000 (11:28 +0200)]
avcodec/magicyuvenc: mark as not more experimental

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavcodec/magicyuvenc: write max huffman length and extradata too
Paul B Mahol [Thu, 25 Jan 2018 13:55:17 +0000 (14:55 +0100)]
avcodec/magicyuvenc: write max huffman length and extradata too

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agodoc/filters: mention required compile options for some filters
Lou Logan [Tue, 5 Jun 2018 00:38:20 +0000 (16:38 -0800)]
doc/filters: mention required compile options for some filters

Signed-off-by: Lou Logan <lou@lrcd.com>
2 years agoavcodec/opus_silk: Change silk_lsf2lpc() slightly toward silk/NLSF2A.c
Michael Niedermayer [Sat, 2 Jun 2018 23:33:54 +0000 (01:33 +0200)]
avcodec/opus_silk: Change silk_lsf2lpc() slightly toward silk/NLSF2A.c

Fixes: runtime error: signed integer overflow: -1440457022 - 785819492 cannot be represented in type 'int'
Fixes: 7700/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_OPUS_fuzzer-6595838684954624

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/amrwbdec: Fix division by 0 in find_hb_gain()
Michael Niedermayer [Sat, 2 Jun 2018 22:48:06 +0000 (00:48 +0200)]
avcodec/amrwbdec: Fix division by 0 in find_hb_gain()

This restructures the code slightly toward D_UTIL_dec_synthesis()

Fixes: 7420/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AMRWB_fuzzer-6577305112543232

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 agofftools/ffmpeg: fix for all forced key frames when 'copyts' is enabled
Vishwanath Dixit [Sun, 6 May 2018 17:08:59 +0000 (22:38 +0530)]
fftools/ffmpeg: fix for all forced key frames when 'copyts' is enabled

Forced key frames generation functionality was assuming the first PTS
value as zero, but, when 'copyts' is enabled, the first PTS can be any
big number. This was eventually forcing all the frames as key frames.
To resolve this issue, update has been made to use first input pts as
reference pts.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/vc1: fix out-of-bounds reference pixel replication
Jerome Borsboom [Tue, 29 May 2018 12:26:17 +0000 (14:26 +0200)]
avcodec/vc1: fix out-of-bounds reference pixel replication

Out-of-bounds reference pixel replication should take into account the frame
coding mode of the reference frame(s), not the frame coding mode of the
current frame.

Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
2 years agoavfilter/drawtext: present 'hms' formatted 'pts' in 24h format
Vishwanath Dixit [Mon, 7 May 2018 13:16:42 +0000 (18:46 +0530)]
avfilter/drawtext: present 'hms' formatted 'pts' in 24h format

HMS is formatted as HH:MM:SS.mmm, but, HH part is not limited to
24 hours. For example, the the drawn text may look like this:
243029:20:30.342. To present the timestamp in more readable and
user friendly format, this patch provides an additional option
to limit the hour part in the range 0-23.

Note: Actually the above required format can be obtained with
format options 'localtime' and 'gmtime', but,  milliseconds part
is not supported in those formats.

2 years agov4l2_m2m: Mark V4L2 M2M decoders as unsuitable for probing
Mark Thompson [Sat, 26 May 2018 16:13:20 +0000 (17:13 +0100)]
v4l2_m2m: Mark V4L2 M2M decoders as unsuitable for probing