- 08 Aug, 2023 2 commits
-
-
Elias Carotti authored
Add side data type to provide hint to the video encoders about unchanged portions of each frame. Signed-off-by: Anton Khirnov <anton@khirnov.net>
-
Benjamin Cheng authored
The Vulkan spec wants ScalingList8x8 as defined by ITU spec, which is in a different order from how ffmpeg parses it.
-
- 07 Aug, 2023 15 commits
-
-
Brad Smith authored
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Paul B Mahol authored
-
Paul B Mahol authored
-
Paul B Mahol authored
-
Paul B Mahol authored
-
Andreas Rheinhardt authored
This commit is the AVHWAccel analogue of commit 20f97270: It moves the private fields of AVHWAccel to a new struct FFHWAccel extending AVHWAccel in an internal header (namely hwaccel_internal.h). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
All usages of ff_hwaccel_frame_priv_alloc() have the same pattern: Check for whether a hwaccel is in use; check whether it needs private frame-specific data; allocate the AVBuffer and set it. This commit modifies ff_hwaccel_frame_priv_alloc() to perform this task on its own. (It also seems that the H.264 decoder did not perform proper cleanup in case the buffer could not be allocated. This has been changed.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
libavcodec/hwconfig.h currently contains HWACCEL_CAP_* flags as well as the definition of AVCodecHWConfigInternal and some macros to create them. The users of these two are nearly disjoint: The flags are used by files providing AVHWAccels whereas AVCodecHWConfigInternal is used by files providing codecs (for FFCodec.hw_configs). This patch therefore moves these flags to a new file hwaccel_internal.h. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
While just at it, also improve the other headers a bit. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
A filter needs formats.h iff it uses FILTER_QUERY_FUNC(); since lots of filters have been switched to use something else than FILTER_QUERY_FUNC, they don't need it any more, but removing this header has been forgotten. This commit does this; files with formats.h inclusion went down from 304 to 139 here (it were 449 before the preceding commit). While just at it, also improve the other headers a bit. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
internal.h doesn't rely on it; instead include it directly in every user that needs it (a filter needing it is basically equivalent to it using FILTER_QUERY_FUNC, i.e. a majority of filters doesn't need it). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
This file is only used by the greyedge filter and therefore only compiled if said filter is enabled. This also allows to remove a config_components.h inclusion, avoiding unnecessary rebuilds. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Lots of video filters use a very simple input or output: An array with a single AVFilterPad whose name is "default" and whose type is AVMEDIA_TYPE_VIDEO; everything else is unset. Given that we never use pointer equality for inputs or outputs*, we can simply use a single AVFilterPad instead of dozens; this even saves .data.rel.ro (8312B here) as well as relocations. *: In fact, several filters (like the filters in vf_lut.c) already use the same outputs; furthermore, ff_filter_alloc() duplicates the input and output pads so that we do not even work with the pads directly. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
internal.h does not depend on video.h (and should not depend on it) and therefore should not include video.h at all; instead all users of video.h should include it directly. Doing so also avoids unnecessary video.h inclusions in files that don't need it, like most audio filters. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Lots of audio filters use very simple inputs or outputs: An array with a single AVFilterPad whose name is "default" and whose type is AVMEDIA_TYPE_AUDIO; everything else is unset. Given that we never use pointer equality for inputs or outputs*, we can simply use a single AVFilterPad instead of dozens; this even saves .data.rel.ro (4784B here) as well as relocations. *: In fact, several filters (like the filters in af_biquads.c) already use the same inputs; furthermore, ff_filter_alloc() duplicates the input and output pads so that we do not even work with the pads directly. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
- 06 Aug, 2023 2 commits
-
-
Zhao Zhili authored
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
-
Zhao Zhili authored
bits_per_raw_sample might not set when remux raw PCM. Fix #10433. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
-
- 05 Aug, 2023 15 commits
-
-
Michael Niedermayer authored
Code should make more sense now Fixes: out of array access Fixes: 58299/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_fuzzer-6627570448465920 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpegReviewed-by: Pierre-Anthony Lemieux <pal@sandflow.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Andreas Rheinhardt authored
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Namely proresenc_anatoliy.c. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Namely h264_slice.c. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
h264_sei.h is no longer used since the SEIs were moved to sei.h; this also avoids inclusions of avcodec.h and bytestream.h. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Possible since 28505848. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Don't include them implicitly via avcodec.h. This avoids indirect avcodec.h inclusions in lavc/dirac.c, lavf/oggparsedirac.c, and lavf/rtp(dec|enc)_vc2hq.c. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
This avoids including lavc/codec_desc.h everywhere and thereby forces users to include it directly instead of lazily and potentially unknowingly relying on indirect inclusions. Also add the proper inclusion to libavformat/demux.c, one of the two files that actually use the new field. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Possible since 60ecf44b. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Most of the inline functions in h264dec.h are only used by h264_cavlc.c and h264_cabac.c. Therefore move them to the common header for these two, namely h264_mvpred.h. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Avoids implicit inclusions of avcodec.h in lavf/takdec.c and lavc/tak.c. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
It only needs codec_id.h. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
This would only be necessary if this header declared a function that takes a (pointer to) struct AVCodecContext as parameter. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
- 04 Aug, 2023 6 commits
-
-
Martin Storsjö authored
In WinRT mode, we use CreateThread instead of _beginthreadex. CreateThread takes a LPTHREAD_START_ROUTINE function pointer, which has got the signature DWORD WINAPI ThreadProc(LPVOID). _beginthreadex takes a function with the signature unsigned __stdcall func(void *). DWORD is defined as an unsigned long, which is different type from unsigned int, even if they have the same size on Windows. This fixes build failures with Clang 16 and newer, where function pointer type mismatches are a fatal error by default. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
This fixes the test when running in a cross test setup where the samples are located at a different path between build host and temote test target. Signed-off-by: Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
Use the GCC specific codepath for Clang in MSVC mode too. This matches the condition used in a number of other places. MSVC doesn't have a way to signal potential aliasing, while GCC (and Clang) can use __attribute__((may_alias)) for this purpose. When building with Clang in MSVC mode, __GNUC__ isn't defined but _MSC_VER is as Clang primarily impersonates MSVC - but even then it does support the GCC style attributes. The GCC specific codepath uses av_alias, which expands to the may_alias attribute if supported. The MSVC specific codepath doesn't use av_alias so far (as MSVC doesn't support any corresponding attribute). This fixes a couple HEVC decoder tests when built with Clang 14 or newer in MSVC mode (with issues observed on all of x86_64, armv7 and aarch64). Signed-off-by: Martin Storsjö <martin@martin.st>
-
Andreas Rheinhardt authored
Having a decode_slice callback is mandatory for HWAccels; the only exception to this (and the reason why these checks were added) was XvMC, but it is no more since commit be95df12. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Otherwise the var_names and the corresponding enum will be off and e.g. the array holding the variable values will be too small. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-