ffmpeg.git
4 hours agoavfilter/af_surround: export more channel's in/out gains master
Paul B Mahol [Tue, 23 Apr 2019 15:48:10 +0000 (17:48 +0200)]
avfilter/af_surround: export more channel's in/out gains

8 hours agoavfilter/af_surround: switch to activate
Paul B Mahol [Tue, 23 Apr 2019 10:40:04 +0000 (12:40 +0200)]
avfilter/af_surround: switch to activate

8 hours agoavfilter/af_surround: expose window size to user
Paul B Mahol [Tue, 23 Apr 2019 09:52:56 +0000 (11:52 +0200)]
avfilter/af_surround: expose window size to user

8 hours agoavfilter/af_surround: add 6.1/6.0 upmix from stereo
Paul B Mahol [Tue, 23 Apr 2019 08:17:58 +0000 (10:17 +0200)]
avfilter/af_surround: add 6.1/6.0 upmix from stereo

9 hours agoavcodec/cuviddec: improve progressive frame detection
Sergey Svechnikov [Mon, 22 Apr 2019 17:26:24 +0000 (22:26 +0500)]
avcodec/cuviddec: improve progressive frame detection

There are 2 types of problems when using adaptive deinterlace with cuvid:

1. Sometimes, in the middle of transcoding, cuvid outputs frames with visible horizontal lines (as though weave deinterlace method was chosen);
2. Occasionally, on scene changes, cuvid outputs a wrong frame, which should have been shown several seconds before (as if the frame was assigned some wrong PTS value).

The reason is that sometimes CUVIDPARSERDISPINFO has property progressive_frame equal to 1 with interlaced videos.
In order to fix the problem we should check if the video is interlaced or progressive in the beginning of a video sequence (cuvid_handle_video_sequence).
And then we just use this information instead of the property progressive_frame in CUVIDPARSERDISPINFO (which is unreliable).

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
19 hours agoexamples/avio_reading: Use avio_context_free() to free AVIOContext
Jun Zhao [Sun, 21 Apr 2019 02:59:53 +0000 (10:59 +0800)]
examples/avio_reading: Use avio_context_free() to free AVIOContext

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
23 hours agoavfilter/af_surround: make channel spread from stereo image user configurable
Paul B Mahol [Mon, 22 Apr 2019 18:44:35 +0000 (20:44 +0200)]
avfilter/af_surround: make channel spread from stereo image user configurable

23 hours agoavfilter/af_surround: add lfe_mode option
Paul B Mahol [Mon, 22 Apr 2019 15:11:01 +0000 (17:11 +0200)]
avfilter/af_surround: add lfe_mode option

23 hours agoavfilter/af_surround: avoid divisions with very small numbers
Paul B Mahol [Mon, 22 Apr 2019 13:18:58 +0000 (15:18 +0200)]
avfilter/af_surround: avoid divisions with very small numbers

28 hours agoavformat/mpegenc - reject unsupported audio streams
Gyan Doshi [Tue, 20 Feb 2018 15:12:21 +0000 (20:42 +0530)]
avformat/mpegenc - reject unsupported audio streams

Only MP1, MP2, MP3, 16-bit PCM_DVD, PCM S16BE,
AC3 and DTS audio codecs are supported by the muxer.

28 hours agolavf/oggparsevorbis: Fix change the case of metadata keys issue
Jun Zhao [Sun, 14 Apr 2019 15:22:25 +0000 (23:22 +0800)]
lavf/oggparsevorbis: Fix change the case of metadata keys issue

The spec in https://xiph.org/vorbis/doc/v-comment.html states that
the metadata keys are case-insensitive, so don't change the case
and update the fate test case.

Fix #7784

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
38 hours agoavformat/dashenc: Fix a bug with writing "final" manifest
Karthick J [Wed, 17 Apr 2019 05:56:07 +0000 (11:26 +0530)]
avformat/dashenc: Fix a bug with writing "final" manifest

This bug was introduced in the commit 951561b64ee6c11f01daedd9dcf73276cc1e765b

39 hours agoavformat/dashdec: add ProgramInformation parser
Steven Liu [Mon, 15 Apr 2019 11:18:30 +0000 (19:18 +0800)]
avformat/dashdec: add ProgramInformation parser

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
46 hours agoavcodec/agm: remove ;;
Michael Niedermayer [Sun, 21 Apr 2019 09:05:19 +0000 (11:05 +0200)]
avcodec/agm: remove ;;

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
46 hours agoavcodec/agm: Check for too many too short codes in make_new_tree()
Michael Niedermayer [Sun, 21 Apr 2019 09:05:18 +0000 (11:05 +0200)]
avcodec/agm: Check for too many too short codes in make_new_tree()

Fixes: SEGV on unknown address
Fixes: 14198/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AGM_fuzzer-5723579234123776

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>
46 hours agoavcodec/agm: Do not crash on invalid codes
Michael Niedermayer [Sun, 21 Apr 2019 09:05:17 +0000 (11:05 +0200)]
avcodec/agm: Do not crash on invalid codes

I do not know if such vlc trees are allowed in agm, I have no specification
So i do not know if these should be treated as error, or not.
But the code does contain a check for idx < 0 already ...

Fixes: Stack-buffer-overflow in get_tree_codes
Fixes: 14189/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AGM_fuzzer-5745747003179008

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>
46 hours agoavcodec/ccaption_dec: Add a blank like at the end to avoid rollup reading from outside
Michael Niedermayer [Sat, 20 Apr 2019 16:11:42 +0000 (18:11 +0200)]
avcodec/ccaption_dec: Add a blank like at the end to avoid rollup reading from outside

Fixes: index 20 out of bounds for type 'const char *[4][128]'
Fixes: 14367/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CCAPTION_fuzzer-5718819672162304

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 days agolavfi/avf_showwaves: fix extra gaps at end of waveform
Paul B Mahol [Sun, 21 Apr 2019 19:06:25 +0000 (21:06 +0200)]
lavfi/avf_showwaves: fix extra gaps at end of waveform

Fixes #5931.

2 days agoavcodec/dvdec: add frame threads
Paul B Mahol [Wed, 17 Apr 2019 16:15:51 +0000 (18:15 +0200)]
avcodec/dvdec: add frame threads

2 days agolavfi/frei0r: Fixes the compilation warnings
Jun Zhao [Sun, 21 Apr 2019 04:37:29 +0000 (12:37 +0800)]
lavfi/frei0r: Fixes the compilation warnings

Fixes the compilation warnings

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2 days agodoc/codecs: mention error returned for flag AV_CODEC_FLAG_DROPCHANGED
Gyan Doshi [Sun, 21 Apr 2019 04:37:17 +0000 (10:07 +0530)]
doc/codecs: mention error returned for flag AV_CODEC_FLAG_DROPCHANGED

2 days agodoc/mailing-list-faq: auto unsubscribe due to DMARC
Lou Logan [Sat, 20 Apr 2019 21:52:44 +0000 (13:52 -0800)]
doc/mailing-list-faq: auto unsubscribe due to DMARC

Signed-off-by: Lou Logan <lou@lrcd.com>
3 days agolavfi: add colorkey_opencl filter
Jarek Samic [Wed, 17 Apr 2019 02:08:49 +0000 (22:08 -0400)]
lavfi: add colorkey_opencl filter

This is a direct port of the CPU filter.

Signed-off-by: Jarek Samic <cldfire3@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
3 days agoavfilter: add lagfun filter
Paul B Mahol [Mon, 15 Apr 2019 20:00:00 +0000 (22:00 +0200)]
avfilter: add lagfun filter

3 days agoavfilter/vf_lut3d: add cineSpace 3D lut support
Paul B Mahol [Fri, 19 Apr 2019 17:44:45 +0000 (19:44 +0200)]
avfilter/vf_lut3d: add cineSpace 3D lut support

3 days agoavfilter/vf_lut3d: add cineSpace 1D lut parsing
Paul B Mahol [Fri, 19 Apr 2019 17:28:02 +0000 (19:28 +0200)]
avfilter/vf_lut3d: add cineSpace 1D lut parsing

3 days agodoc/filters: list values for af_surround window function
Gyan Doshi [Sat, 20 Apr 2019 11:34:54 +0000 (17:04 +0530)]
doc/filters: list values for af_surround window function

3 days agoavfilter/af_surround: allow user to change overlap and win_func
Paul B Mahol [Sat, 20 Apr 2019 10:02:50 +0000 (12:02 +0200)]
avfilter/af_surround: allow user to change overlap and win_func

3 days agodoc/APIchanges: update for 3153a6502a
Gyan Doshi [Sat, 20 Apr 2019 05:17:48 +0000 (10:47 +0530)]
doc/APIchanges: update for 3153a6502a

Entry for added avcodec flag AV_CODEC_FLAG_DROPCHANGED

3 days agoavcodec: add AV_CODEC_FLAG_DROPCHANGED to flags
Gyan Doshi [Sun, 14 Apr 2019 16:42:25 +0000 (22:12 +0530)]
avcodec: add AV_CODEC_FLAG_DROPCHANGED to flags

Discard decoded frames which differ from first decoded frame in stream.

3 days agolavf: bump version/add APIchanges entry when cleanup applehttp
Jun Zhao [Tue, 16 Apr 2019 05:43:53 +0000 (13:43 +0800)]
lavf: bump version/add APIchanges entry when cleanup applehttp

commit abfeba9 "lavf/hls: Cleanup the applehttp" missed
the version bump and APIchanges entry.

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
3 days agolavfi/fspp: Simplify a macro.
Carl Eugen Hoyos [Thu, 18 Apr 2019 12:05:21 +0000 (14:05 +0200)]
lavfi/fspp: Simplify a macro.

Silences a warning with clang:
warning: implicit conversion from 'int' to 'int16_t' (aka 'short') changes value from 44130 to -21406

3 days agoconfigure: Add .exe suffix to toolchain calls.
Carl Eugen Hoyos [Fri, 19 Apr 2019 22:12:34 +0000 (00:12 +0200)]
configure: Add .exe suffix to toolchain calls.

Allows in-tree msvc compilation with wsl.

4 days agoavcodec/pictordec: Only recalculate d when y changes in picmemset()
Michael Niedermayer [Fri, 12 Apr 2019 23:19:03 +0000 (01:19 +0200)]
avcodec/pictordec: Only recalculate d when y changes in picmemset()

Fixes: Timeout (21->18sec)
Fixes: 14124/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PICTOR_fuzzer-5633887734071296

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 days agoavcodec/pictordec: avoid pointers in picmemset()
Michael Niedermayer [Fri, 12 Apr 2019 23:17:12 +0000 (01:17 +0200)]
avcodec/pictordec: avoid pointers in picmemset()

Improves overall speed by about 3%
Testcase: 14124/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PICTOR_fuzzer-5633887734071296

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 days agoavcodec/wmv2dec: Check that the P frame secondary header fit in the input
Michael Niedermayer [Fri, 12 Apr 2019 22:15:27 +0000 (00:15 +0200)]
avcodec/wmv2dec: Check that the P frame secondary header fit in the input

Fixes: Timeout (64sec ->2 sec)
Fixes: 14131/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WMV2_fuzzer-5719879556005888

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 days agoavcodec/ivi: Move buffer/block end check to caller of ivi_dc_transform()
Michael Niedermayer [Thu, 11 Apr 2019 22:09:57 +0000 (00:09 +0200)]
avcodec/ivi: Move buffer/block end check to caller of ivi_dc_transform()

Fixes: assertion failure
Fixes: 14078/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_INDEO5_fuzzer-5760571284127744

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 days agoavcodec/diracdec: Use 64bit in intermediate of global motion vector field generation
Michael Niedermayer [Sun, 7 Apr 2019 14:44:53 +0000 (16:44 +0200)]
avcodec/diracdec: Use 64bit in intermediate of global motion vector field generation

It seems the specification does not limit the value to 32bit

Fixes: signed integer overflow: -109611143 * 24 cannot be represented in type 'int'
Fixes: 13477/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5648337460527104

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 days agoavformat/apetag: tag values are unsigned
Dan Sanders [Fri, 19 Apr 2019 00:12:14 +0000 (17:12 -0700)]
avformat/apetag: tag values are unsigned

Fixes: UBSan runtime error
Found-by: Clusterfuzz
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
4 days agolibavformat: improve logs with cur_dts
Andreas Hakon [Fri, 19 Apr 2019 07:58:37 +0000 (08:58 +0100)]
libavformat: improve logs with cur_dts

This patch improves the logs when the message "cur_dts is invalid" appears.
If helps to identify which stream generates the trouble,
and the status of the stream.
A lot of users suffers with the message, and the origin varies.
The improved message can help to discover the cause.

Signed-off-by: Andreas Hakon <andreas.hakon@protonmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 days agotests: don't include TARGET_PATH in the sample path needlessly
Hendrik Leppkes [Wed, 3 Apr 2019 22:17:43 +0000 (00:17 +0200)]
tests: don't include TARGET_PATH in the sample path needlessly

The transcode() helper function will already prepend the TARGET_PATH to
the sample path, if its a relative path. This avoids an issue on
Windows, where the relative path check could fail.

4 days agolavu/hwcontext_d3d: Cast src pointers calling av_image_copy*().
Carl Eugen Hoyos [Thu, 18 Apr 2019 11:55:29 +0000 (13:55 +0200)]
lavu/hwcontext_d3d: Cast src pointers calling av_image_copy*().

Silences several warnings:
libavutil/hwcontext_d3d11va.c:413:49: warning: passing argument 3 of ‘av_image_copy’ from incompatible pointer type
libavutil/hwcontext_d3d11va.c:425:47: warning: passing argument 3 of ‘av_image_copy’ from incompatible pointer type
libavutil/hwcontext_dxva2.c:351:45: warning: passing argument 3 of ‘av_image_copy’ from incompatible pointer type
libavutil/hwcontext_dxva2.c:382:52: warning: passing argument 3 of ‘av_image_copy_uc_from’ from incompatible pointer type

4 days agolavf/vc1dec: Reduce probe score for streams with invalid frames.
Carl Eugen Hoyos [Fri, 19 Apr 2019 12:06:29 +0000 (14:06 +0200)]
lavf/vc1dec: Reduce probe score for streams with invalid frames.

Fixes ticket #7853.

4 days agolavc/alac: Make a variable unsigned.
Carl Eugen Hoyos [Thu, 18 Apr 2019 11:51:07 +0000 (13:51 +0200)]
lavc/alac: Make a variable unsigned.

Fixes a bogus compiler warning (max_samples_per_frame is checked):
libavcodec/alac.c: In function ‘allocate_buffers’:
./libavutil/internal.h:142:9: warning: argument 1 value ‘18446744073709551552’ exceeds maximum object size 9223372036854775807

4 days agoavcodec/get_bits: unbreak get_bits_le() with cached reader
Paul B Mahol [Tue, 26 Mar 2019 10:10:54 +0000 (11:10 +0100)]
avcodec/get_bits: unbreak get_bits_le() with cached reader

4 days agolavf/utils: Allow url credentials to contain a slash.
Carl Eugen Hoyos [Thu, 28 Mar 2019 18:33:22 +0000 (19:33 +0100)]
lavf/utils: Allow url credentials to contain a slash.

Fixes ticket #7816.

4 days agoavutil/colorspace: add macros for RGB->YUV BT.709
Gyan Doshi [Sat, 13 Apr 2019 11:31:09 +0000 (17:01 +0530)]
avutil/colorspace: add macros for RGB->YUV BT.709

4 days agotests: Add EXESUF to program calls.
Carl Eugen Hoyos [Thu, 18 Apr 2019 01:24:35 +0000 (03:24 +0200)]
tests: Add EXESUF to program calls.

Fixes fate in Windows subsystem for Linux.

4 days agorename hls_segment_filename in fate-hls-segment-size for fate
Steven Liu [Thu, 18 Apr 2019 22:22:34 +0000 (06:22 +0800)]
rename hls_segment_filename in fate-hls-segment-size for fate

4 days agoadd tests/ref/fate/hls-segment-size for the fate test
Steven Liu [Thu, 18 Apr 2019 02:02:44 +0000 (10:02 +0800)]
add tests/ref/fate/hls-segment-size for the fate test

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
5 days agodoc/mailing-list-faq: add DMARC munging
Lou Logan [Thu, 18 Apr 2019 20:01:57 +0000 (12:01 -0800)]
doc/mailing-list-faq: add DMARC munging

Signed-off-by: Lou Logan <lou@lrcd.com>
5 days agodoc/encoders: Fix libvpx option name arnr-maxframes.
Carl Eugen Hoyos [Thu, 18 Apr 2019 11:39:58 +0000 (13:39 +0200)]
doc/encoders: Fix libvpx option name arnr-maxframes.

Fixes ticket #7856.

5 days agoUpdated documentation for libaom encoder options.
Sam John [Wed, 10 Apr 2019 00:55:51 +0000 (17:55 -0700)]
Updated documentation for libaom encoder options.

Signed-off-by: Gyan Doshi <ffmpeg@gyani.pro>
5 days agoavfilter/af_agate: implement mode option
Paul B Mahol [Wed, 17 Apr 2019 21:33:51 +0000 (23:33 +0200)]
avfilter/af_agate: implement mode option

6 days agoavfilter/af_sidechaincompress: implement mode option
Paul B Mahol [Wed, 17 Apr 2019 12:31:13 +0000 (14:31 +0200)]
avfilter/af_sidechaincompress: implement mode option

6 days agotests/fate: add fate-hls-segment-size for hls_segment_size test
Steven Liu [Sun, 14 Apr 2019 13:22:22 +0000 (21:22 +0800)]
tests/fate: add fate-hls-segment-size for hls_segment_size test

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
6 days agoavcodec/cbs_av1: use the new signed value read/write functions
James Almer [Mon, 15 Apr 2019 20:52:38 +0000 (17:52 -0300)]
avcodec/cbs_av1: use the new signed value read/write functions

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
6 days agoavcodec/cbs_h265: fix storage type for time_offset_value in Time Code SEI
James Almer [Mon, 15 Apr 2019 20:51:49 +0000 (17:51 -0300)]
avcodec/cbs_h265: fix storage type for time_offset_value in Time Code SEI

The spec defines it as an array of signed values, inferred to 0 when not
present.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
6 days agoavcodec/cbs_h264: fix storage type for time_offset in Pic Timing SEI
James Almer [Mon, 15 Apr 2019 20:50:01 +0000 (17:50 -0300)]
avcodec/cbs_h264: fix storage type for time_offset in Pic Timing SEI

The spec defines it as a signed value.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
6 days agoavcodec/cbs_h2645: add helper macros for signed values
James Almer [Mon, 15 Apr 2019 20:48:55 +0000 (17:48 -0300)]
avcodec/cbs_h2645: add helper macros for signed values

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
6 days agoavcodec/cbs: add helper functions and macros to read and write signed values
James Almer [Mon, 15 Apr 2019 20:46:53 +0000 (17:46 -0300)]
avcodec/cbs: add helper functions and macros to read and write signed values

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
6 days agoavcodec/cbs_av1: add support for Scalability Metadata
James Almer [Sun, 14 Apr 2019 21:52:38 +0000 (18:52 -0300)]
avcodec/cbs_av1: add support for Scalability Metadata

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
7 days agolavu/hwcontext_qsv: Mark a pointer as const.
Carl Eugen Hoyos [Tue, 16 Apr 2019 12:28:09 +0000 (14:28 +0200)]
lavu/hwcontext_qsv: Mark a pointer as const.

Silences a warning:
libavutil/hwcontext_qsv.c:912:15: warning: assignment discards 'const' qualifier from pointer target type

7 days agolavc/libaomenc: Mark a potentially unused variable as av_unused.
Carl Eugen Hoyos [Tue, 16 Apr 2019 12:20:43 +0000 (14:20 +0200)]
lavc/libaomenc: Mark a potentially unused variable as av_unused.

Fixes a warning:
libavcodec/libaomenc.c:816:9: warning: unused variable ‘pict_type’

7 days agoavformat/dashenc: Disable streaming for webm output
Karthick J [Wed, 10 Apr 2019 06:36:40 +0000 (12:06 +0530)]
avformat/dashenc: Disable streaming for webm output

Currently streaming for webm output doesn't work.
Disabling explicitly will make sure that the manifest will get generated correctly.

7 days agoavcodec/videotoolbox: add support for 10bit pixel format
fumoboy007 [Sat, 13 Apr 2019 14:36:00 +0000 (16:36 +0200)]
avcodec/videotoolbox: add support for 10bit pixel format

this patch was originally posted on issue #7704 and was slightly
adjusted to check for the availability of the pixel format.

7 days agolavfi/fspp: Remove two unused macros.
Carl Eugen Hoyos [Sun, 14 Apr 2019 20:56:17 +0000 (22:56 +0200)]
lavfi/fspp: Remove two unused macros.

7 days agoavdevice/decklink_common: add support for DeckLink SDK 11
Marton Balint [Thu, 14 Mar 2019 00:37:11 +0000 (01:37 +0100)]
avdevice/decklink_common: add support for DeckLink SDK 11

Fixes ticket #7789.

Signed-off-by: Marton Balint <cus@passwd.hu>
7 days agoavdevice/decklink_common: properly check DoesSupportVideoMode result when trying...
Marton Balint [Thu, 14 Mar 2019 01:13:56 +0000 (02:13 +0100)]
avdevice/decklink_common: properly check DoesSupportVideoMode result when trying VANC flag

Signed-off-by: Marton Balint <cus@passwd.hu>
7 days agoavdevice/decklink_dec: set configs before listing formats
Marton Balint [Thu, 14 Mar 2019 01:00:27 +0000 (02:00 +0100)]
avdevice/decklink_dec: set configs before listing formats

Format list can be input and profile dependant.

Signed-off-by: Marton Balint <cus@passwd.hu>
8 days agolavf/hls: Cleanup the applehttp
Jun Zhao [Fri, 12 Apr 2019 10:54:47 +0000 (18:54 +0800)]
lavf/hls: Cleanup the applehttp

Cleanup the applehttp as demuxer name, when use the command :

ffmpeg -formats, get the confused information like:
"
 E hls             Apple HTTP Live Streaming
D  hls,applehttp   Apple HTTP Live Streaming
"
we don't use applehttp as the demuxer/muxer name usually, so
cleanup the applehttp and update the documents.

After the change, get the information from "ffmpeg -formats":
"
DE hls             Apple HTTP Live Streaming
"

Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
8 days agolavf/rtsp.c: Fix stimeout option not applied on http tunnel
Jun Li [Mon, 15 Apr 2019 11:46:20 +0000 (19:46 +0800)]
lavf/rtsp.c: Fix stimeout option not applied on http tunnel

stimeout option is already used in tcp transport, since
http is based on tcp, pass the option to http for tunneling
case.

Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: Jun Li <junli1026@gmail.com>
8 days agoRevert "lavf/rtsp.c: Fix stimeout option not applied on http tunnel"
Steven Liu [Mon, 15 Apr 2019 11:45:39 +0000 (19:45 +0800)]
Revert "lavf/rtsp.c: Fix stimeout option not applied on http tunnel"

This reverts commit 1ae8a1073ba8a3ceb9f51d9350785c27530aa469.

8 days agolavf/rtsp.c: Fix stimeout option not applied on http tunnel
Signed-off-by: Jun Li [Mon, 15 Apr 2019 11:44:11 +0000 (19:44 +0800)]
lavf/rtsp.c: Fix stimeout option not applied on http tunnel

stimeout option is already used in tcp transport, since
http is based on tcp, pass the option to http for tunneling
case.

Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: Jun Li <junli1026@gmail.com>
8 days agoRevert "lavf/rtsp.c: Fix stimeout option not applied on http tunnel"
Steven Liu [Mon, 15 Apr 2019 11:43:21 +0000 (19:43 +0800)]
Revert "lavf/rtsp.c: Fix stimeout option not applied on http tunnel"

This reverts commit f502bd5432c9d7a34392ec3147bc5b5e3a868d9c.

8 days agolavf/rtsp.c: Fix stimeout option not applied on http tunnel
Steven Liu [Mon, 15 Apr 2019 07:24:56 +0000 (15:24 +0800)]
lavf/rtsp.c: Fix stimeout option not applied on http tunnel

stimeout option is already used in tcp transport, since
http is based on tcp, pass the option to http for tunneling
case.

Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: Jun Li <junli1026@gmail.com>
9 days agoavformat/mxfdec: use operational_pattern_ul instead of operational_pattern for metadata
Marton Balint [Sun, 14 Apr 2019 16:37:44 +0000 (18:37 +0200)]
avformat/mxfdec: use operational_pattern_ul instead of operational_pattern for metadata

This makes it more consistent with other metadata keys.

Signed-off-by: Marton Balint <cus@passwd.hu>
9 days agoavcodec/cbs_av1: add support for Padding OBUs
James Almer [Mon, 25 Mar 2019 03:11:39 +0000 (00:11 -0300)]
avcodec/cbs_av1: add support for Padding OBUs

Based on itut_t35 Matadata OBU parsing code.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
9 days agoavcodec/cbs_av1: add a function to strip trailing zeroes from a buffer size
James Almer [Sat, 13 Apr 2019 19:10:19 +0000 (16:10 -0300)]
avcodec/cbs_av1: add a function to strip trailing zeroes from a buffer size

Factor it out from cbs_av1_read_metadata_itut_t35()

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
9 days agoavformat/hlsenc: flush packets before update split message
Steven Liu [Sun, 14 Apr 2019 10:45:23 +0000 (18:45 +0800)]
avformat/hlsenc: flush packets before update split message

fix ticket: 7831

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
9 days agoavcodec/truemotion2: Fix integer overflow in tm2_decode_blocks()
Michael Niedermayer [Tue, 26 Mar 2019 23:39:56 +0000 (00:39 +0100)]
avcodec/truemotion2: Fix integer overflow in tm2_decode_blocks()

Fixes: signed integer overflow: 255 + 2147483634 cannot be represented in type 'int'
Fixes: 13472/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TRUEMOTION2_fuzzer-5712444142387200

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
10 days agoavcodec/imm4: flush prev_frame after seeking
Paul B Mahol [Sat, 13 Apr 2019 16:32:58 +0000 (18:32 +0200)]
avcodec/imm4: flush prev_frame after seeking

10 days agoavcodec: add LSCR decoder
Paul B Mahol [Fri, 12 Apr 2019 15:25:26 +0000 (17:25 +0200)]
avcodec: add LSCR decoder

Fixes #4711.

12 days agoavformat/file: add seekable option to disallow seeking
Marton Balint [Tue, 2 Apr 2019 23:13:55 +0000 (01:13 +0200)]
avformat/file: add seekable option to disallow seeking

Signed-off-by: Marton Balint <cus@passwd.hu>
12 days agoavformat/mxfdec: export operational pattern UL as file metadata
Marton Balint [Tue, 2 Apr 2019 16:24:21 +0000 (18:24 +0200)]
avformat/mxfdec: export operational pattern UL as file metadata

Can be useful for API users as ffmpeg/libavformat can't properly support some
operational patterns.

Signed-off-by: Marton Balint <cus@passwd.hu>
12 days agoconfigure: fix av1_frame_split bsf dependencies
James Almer [Thu, 11 Apr 2019 18:59:34 +0000 (15:59 -0300)]
configure: fix av1_frame_split bsf dependencies

Signed-off-by: James Almer <jamrial@gmail.com>
12 days agoavcodec: add an AV1 frame split bitstream filter
James Almer [Tue, 18 Dec 2018 00:56:27 +0000 (21:56 -0300)]
avcodec: add an AV1 frame split bitstream filter

This will be needed by the eventual native AV1 decoder.

Signed-off-by: James Almer <jamrial@gmail.com>
12 days agoavcodec/agm: Check frame dimensions
Michael Niedermayer [Wed, 10 Apr 2019 22:36:48 +0000 (00:36 +0200)]
avcodec/agm: Check frame dimensions

Fixes: out of array access
Fixes: 14110/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AGM_fuzzer-5649184864075776

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>
12 days agoavcodec: add ADPCM AGM decoder
Paul B Mahol [Wed, 10 Apr 2019 10:10:09 +0000 (12:10 +0200)]
avcodec: add ADPCM AGM decoder

12 days agoavcodec/agm: add support for non-dct coding
Paul B Mahol [Tue, 9 Apr 2019 11:57:53 +0000 (13:57 +0200)]
avcodec/agm: add support for non-dct coding

12 days agoavcodec/agm: add support for higher compression
Paul B Mahol [Fri, 29 Mar 2019 13:43:42 +0000 (14:43 +0100)]
avcodec/agm: add support for higher compression

12 days agoswscale/ppc: VSX-optimize non-full-chroma yuv2rgb_2
Lauri Kasanen [Fri, 5 Apr 2019 08:31:43 +0000 (11:31 +0300)]
swscale/ppc: VSX-optimize non-full-chroma yuv2rgb_2

./ffmpeg -f lavfi -i yuvtestsrc=duration=1:size=1200x1440 -sws_flags fast_bilinear \
        -s 1200x720 -f null -vframes 100 -pix_fmt $i -nostats \
        -cpuflags 0 -v error -

32-bit mul, power8 only.

~2x speedup:

rgb24
  24431 UNITS in yuv2packed2,   16384 runs,      0 skips
  13783 UNITS in yuv2packed2,   16383 runs,      1 skips
bgr24
  24396 UNITS in yuv2packed2,   16384 runs,      0 skips
  14059 UNITS in yuv2packed2,   16384 runs,      0 skips
rgba
  26815 UNITS in yuv2packed2,   16383 runs,      1 skips
  12797 UNITS in yuv2packed2,   16383 runs,      1 skips
bgra
  27060 UNITS in yuv2packed2,   16384 runs,      0 skips
  13138 UNITS in yuv2packed2,   16384 runs,      0 skips
argb
  26998 UNITS in yuv2packed2,   16384 runs,      0 skips
  12728 UNITS in yuv2packed2,   16381 runs,      3 skips
bgra
  26651 UNITS in yuv2packed2,   16384 runs,      0 skips
  13124 UNITS in yuv2packed2,   16384 runs,      0 skips

This is a low speedup, but the x86 mmx version also gets only ~2x. The mmx version
is also heavily inaccurate, while the vsx version has high accuracy.

12 days agoavcodec/pnm_parser: Factor out next/index compensation
Michael Niedermayer [Sat, 6 Apr 2019 12:43:14 +0000 (14:43 +0200)]
avcodec/pnm_parser: Factor out next/index compensation

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
12 days agoavcodec/pnm_parser: Factor next initialization out
Michael Niedermayer [Sat, 6 Apr 2019 12:41:33 +0000 (14:41 +0200)]
avcodec/pnm_parser: Factor next initialization out

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
12 days agoavcodec/pnm_parser: Support concatenated ASCII images
Michael Niedermayer [Sat, 6 Apr 2019 11:11:10 +0000 (13:11 +0200)]
avcodec/pnm_parser: Support concatenated ASCII images

Fixes: Timeout (8sec -> 0.1sec)
Fixes: 13864/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PAM_fuzzer-5737860621139968

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
13 days agoavdevice/opengl_enc: fix build error using msvc compiler
Don C. Bigler [Tue, 9 Apr 2019 14:54:45 +0000 (10:54 -0400)]
avdevice/opengl_enc: fix build error using msvc compiler

13 days agolibavformat/dashenc : Prevent writing manifest files multiple times
joepadmiraal [Mon, 8 Apr 2019 12:53:52 +0000 (14:53 +0200)]
libavformat/dashenc : Prevent writing manifest files multiple times

13 days agoaarch64/opusdsp: implement NEON accelerated postfilter and deemphasis
Lynne [Fri, 15 Mar 2019 14:37:31 +0000 (14:37 +0000)]
aarch64/opusdsp: implement NEON accelerated postfilter and deemphasis

153372 UNITS in postfilter_c,   65536 runs,      0 skips
73164 UNITS in postfilter_neon,   65536 runs,      0 skips -> 2.1x speedup

80591 UNITS in deemphasis_c,  131072 runs,      0 skips
43969 UNITS in deemphasis_neon,  131072 runs,      0 skips -> 1.83x speedup

Total decoder speedup: ~15% on a Raspberry Pi 3 (from 28.1x to 33.5x realtime)

Deemphasis SIMD based on the following unrolling:
const float c1 = CELT_EMPH_COEFF, c2 = c1*c1, c3 = c2*c1, c4 = c3*c1;
float state = coeff;

for (int i = 0; i < len; i += 4) {
    y[0] = x[0] + c1*state;
    y[1] = x[1] + c2*state + c1*x[0];
    y[2] = x[2] + c3*state + c1*x[1] + c2*x[0];
    y[3] = x[3] + c4*state + c1*x[2] + c2*x[1] + c3*x[0];

    state = y[3];
    y += 4;
    x += 4;
}

Unlike the x86 version, duplication is used instead of pslldq so
the structure and tables are different.

13 days agolibavutil/hwcontext_opencl: Fix channel order in format support check
Jarek Samic [Mon, 8 Apr 2019 02:01:23 +0000 (22:01 -0400)]
libavutil/hwcontext_opencl: Fix channel order in format support check

The `opencl_get_plane_format` function was incorrectly determining the
value used to set the image channel order. This resulted in all RGB
pixel formats being set to the `CL_RGBA` pixel format, regardless of
whether or not they actually *were* RGBA.

This patch fixes the issue by using the `offset` and depth of components
rather than the loop index to determine the value of `order`.

Signed-off-by: Jarek Samic <cldfire3@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 weeks agoavformat/matroskaenc: fix leak on error
Tristan Matthews [Thu, 4 Apr 2019 16:56:26 +0000 (12:56 -0400)]
avformat/matroskaenc: fix leak on error

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