ffmpeg.git
2 years agofftools/ffmpeg: replace call to av_strerror with av_err2str
Tobias Rapp [Mon, 26 Feb 2018 07:38:53 +0000 (08:38 +0100)]
fftools/ffmpeg: replace call to av_strerror with av_err2str

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2 years agoavformat/dashenc: Removed usage of deprecated 'filename' variable
Karthick Jeyapal [Sat, 24 Feb 2018 07:17:18 +0000 (12:47 +0530)]
avformat/dashenc: Removed usage of deprecated 'filename' variable

2 years agoavformat/dashenc: add option to change HTTP method
Serhii Marchuk [Fri, 23 Feb 2018 09:35:40 +0000 (11:35 +0200)]
avformat/dashenc: add option to change HTTP method

2 years agoavformat/utils: don't overwrite the return value of read_packet()
James Almer [Mon, 26 Feb 2018 03:18:53 +0000 (00:18 -0300)]
avformat/utils: don't overwrite the return value of read_packet()

This only affected demuxers that didn't return reference counted packets.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoconfigure: add missing audio_frame_queue dependency to vorbis encoder
James Almer [Mon, 26 Feb 2018 04:43:54 +0000 (01:43 -0300)]
configure: add missing audio_frame_queue dependency to vorbis encoder

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agocheckasm/vf_blend : add test for blend_simple_16, phoenix_16 and difference_16
Martin Vignali [Sat, 17 Feb 2018 20:02:12 +0000 (21:02 +0100)]
checkasm/vf_blend : add test for blend_simple_16, phoenix_16 and difference_16

2 years agoavfilter/x86/vf_blend : add 16 bit version for BLEND_SIMPLE, phoenix, difference...
Martin Vignali [Sat, 17 Feb 2018 20:01:34 +0000 (21:01 +0100)]
avfilter/x86/vf_blend : add 16 bit version for BLEND_SIMPLE, phoenix, difference for SSE and AVX2 (x86_64)

2 years agoavfilter/x86/vf_blend : indent
Martin Vignali [Sat, 17 Feb 2018 19:49:32 +0000 (20:49 +0100)]
avfilter/x86/vf_blend : indent

2 years agoavfilter/x86/vf_blend : reorganize init in order to add 16 bit version
Martin Vignali [Sat, 17 Feb 2018 19:49:12 +0000 (20:49 +0100)]
avfilter/x86/vf_blend : reorganize init in order to add 16 bit version

2 years agocheckasm/vf_blend : add depth param in order to add test for 16 bit version
Martin Vignali [Sat, 17 Feb 2018 19:48:42 +0000 (20:48 +0100)]
checkasm/vf_blend : add depth param in order to add test for 16 bit version

2 years agofate/exr : add test for long name flag
Martin Vignali [Fri, 9 Feb 2018 08:16:04 +0000 (09:16 +0100)]
fate/exr : add test for long name flag

ticket 6994

2 years agoavcodec/exr : add support for long name flag and be more explicit about unsupported...
Martin Vignali [Sat, 17 Feb 2018 19:44:12 +0000 (20:44 +0100)]
avcodec/exr : add support for long name flag and be more explicit about unsupported flag

based-on patch by Carl Eugen Hoyos

Fix ticket 6994

2 years agoavformat/concatdec: add support for very long line sizes
Marton Balint [Sat, 3 Feb 2018 21:05:21 +0000 (22:05 +0100)]
avformat/concatdec: add support for very long line sizes

Fixes ticket #6761.

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavformat/aviobuf: add ff_read_line_to_bprint and ff_read_line_to_bprint_overwrite...
Marton Balint [Sat, 3 Feb 2018 21:03:58 +0000 (22:03 +0100)]
avformat/aviobuf: add ff_read_line_to_bprint and ff_read_line_to_bprint_overwrite functions

To be able to read lines longer than a static buffer size.

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoAdd myself as codec2 maintainer
Tomas Härdin [Tue, 13 Feb 2018 10:46:44 +0000 (11:46 +0100)]
Add myself as codec2 maintainer

2 years agoDon't complain about codec2's 700 bit/s modes in ffmpeg.c
Tomas Härdin [Thu, 3 Aug 2017 15:33:04 +0000 (17:33 +0200)]
Don't complain about codec2's 700 bit/s modes in ffmpeg.c

2 years agoAdd muxer/demuxer for raw codec2 and .c2 files
Tomas Härdin [Tue, 8 Aug 2017 13:28:06 +0000 (15:28 +0200)]
Add muxer/demuxer for raw codec2 and .c2 files

2 years agoAdd libcodec2 en/decoder
Tomas Härdin [Tue, 8 Aug 2017 13:27:27 +0000 (15:27 +0200)]
Add libcodec2 en/decoder

2 years agoavformat/dashenc: chunk streaming support for low latency use cases
Vishwanath Dixit [Mon, 19 Feb 2018 05:55:36 +0000 (11:25 +0530)]
avformat/dashenc: chunk streaming support for low latency use cases

2 years agoavformat/dashenc: opening a segment file when its first frame is ready
Vishwanath Dixit [Mon, 19 Feb 2018 05:55:25 +0000 (11:25 +0530)]
avformat/dashenc: opening a segment file when its first frame is ready

2 years agoffmpeg_opt: fix max_error_rate help info display issue.
Jun Zhao [Fri, 23 Feb 2018 07:58:10 +0000 (15:58 +0800)]
ffmpeg_opt: fix max_error_rate help info display issue.

ffmpeg -h display "max_error_rate" option help information have
been cut off, the root cause is used a wrong initial order.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/smc: Check input packet size
Michael Niedermayer [Fri, 23 Feb 2018 02:40:02 +0000 (03:40 +0100)]
avcodec/smc: Check input packet size

Fixes: Timeout
Fixes: 6261/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SMC_fuzzer-5811309653262336

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/bitstream_filters: documents delete_filler option.
Jun Zhao [Fri, 23 Feb 2018 07:02:29 +0000 (15:02 +0800)]
doc/bitstream_filters: documents delete_filler option.

documents delete_filler option for bsf h264_metadata.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/hvcc: zero initialize the nal buffers past the last written byte
James Almer [Fri, 23 Feb 2018 03:03:15 +0000 (00:03 -0300)]
avformat/hvcc: zero initialize the nal buffers past the last written byte

Prevents use of uninitialized values.

Fixes ticket #7038.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/Makefile: add missing dependencies for some cuvid decoders
James Almer [Sat, 24 Feb 2018 00:52:42 +0000 (21:52 -0300)]
avcodec/Makefile: add missing dependencies for some cuvid decoders

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agolavfi/vf_transpose: fix regression with semiplanar formats
Rodger Combs [Thu, 22 Feb 2018 04:01:51 +0000 (22:01 -0600)]
lavfi/vf_transpose: fix regression with semiplanar formats

(e.g. nv12)

Regression since 7b19e76aeb0ace57b99aaef156bbfe592e43e65e

2 years agoavformat/mpegts: set AV_DISPOSITION_DEPENDENT for mix_type=0 supplementary audio
Aman Gupta [Fri, 23 Feb 2018 21:38:33 +0000 (13:38 -0800)]
avformat/mpegts: set AV_DISPOSITION_DEPENDENT for mix_type=0 supplementary audio

Signed-off-by: Aman Gupta <aman@tmm1.net>
2 years agoavformat/dump: tag AV_DISPOSITION_DESCRIPTIONS streams
Aman Gupta [Fri, 23 Feb 2018 21:38:20 +0000 (13:38 -0800)]
avformat/dump: tag AV_DISPOSITION_DESCRIPTIONS streams

Signed-off-by: Aman Gupta <aman@tmm1.net>
2 years agolavf/mpegts: add supplementary audio descriptor
Stefan Pöschel [Tue, 20 Feb 2018 17:15:00 +0000 (18:15 +0100)]
lavf/mpegts: add supplementary audio descriptor

The supplementary audio descriptor is defined in ETSI EN 300 468 and
provides more details regarding accessibility audio tracks, especially
the normative annex J contains a detailed description of its use.

Its language code (if present) overrides the language code of an also
present ISO 639 language descriptor.

Note that this also changes the priority of multiple descriptors with
language from "the last descriptor with language within the ES loop" to
"specific descriptor over general ISO 639 descriptor".

Signed-off-by: Aman Gupta <aman@tmm1.net>
2 years agohlsenc: Fixing HLS_TEMP_FILE usage with HLS_SECOND_LEVEL_SEGMENT_...
Bela Bodecs [Mon, 19 Feb 2018 20:36:25 +0000 (21:36 +0100)]
hlsenc: Fixing HLS_TEMP_FILE usage with HLS_SECOND_LEVEL_SEGMENT_...

Currently using HLS_TEMP together with HLS_SECOND_LEVEL_SEGMENT_DURATION
or HLS_SECOND_LEVEL_SEGMENT_SIZE gives error at end of each segment
writing and the final segment file names do not contain the desired
data. This patch fixes this bug by delaying the initilization of
original segment filename after actual temp file renaming will skip the
interfering.

Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
2 years agoavutil/timecode: fix starting frame number for 59.94 fps
Gyan Doshi [Thu, 22 Feb 2018 12:34:42 +0000 (18:04 +0530)]
avutil/timecode: fix starting frame number for 59.94 fps

The existing code for adjusting starting frame number assumes 29.97 as
stream fps.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/flvdec: Set broken_sizes for FlixEngine.
Nikolas Bowe [Fri, 16 Feb 2018 23:25:17 +0000 (15:25 -0800)]
avformat/flvdec: Set broken_sizes for FlixEngine.

we found some very old videos which suffered from
corruption after 9e6a2427558a718be0c1fffacffd935f630a7a8d, but were fine
before.
These had "End of AC stream reached in vp6_parse_coeff" warnings in logs.
These also had flv Packet mismatch warnings.
Adding FlixEngine to the list of flv muxers which produce broken packet
sizes fixes this corruption.

FlixEngine is very old and not maintained or available anymore (since
2010), so we won't need to worry about newer versions fixing the issue.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agodoc/filters: add links to ffmpeg-utils and ffmpeg documentation
Tobias Rapp [Thu, 22 Feb 2018 07:53:03 +0000 (08:53 +0100)]
doc/filters: add links to ffmpeg-utils and ffmpeg documentation

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2 years agoParse and drop gain control data, so that SSR packets decode.
Dale Curtis [Fri, 16 Feb 2018 00:22:55 +0000 (16:22 -0800)]
Parse and drop gain control data, so that SSR packets decode.

This will result in poor quality audio for SSR streams, but they
will at least demux and decode without error; partially fixing
ticket #1693.

This pulls in the decode_gain_control() function from the
ffmpeg summer-of-code repo (original author Maxim Gavrilov) at
svn://svn.mplayerhq.hu/soc/aac/aac.c with some minor modifications
and adds AOT_AAC_SSR to decode_audio_specific_config_gb().

Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Co-authored-by: Maxim Gavrilov <maxim.gavrilov@gmail.com>
2 years agoavcodec/nvdec: Implement mjpeg nvdec hwaccel
Philip Langdale [Sun, 18 Feb 2018 23:53:33 +0000 (15:53 -0800)]
avcodec/nvdec: Implement mjpeg nvdec hwaccel

2 years agovaapi: Add MJPEG decode hwaccel
Mark Thompson [Thu, 23 Nov 2017 23:47:52 +0000 (23:47 +0000)]
vaapi: Add MJPEG decode hwaccel

2 years agovaapi_decode: Make the frames context format selection more general
Mark Thompson [Mon, 19 Feb 2018 20:04:31 +0000 (20:04 +0000)]
vaapi_decode: Make the frames context format selection more general

Examine the supported fourcc list manually and make the best choice, then
use the external attribute on the frames context to force that fourcc.

2 years agohwcontext_vaapi: Fix frames context creation with external attributes
Mark Thompson [Mon, 19 Feb 2018 20:04:25 +0000 (20:04 +0000)]
hwcontext_vaapi: Fix frames context creation with external attributes

2 years agohwcontext_vaapi: Add more surface formats
Mark Thompson [Mon, 19 Feb 2018 20:03:08 +0000 (20:03 +0000)]
hwcontext_vaapi: Add more surface formats

Adds YUV 4:1:1, 4:4:0 and 4:4:4 - these will be needed for JPEG decoding.

2 years agomjpegdec: Add hwaccel hooks
Mark Thompson [Thu, 23 Nov 2017 23:45:32 +0000 (23:45 +0000)]
mjpegdec: Add hwaccel hooks

Also adds some extra fields to the main context structure that may
be needed by a hwaccel decoder.

2 years agolavc/mjpeg: Add profiles for MJPEG using SOF marker codes
Mark Thompson [Thu, 23 Nov 2017 22:44:27 +0000 (22:44 +0000)]
lavc/mjpeg: Add profiles for MJPEG using SOF marker codes

This is needed by later hwaccel code to tell which encoding process was
used for a particular frame, because hardware decoders may only support a
subset of possible methods.

2 years agoavcodec/cavsdec: Check alpha/beta offset
Michael Niedermayer [Tue, 20 Feb 2018 22:11:01 +0000 (23:11 +0100)]
avcodec/cavsdec: Check alpha/beta offset

Fixes: Integer overflow
Fixes: 6183/clusterfuzz-testcase-minimized-6269224436629504

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/mpegenc - log error msgs for unsupported LPCM streams
Gyan Doshi [Tue, 20 Feb 2018 15:01:28 +0000 (20:31 +0530)]
avformat/mpegenc - log error msgs for unsupported LPCM streams

The MPEG-PS muxer only accepts PCM streams having up to 8 channels
and the following sampling rates: 32/44.1/48/96 kHz.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolibavfilter/vf_fps: Add tests for start_time option
Calvin Walton [Tue, 20 Feb 2018 00:54:35 +0000 (19:54 -0500)]
libavfilter/vf_fps: Add tests for start_time option

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavdevice: add android_camera indev
Felix Matouschek [Tue, 20 Feb 2018 08:41:46 +0000 (09:41 +0100)]
avdevice: add android_camera indev

This commit adds an indev for Android devices on API level 24+ which
uses the Android NDK Camera2 API to capture video from builtin cameras

Signed-off-by: Felix Matouschek <felix@matouschek.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoMerge commit '6d5a6dde5301c81e221a37b3f39bb03149492b98'
Mark Thompson [Wed, 21 Feb 2018 22:54:07 +0000 (22:54 +0000)]
Merge commit '6d5a6dde5301c81e221a37b3f39bb03149492b98'

* commit '6d5a6dde5301c81e221a37b3f39bb03149492b98':
  h264_metadata: Add option to delete filler data

Fixes #6899.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit 'eccc03c8fbc603a0a3257df66f0705f74fe2581a'
Mark Thompson [Wed, 21 Feb 2018 22:43:13 +0000 (22:43 +0000)]
Merge commit 'eccc03c8fbc603a0a3257df66f0705f74fe2581a'

* commit 'eccc03c8fbc603a0a3257df66f0705f74fe2581a':
  cbs_h264: Add support for filler NAL units

Some bitstream -> get_bits.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '7157d959264f3729da463725c6faa580d9394d19'
Mark Thompson [Wed, 21 Feb 2018 22:41:00 +0000 (22:41 +0000)]
Merge commit '7157d959264f3729da463725c6faa580d9394d19'

* commit '7157d959264f3729da463725c6faa580d9394d19':
  cbs_h264: Move slice_group_id array out of PPS structure

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '78fa0b9033c0834c049e2aedf71a8c613fed87ab'
Mark Thompson [Wed, 21 Feb 2018 22:40:08 +0000 (22:40 +0000)]
Merge commit '78fa0b9033c0834c049e2aedf71a8c613fed87ab'

* commit '78fa0b9033c0834c049e2aedf71a8c613fed87ab':
  h264_metadata: Always add the SEI user data to the first access unit

Mostly already present from a308872b049e33f69f4b629a06f47e3681906b93,
one cosmetic change applied.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoAdd -vf scale example for making pixels square
Tomas Härdin [Mon, 19 Feb 2018 17:42:25 +0000 (18:42 +0100)]
Add -vf scale example for making pixels square

This is a common use case.

2 years agoMerge commit '69062d0f9b6aef5d9d9b8c9c9b5cfb23037caddb'
Mark Thompson [Wed, 21 Feb 2018 22:32:42 +0000 (22:32 +0000)]
Merge commit '69062d0f9b6aef5d9d9b8c9c9b5cfb23037caddb'

* commit '69062d0f9b6aef5d9d9b8c9c9b5cfb23037caddb':
  h264_metadata: Use common SEI addition function

Minor changes because the following patch is already present.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit 'a2ca8ed903b435446031a8a0792ca535e6ee2913'
Mark Thompson [Wed, 21 Feb 2018 22:27:07 +0000 (22:27 +0000)]
Merge commit 'a2ca8ed903b435446031a8a0792ca535e6ee2913'

* commit 'a2ca8ed903b435446031a8a0792ca535e6ee2913':
  cbs_h264: Add utility functions to insert/delete SEI messages

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit 'ce5870a3a8f2b10668ee4f04c2ae0287f66f31b2'
Mark Thompson [Wed, 21 Feb 2018 22:22:54 +0000 (22:22 +0000)]
Merge commit 'ce5870a3a8f2b10668ee4f04c2ae0287f66f31b2'

* commit 'ce5870a3a8f2b10668ee4f04c2ae0287f66f31b2':
  cbs: Refcount all the things!

Some changes for bitstream API.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '13ca5d34ba5c473211daaae0a101123bcaada3e6'
Mark Thompson [Wed, 21 Feb 2018 22:05:15 +0000 (22:05 +0000)]
Merge commit '13ca5d34ba5c473211daaae0a101123bcaada3e6'

* commit '13ca5d34ba5c473211daaae0a101123bcaada3e6':
  cbs_h264: Add hack for pic_timing with no active SPS

Partially fixes #6896 - the sample stream from that ticket now works, but
more obscure cases can still fail.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '0e4c166cdd6446522a085dd9731967d09ac71f72'
Mark Thompson [Wed, 21 Feb 2018 22:03:15 +0000 (22:03 +0000)]
Merge commit '0e4c166cdd6446522a085dd9731967d09ac71f72'

* commit '0e4c166cdd6446522a085dd9731967d09ac71f72':
  cbs_h2645: Remove active ps references when it is replaced

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit 'a3daecd6375279d9fdb863ac9db3545a33e97651'
Mark Thompson [Wed, 21 Feb 2018 21:54:42 +0000 (21:54 +0000)]
Merge commit 'a3daecd6375279d9fdb863ac9db3545a33e97651'

* commit 'a3daecd6375279d9fdb863ac9db3545a33e97651':
  cbs: Demote the "decomposition unimplemented" warning

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '67eb2b16daa77f6ba3e04a28ca18e53193723b7f'
Mark Thompson [Wed, 21 Feb 2018 21:52:20 +0000 (21:52 +0000)]
Merge commit '67eb2b16daa77f6ba3e04a28ca18e53193723b7f'

* commit '67eb2b16daa77f6ba3e04a28ca18e53193723b7f':
  vaapi_h265: Mark unused entries in RefPicList[01] as explicitly invalid

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '216c44dfc17252ec0681dcb0bbeeb45a9d14eca7'
Mark Thompson [Wed, 21 Feb 2018 21:51:28 +0000 (21:51 +0000)]
Merge commit '216c44dfc17252ec0681dcb0bbeeb45a9d14eca7'

* commit '216c44dfc17252ec0681dcb0bbeeb45a9d14eca7':
  vaapi_encode: Destroy output buffer pool before VA context

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit 'c8e135ea9225137050a6315fd9ba9c0f242c90b6'
Mark Thompson [Wed, 21 Feb 2018 21:46:09 +0000 (21:46 +0000)]
Merge commit 'c8e135ea9225137050a6315fd9ba9c0f242c90b6'

* commit 'c8e135ea9225137050a6315fd9ba9c0f242c90b6':
  vaapi_encode: Allocate slice structures and parameter buffers dynamically

Already present as e4a6eb70f471eda36592078e8fa1bad87fc9df73, one minor
fix for libav merged.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agodoc/ffmpeg: document -dn option
Lou Logan [Wed, 21 Feb 2018 21:32:23 +0000 (12:32 -0900)]
doc/ffmpeg: document -dn option

Also mention -map in the -vn, -an, and -sn options.

Fixes #7036.

Signed-off-by: Lou Logan <lou@lrcd.com>
2 years agoMerge commit '254e728d207c173a3714e6a01c9d68fcb3af8b73'
Mark Thompson [Wed, 21 Feb 2018 21:36:08 +0000 (21:36 +0000)]
Merge commit '254e728d207c173a3714e6a01c9d68fcb3af8b73'

* commit '254e728d207c173a3714e6a01c9d68fcb3af8b73':
  cbs: Minor comment fixes / cosmetics

Mostly already present, one small fix.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '1d12a545ce828eaf4fb37295400008ea37635ab8'
Mark Thompson [Wed, 21 Feb 2018 21:25:48 +0000 (21:25 +0000)]
Merge commit '1d12a545ce828eaf4fb37295400008ea37635ab8'

* commit '1d12a545ce828eaf4fb37295400008ea37635ab8':
  cbs: Add an explicit type for coded bitstream unit types

Mostly already present from 6734eef6b8b464139fdc140ec9bc9e8d74173869, two
minor message changes are merged.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '2651352988212531038326c44754ece1728c4a3b'
Mark Thompson [Wed, 21 Feb 2018 21:23:50 +0000 (21:23 +0000)]
Merge commit '2651352988212531038326c44754ece1728c4a3b'

* commit '2651352988212531038326c44754ece1728c4a3b':
  cbs: Allocate the context inside the init function

This commit is a noop, see 6734eef6b8b464139fdc140ec9bc9e8d74173869

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoh264_metadata: Add option to delete filler data
Mark Thompson [Mon, 11 Dec 2017 00:30:54 +0000 (00:30 +0000)]
h264_metadata: Add option to delete filler data

Deletes both filler NAL units and filler SEI messages.  (Annex B zero_bytes
between NAL units are already discarded by the read/write process.)

2 years agocbs_h264: Add support for filler NAL units
Mark Thompson [Sun, 11 Feb 2018 17:33:15 +0000 (17:33 +0000)]
cbs_h264: Add support for filler NAL units

2 years agocbs_h264: Move slice_group_id array out of PPS structure
Mark Thompson [Sun, 11 Feb 2018 00:57:46 +0000 (00:57 +0000)]
cbs_h264: Move slice_group_id array out of PPS structure

It's very large, and is only used in some FMO streams.

2 years agoh264_metadata: Always add the SEI user data to the first access unit
Mark Thompson [Sun, 11 Feb 2018 15:41:07 +0000 (15:41 +0000)]
h264_metadata: Always add the SEI user data to the first access unit

This should be added even if the first access unit does not contain
parameter sets.

2 years agoh264_metadata: Use common SEI addition function
Mark Thompson [Sun, 11 Feb 2018 15:38:02 +0000 (15:38 +0000)]
h264_metadata: Use common SEI addition function

2 years agocbs_h264: Add utility functions to insert/delete SEI messages
Mark Thompson [Sun, 11 Feb 2018 15:37:34 +0000 (15:37 +0000)]
cbs_h264: Add utility functions to insert/delete SEI messages

2 years agocbs: Refcount all the things!
Mark Thompson [Sun, 11 Feb 2018 00:51:33 +0000 (00:51 +0000)]
cbs: Refcount all the things!

This makes it easier for users of the CBS API to get alloc/free right -
all subelements use the buffer API so that it's clear how to free them.
It also allows eliding some redundant copies: the packet -> fragment copy
disappears after this change if the input packet is refcounted, and more
codec-specific cases are now possible (but not included in this patch).

2 years agocbs_h264: Add hack for pic_timing with no active SPS
Mark Thompson [Mon, 11 Dec 2017 00:22:42 +0000 (00:22 +0000)]
cbs_h264: Add hack for pic_timing with no active SPS

If there is exactly one possible SPS but it is not yet active then just
assume that it should be the active one.

2 years agocbs_h2645: Remove active ps references when it is replaced
Mark Thompson [Mon, 11 Dec 2017 00:38:57 +0000 (00:38 +0000)]
cbs_h2645: Remove active ps references when it is replaced

2 years agocbs: Demote the "decomposition unimplemented" warning
Mark Thompson [Mon, 11 Dec 2017 00:28:40 +0000 (00:28 +0000)]
cbs: Demote the "decomposition unimplemented" warning

This is harmless and should not be a warning - unknown units are passed
through to the write functions unchanged, and no other code will interact
with them.

2 years agovaapi_h265: Mark unused entries in RefPicList[01] as explicitly invalid
Mark Thompson [Sun, 17 Dec 2017 19:50:29 +0000 (19:50 +0000)]
vaapi_h265: Mark unused entries in RefPicList[01] as explicitly invalid

The iHD driver looks at entries beyond num_ref_idx_l[01]_active_minus1
for unknown reasons.

2 years agovaapi_encode: Destroy output buffer pool before VA context
Mark Thompson [Sun, 17 Dec 2017 19:48:35 +0000 (19:48 +0000)]
vaapi_encode: Destroy output buffer pool before VA context

The buffers are created associated with the context, so they should be
destroyed before the context is.  This is enforced by the iHD driver.

2 years agovaapi_encode: Allocate slice structures and parameter buffers dynamically
Jun Zhao [Thu, 24 Aug 2017 01:13:01 +0000 (09:13 +0800)]
vaapi_encode: Allocate slice structures and parameter buffers dynamically

This removes the arbitrary limit on the allowed number of slices and
parameter buffers.

From ffmpeg commit e4a6eb70f471eda36592078e8fa1bad87fc9df73.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agocbs: Minor comment fixes / cosmetics
Mark Thompson [Thu, 9 Nov 2017 01:04:15 +0000 (01:04 +0000)]
cbs: Minor comment fixes / cosmetics

2 years agocbs: Add an explicit type for coded bitstream unit types
Mark Thompson [Thu, 9 Nov 2017 01:04:02 +0000 (01:04 +0000)]
cbs: Add an explicit type for coded bitstream unit types

Also fix conversion specifiers used for the unit type.

2 years agocbs: Allocate the context inside the init function
Mark Thompson [Thu, 9 Nov 2017 01:03:57 +0000 (01:03 +0000)]
cbs: Allocate the context inside the init function

... instead of making callers allocate it themselves.  This is more
consistent with other APIs in libav.

2 years agoavformat/movenc: addition of flag to fragment at every frame
Vishwanath Dixit [Mon, 19 Feb 2018 05:55:09 +0000 (11:25 +0530)]
avformat/movenc: addition of flag to fragment at every frame

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/diracdec: Fix integer overflow in mv computation
Michael Niedermayer [Sun, 18 Feb 2018 20:51:38 +0000 (21:51 +0100)]
avcodec/diracdec: Fix integer overflow in mv computation

Fixes: signed integer overflow: -2072 + -2147483646 cannot be represented in type 'int'
Fixes: 6097/clusterfuzz-testcase-minimized-5034145253163008

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_parse: Clear invalid chroma weights in ff_h264_pred_weight_table()
Michael Niedermayer [Sun, 18 Feb 2018 16:12:28 +0000 (17:12 +0100)]
avcodec/h264_parse: Clear invalid chroma weights in ff_h264_pred_weight_table()

Fixes: 6037/clusterfuzz-testcase-minimized-5030249784934400
Fixes: signed integer overflow: 256 * 16992036 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/aacdec_templat: Fix integer overflow in apply_ltp()
Michael Niedermayer [Sun, 18 Feb 2018 15:55:52 +0000 (16:55 +0100)]
avcodec/aacdec_templat: Fix integer overflow in apply_ltp()

Fixes: signed integer overflow: -1625276744 + -1041893960 cannot be represented in type 'int'
Fixes: 5948/clusterfuzz-testcase-minimized-5791479856365568

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/jpeg2000dwt: Fix integer overflows in sr_1d53()
Michael Niedermayer [Sat, 17 Feb 2018 23:11:33 +0000 (00:11 +0100)]
avcodec/jpeg2000dwt: Fix integer overflows in sr_1d53()

Fixes: 5918/clusterfuzz-testcase-minimized-5120505435652096

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/diracdec: Use int64 in global mv to prevent overflow
Michael Niedermayer [Sat, 17 Feb 2018 22:54:44 +0000 (23:54 +0100)]
avcodec/diracdec: Use int64 in global mv to prevent overflow

Fixes: runtime error: signed integer overflow: 361 * -6295541 cannot be represented in type 'int'
Fixes: 5911/clusterfuzz-testcase-minimized-6450382197751808

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/dxtory: Remove code that corrupts dimensions
Michael Niedermayer [Sat, 17 Feb 2018 20:27:16 +0000 (21:27 +0100)]
avcodec/dxtory: Remove code that corrupts dimensions

Fixes: Timeout
Fixes: 5796/clusterfuzz-testcase-minimized-5206729085157376

Does someone have a valid sample that triggers this path ?

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/matroskadec: fix return value
James Almer [Tue, 20 Feb 2018 13:26:21 +0000 (10:26 -0300)]
avformat/matroskadec: fix return value

err is already an AVERROR.

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavformat/matroskadec: free the packet on webvtt side data allocation failure
James Almer [Tue, 20 Feb 2018 13:25:54 +0000 (10:25 -0300)]
avformat/matroskadec: free the packet on webvtt side data allocation failure

Fixes potential memory leaks

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavformat/matroskadec: ignore CodecPrivate if the stream is VP9
James Almer [Sat, 13 Jan 2018 19:04:21 +0000 (16:04 -0300)]
avformat/matroskadec: ignore CodecPrivate if the stream is VP9

Defined in a recent revision of https://www.webmproject.org/docs/container/

This prevents storing the contents of CodecPrivate into extradata for
a codec that doesn't need nor expect any. It will among other things
prevent matroska specific binary data from being dumped onto other
formats during remuxing.

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agodocs/codecs: remove dead codec debug options
Gyan Doshi [Mon, 15 Jan 2018 14:50:33 +0000 (20:20 +0530)]
docs/codecs: remove dead codec debug options

FF_API_DEBUG_MV has been disabled. Related options removed from docs.

Mention of non-existent debug option value 'pts' also removed.

2 years agoMerge commit 'cc1c94dacd0642ac1a6cad45deb65071f127d91a'
James Almer [Mon, 19 Feb 2018 21:35:32 +0000 (18:35 -0300)]
Merge commit 'cc1c94dacd0642ac1a6cad45deb65071f127d91a'

* commit 'cc1c94dacd0642ac1a6cad45deb65071f127d91a':
  configure: Pass the right machine types to dlltool for arm and arm64 mingw

Merged-by: James Almer <jamrial@gmail.com>
2 years agoMerge commit '97eee953e639bd4d17a9f9398293775277d00505'
James Almer [Mon, 19 Feb 2018 21:34:36 +0000 (18:34 -0300)]
Merge commit '97eee953e639bd4d17a9f9398293775277d00505'

* commit '97eee953e639bd4d17a9f9398293775277d00505':
  Revert "configure: Stop using dlltool to create an import library"

This commit is a noop, see 6d8bef8c05ea5dcb95f5930954cd6bd28868c2c9

Merged-by: James Almer <jamrial@gmail.com>
2 years agobuild: restore using dlltool/lib.exe for creating Win32 .lib files
Hendrik Leppkes [Fri, 16 Feb 2018 20:24:59 +0000 (21:24 +0100)]
build: restore using dlltool/lib.exe for creating Win32 .lib files

The GCC generated import libraries don't work properly when being imported
by MSVC, resulting in missing symbols at runtime.

This reverts 5b5365fe9 and partially reverts changes from 98a9b1f0d

2 years agoavcodec/mediacodecdec: refactor to take advantage of new decoding api
Aman Gupta [Fri, 16 Feb 2018 03:52:14 +0000 (19:52 -0800)]
avcodec/mediacodecdec: refactor to take advantage of new decoding api

This refactor splits up the main mediacodec decode loop into two
send/receive helpers, which are then used to rewrite the receive_frame
callback and take full advantage of the new decoding api. Since we
can now request packets on demand with ff_decode_get_packet(), the
fifo buffer is no longer necessary and has been removed.

This change was motivated by behavior observed on certain Android TV
devices, featuring hardware mpeg2/h264 decoders which also deinterlace
content (to produce multiple frames per field). Previously, this code
caused buffering issues because queueInputBuffer() was always invoked
before each dequeueOutputBuffer(), even though twice as many output
buffers were being generated.

With this patch, the decoder will always attempt to drain new frames
first before sending more data into the underlying codec.

Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2 years agoconfigure: Pass the right machine types to dlltool for arm and arm64 mingw
Martin Storsjö [Fri, 16 Feb 2018 22:17:21 +0000 (00:17 +0200)]
configure: Pass the right machine types to dlltool for arm and arm64 mingw

These are supported by llvm-dlltool.

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agoRevert "configure: Stop using dlltool to create an import library"
Martin Storsjö [Fri, 16 Feb 2018 22:08:45 +0000 (00:08 +0200)]
Revert "configure: Stop using dlltool to create an import library"

This reverts commit 67c72f08a4707c18a67a4734660e3a23cc9488b6.

While the linker produced import libraries might work with MSVC in
simple test cases, they don't if e.g. linking to multiple GNU ld
produced import libraries at the same time. (They end up importing
functions from the wrong libraries.) The ones produced by dlltool
work fine though.

This issue was pointed out by Hendrik Leppkes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agofate: add tests for pan audio filter
Tobias Rapp [Thu, 15 Feb 2018 07:21:24 +0000 (08:21 +0100)]
fate: add tests for pan audio filter

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2 years agoswresample/rematrix: fix update of channel matrix if input or output layout is undefined
Tobias Rapp [Wed, 14 Feb 2018 16:01:08 +0000 (17:01 +0100)]
swresample/rematrix: fix update of channel matrix if input or output layout is undefined

Prefer direct in/out channel count values over channel layout, when
available. Fixes a pan filter bug (ticket #6790).

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2 years agoavcodec/dirac_dwt_template: Fix Integer overflow in horizontal_compose_dd137i()
Michael Niedermayer [Sat, 17 Feb 2018 20:47:09 +0000 (21:47 +0100)]
avcodec/dirac_dwt_template: Fix Integer overflow in horizontal_compose_dd137i()

Fixes: 5894/clusterfuzz-testcase-minimized-5315325420634112
Fixes: runtime error: signed integer overflow: 2147483647 + 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/hevcdec: Check luma/chroma_log2_weight_denom
Michael Niedermayer [Sat, 17 Feb 2018 20:42:34 +0000 (21:42 +0100)]
avcodec/hevcdec: Check luma/chroma_log2_weight_denom

Fixes: signed integer overflow: 3 + 2147483647 cannot be represented in type 'int'
Fixes: 5888/clusterfuzz-testcase-minimized-5634701067812864

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>