* commit '173b56218f39c6463be0e182259e2deead106936':
lavf: make avio_read_partial() public
swscale: Do not expand a macro with 'defined' in it
configure: Include d3d11va_extralibs in libavutil
This commit is a noop, see
69218b41980883a7e75656f3058171939f5729ef
add7b3bc3fb7685cd0a3ccffd2b09cc0e32c39ec
5d76674756806e3b458e484788775fcee34aac2a
Merged-by: James Almer <jamrial@gmail.com>
* commit 'feed239021bad89743d5e7989b426ae594322eb7':
yadif: Account for the buffer alignment while processing the frame edges
See 221f902f1dc167bdc0bfdff6b6af3214ae3cc1f4
Merged-by: James Almer <jamrial@gmail.com>
* commit '0c99b900d874b60ce89b94742b2215f163c87a2b':
png: Support RGBA64 pixel format
This commit is a noop, see 97da38c99bf5ad619ea15f2f1b4c050f0f44d11f
Merged-by: James Almer <jamrial@gmail.com>
* commit 'b78c30d7ec26af67c00ce2002709a189f6a87a7e':
lavc: Add mpeg2_metadata bitstream filter
lavc: Add coded bitstream read/write support for MPEG-2
cbs_h2645: Return error if writing fails
h264dec: use a large enough field for reference list modification values
xwddec: support 8bpp grayscale
This commit is a noop, see
b9c94e826e7551027754ecfa60e3e487e0c28fcb
2aff557c6acbce2b2b604c6c620c66c892260062
b4c915f4b3e15c3e787e319b961e4389762f6309
686e388bbb6aeef077095a83f84b53d143d44d63
569721ac8dee6b73cd68ea858f59c7d800a1686d
Merged-by: James Almer <jamrial@gmail.com>
* commit 'e3e8eab359238486dc233f7aa89b7bb3cb19ec38':
vaapi_h265: Add support for AUD NAL units
vaapi_h265: Convert to use coded bitstream infrastructure
vaapi_h264: Add support for SEI recovery points
vaapi_h264: Add support for AUD NAL units
vaapi_h264: Convert to use coded bitstream infrastructure
lavc: Add hevc_metadata bitstream filter
lavc: Add h264_redundant_pps bitstream filter
lavc: Add h264_metadata bitstream filter
lavc: Add trace_headers bitstream filter
lavc: Add coded bitstream read/write support for H.265
lavc: Add coded bitstream read/write support for H.264
lavc: Add coded bitstream read/write API
pixfmt: Support chroma-derived and ictcp color matrices
h264: Add support for alternative transfer characterics SEI
vaapi_encode: Move quality option to common code
This commit is a noop, see
9c878651dbc8c795894740af74670b591551f619
8c34a2024da77b50470e62789e4859b45959932e
f3571048669bf876681499f49e9df492f05f73c6
6734eef6b8b464139fdc140ec9bc9e8d74173869
b4c915f4b3e15c3e787e319b961e4389762f6309
9b0c7aa0e446eceec96ba8f4009e004fad29fba3
9c7d70b49b64aa5571772a7cdb9bc426174261e0
a308872b049e33f69f4b629a06f47e3681906b93
8b26306294ffe78cc73357e2ddd56dd463db50ab
03f982bbca4211108477e772db9a339517ecde37
2e29ca2a9f19ba9a5b189f322f38497d2e2e3db0
281b68b0265953ab2623a39484d927a0e921c405
0bc7575ced65bf4aa4678ac12d550aaf87890d0e
00179664bccd1dd6fa0d1c40db453528757bf6f7
038a51258c4c5d8b77f4f9efcce6f397e5755c24
Merged-by: James Almer <jamrial@gmail.com>
* commit '1329c08ad6d2ddb304858f2972c67b508e8b0f0e':
hevc: Validate the number of long term reference pictures
See ea38e5a6b75706477898eb1e6582d667dbb9946c
Merged-by: James Almer <jamrial@gmail.com>
* commit 'b88da98b34809dedf8882d43ed543632ed233538':
hevc: Improve stream constraint values in common header
h264: Add stream constraint values to the common header
This commit is a noop, see
d05444d2c6d99767547b1f0761e8459fb07b305d
b1374e925c1cf3af5c8482119f3f2630d66213de
Merged-by: James Almer <jamrial@gmail.com>
* commit 'defe307fb22beca60a632e976ab97e5edd4aee25':
mov: move stsd finalization to an appropriate place
mov: Do not set stsd_count if mov_read_stsd() fails
mov: log and return early on non-positive stsd entry counts
See 8b43ee4054af799e388d380b379a13a60849c1b5
656feb641de3cd5b9cb4e33ffd3f0ad4664c36d2
Merged-by: James Almer <jamrial@gmail.com>
* commit 'b90fdb2c7199cc8b0e8d994fafba1fb4dc181d88':
hevcdec: add a CUVID hwaccel
Adapted for ffmpeg by Timo Rothenpieler.
Merged-by: James Almer <jamrial@gmail.com>
* commit '00fd914d4912322212e924c15f325cebf2fde8d3':
hevcdec: set the active SPS before calling get_format()
Merged-by: James Almer <jamrial@gmail.com>
* commit 'a58873b11198d04670b7f98f5a8a749d742db7c5':
avconv: when using -loop option bail out if seek to start fails
Merged-by: James Almer <jamrial@gmail.com>
* commit '004ea63714e31ed43326ad00d7420d104f0dab38':
cuvid: add cuvid.h to SKIPHEADERS
This commit is a noop, nvdec.h compiles just fine since it doesn't
depend on external headers.
Merged-by: James Almer <jamrial@gmail.com>
* commit 'b9129ec4668c511e0a79e25c6f25d748cee172c9':
h264dec: add a CUVID hwaccel
decode: add a per-frame private data for hwaccel use
decode: add a mechanism for performing delayed processing on the decoded frames
decode: add a method for attaching lavc-internal data to frames
decode: avoid leaks on failure in ff_get_buffer()
This commit is a noop, see
4776c61424fa32394e251e9769e1ad2c2fa55598
9f1cfd88af88a7d7d5c56a368a46639dfdfdef75
7fa64514c8d2ec4d3dcb5f194511609ddcc288e6
81c021c6a2d7848c31984d65f225ba54bdd6f560
0e00624389955bc559d75855d5c4876266d9575f
Merged-by: James Almer <jamrial@gmail.com>
Some parts of the code are based on a patch by
Timo Rothenpieler <timo@rothenpieler.org>
Merges Libav commit b9129ec4668c511e0a79e25c6f25d748cee172c9.
Due to the name clash with our cuvid decoder, rename it to nvdec.
This commit also changes the Libav code to dynamic loading of the
cuda/cuvid libraries.
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
Currently, AVHWAccels are looked up using a (codec_id, pixfmt) tuple.
This means it's impossible to have 2 decoders for the same codec and
using the same opaque hardware pixel format.
This breaks merging Libav's CUVID hwaccel. FFmpeg has its own CUVID
support, but it's a full stream decoder, using NVIDIA's codec parser.
The Libav one is a true hwaccel, which is based on the builtin software
decoders.
Fix this by introducing another field to disambiguate AVHWAccels, and
use it for our CUVID decoders. FF_CODEC_CAP_HWACCEL_REQUIRE_CLASS makes
this mechanism backwards compatible and optional.
cuvid.c is used by Libav's CUVID hwaccel. Resolve the conflict and
avoid future merge problems by renaming our decoder.
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
This will be useful in the CUVID hwaccel. It should also eventually
replace current decoder-specific mechanisms used by various other
hwaccels.
Merges Libav commit 704311b2946d74a80f65906961cd9baaa18683a3.
Use the AVFrame.private_ref field.
This new struct will be useful in the following commits.
Merges Libav commit 359a8a3e2d1194b52b6c386f94fd0929567dfb67.
This gives FFmpeg libs a field that they can freely and safely use.
Avoiding the need of wrapping of a users opaque_ref field and its issues.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
ff_alloc_packet have been deprecated, switch to use
ff_alloc_packet2.
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
ff_alloc_packet have been deprecated, switch to use the
ff_alloc_packet2.
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Reviewed-by: Arttu Ylä-Outinen <arttu.yla-outinen@tut.fi>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
The user-supplied value for timecode_rate in drawtext is rounded
to nearest integer. So, a supplied value of 0.49 or lower is rounded to 0.
This throws a misleading error message which says "Timecode frame rate must be
specified". Changed message to account for values under one.
Also noted supported framerates for drop TC.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Fixes: runtime error: value -36211.7 is outside the range of representable values of type 'short'
Fixes: 2992/clusterfuzz-testcase-6649611793989632
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
The spec is correct, it does list these layouts as having rear speakers.
Questionable how many decoders correctly interpret those correctly since
side is way more popular.
Also fixes fate-aac-yoraw-encode.
Reported-by: pkviet <pkv.stream@gmail.com>
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
This commit implements support for PCE (Program Configuration Elements) in the
AAC encoder, and as such allows for encoding of channel layouts not present
in the presets defined by the spec (which only lists the 8 most common ones).
This has been a highly requested feature and is also the first open source encoder
to support this many layouts.
Many thanks to pkviet <pkv.stream@gmail.com> who implemented support for and
verified all channel layouts.
Since non-Haar wavelets need to look into pixels outside the frame, we
need to pad the buffer. The old factor of two seemed to be a workaround
that fact and only padded to the left and bottom. This correctly pads
by the slice size and as such reduces memory usage and potential
exploits.
Reported by Liu Bingchang.
Ideally, there should be no temporary buffer but the encoder is designed
to deinterleave the coefficients into the classical wavelet structure
with the lower frequency values in the top left corner.
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>