1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-02 03:06:28 +02:00
Commit Graph

105805 Commits

Author SHA1 Message Date
James Almer
c33b404885 avcodec/libsvtav1: add a svtav1-params option to pass a list of key=value parameters
Signed-off-by: James Almer <jamrial@gmail.com>
2022-02-24 14:57:00 -03:00
Andreas Rheinhardt
636631d9db Remove unnecessary libavutil/(avutil|common|internal).h inclusions
Some of these were made possible by moving several common macros to
libavutil/macros.h.

While just at it, also improve the other headers a bit.

Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-24 12:56:49 +01:00
Andreas Rheinhardt
84f16bb5e6 avutil/avassert: Don't include avutil.h
Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-24 12:56:49 +01:00
Andreas Rheinhardt
155cd6baa4 Remove obsolete version.h inclusions
Forgotten in e7bd47e657.

Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-24 12:56:49 +01:00
Andreas Rheinhardt
b389ff9a85 avutil/display: Don't include avutil.h
Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-24 12:56:49 +01:00
Andreas Rheinhardt
2c2d76b50d avutil/integer: Don't include common.h
Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-24 12:56:49 +01:00
Andreas Rheinhardt
94d5892bea avutil/pixelutils: Don't include common.h
Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-24 12:56:49 +01:00
Andreas Rheinhardt
8e7d2e4621 avutil/samplefmt: Don't include attributes.h, avutil.h
Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-24 12:56:49 +01:00
Andreas Rheinhardt
e82d94ee46 avutil/imgutils: Don't include avutil.h
It is a remnant of an FF_API_* inclusion (back from when they were in
avutil.h and not in version.h).

Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-24 12:56:49 +01:00
Andreas Rheinhardt
9d78acd861 avutil/eval: Don't include avutil.h
It has been added for an FF_API_* at a time when these were in avutil.h.

Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-24 12:56:49 +01:00
Andreas Rheinhardt
eaba16ba70 avutil/file: Don't include avutil.h
Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-24 12:56:49 +01:00
Andreas Rheinhardt
0a1a8fcd56 avutil/fifo: Don't include avutil.h
Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-24 12:56:49 +01:00
Andreas Rheinhardt
99b5956af1 avutil/audio_fifo: Avoid avutil.h inclusion
Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-24 12:56:49 +01:00
Andreas Rheinhardt
321a3c244d avutil/log: Don't include avutil.h
It has been included since af5f434f8c
for deprecation reasons, but removing it has been forgotten after
it had served is purpose. So remove it.

For convenience, include version.h instead as LIBAVUTIL_VERSION_INT
is supposed to be used when creating AVClasses.

Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-24 12:56:49 +01:00
Andreas Rheinhardt
12a540352b avformat/avio: Don't include common.h
Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-24 12:56:49 +01:00
Gyan Doshi
8ef03c2ff1 doc/muxers: note video_track_timecale in mov 2022-02-24 16:11:26 +05:30
Paul B Mahol
15a1104d73 avfilter/f_ebur128: multiply is usually faster than divide
Also guard against overflow when subtracting from unsigned.
2022-02-24 11:15:28 +01:00
Paul B Mahol
d5ad1d7847 avfilter/f_ebur128: use unsigned for hist_entry.count
Also when summing multiple hist_entry.count use uint64_t for accumulator.
2022-02-24 11:15:28 +01:00
Paul B Mahol
b0f8dbb0ca avfilter/af_loudnorm: increase max allowed LRA 2022-02-23 23:25:58 +01:00
Stephen Hutchinson
ce0000dc98 avformat/avisynth: remove framedata variable
It's just a simple index.

Addresses Coverity issue 1500290

Signed-off-by: Stephen Hutchinson <qyot27@gmail.com>
2022-02-23 12:59:15 -05:00
Stephen Hutchinson
5df71a5e8d avformat/avisynth: remove unused variable 'frameprop'
Since the check got simplified and stdbool was no longer necessary
to include, neither is that variable.  Silences a warning.

Signed-off-by: Stephen Hutchinson <qyot27@gmail.com>
2022-02-23 12:59:11 -05:00
Paul B Mahol
d27e1cb633 avfilter/avf_showfreqs: stop using audio fifo
Also stop rewriting pts.
2022-02-23 17:01:36 +01:00
Jiasheng Jiang
9cf652cef4 avformat/nutdec: Add check for avformat_new_stream
Check for failure of avformat_new_stream() and propagate
the error code.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-02-23 14:13:16 +01:00
Andreas Rheinhardt
b14321e307 avcodec/magicyuvenc: Remove unused context variable
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-23 11:52:28 +01:00
Andreas Rheinhardt
095ccc7b33 avcodec/magicyuvenc: Don't modify input frame
It need not be writable at all. Instead, use temporary buffers
for decorrelation.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-23 11:52:20 +01:00
Andreas Rheinhardt
416d4be626 avcodec/magicyuvenc: Add const where appropriate
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-23 11:52:03 +01:00
Andreas Rheinhardt
f57e522ce2 avcodec/magicyuvenc: Avoid unnecessary av_frame_clone()
It is unnecessary and unchecked; the intention seems to be to ensure
that the frame's data is writable, but it does not provide this.
This will be fixed in a latter commit.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-23 11:51:41 +01:00
Andreas Rheinhardt
047a4e580e fftools/ffprobe: Remove redundant checks
A decoder is only opened if there is a decoder for the codec,
so every AVCodecContext here has AVCodecContext.codec set.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-23 11:50:48 +01:00
Andreas Rheinhardt
26cce232d7 fftools/ffprobe: Flush decoder after draining
This is a prerequisite to continue using the decoder at all
to decode the next interval (if any).
This fixes a regression introduced in commit
2a88ebd096 and reported in ticket #8657.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-23 11:50:48 +01:00
Paul B Mahol
570fda56b9 avfilter/af_surround: use outlink variable already available 2022-02-22 22:50:38 +01:00
Paul B Mahol
f984383ea0 avfilter/af_afftfilt: stop resetting pts
Also stop using audio fifo.
2022-02-22 22:50:38 +01:00
Paul B Mahol
fee804f7ed avfilter/af_surround: do not rewrite pts any more
Also stop using fifo and excessive peeking.
2022-02-22 13:25:21 +01:00
Paul B Mahol
c337b0f826 avfilter/af_afir: remove pts rewriting code
This is not needed at all.
2022-02-22 13:25:21 +01:00
Thilo Borgmann
a473e11e32 lavd/avfoundation: Fix mixed declaration and code 2022-02-22 13:10:42 +01:00
Zhao Zhili
079de49912 avdevice/avfoundation: check strdup 2022-02-22 13:06:59 +01:00
Zhao Zhili
6b708592fa avdevice/avfoundation: fix memleak 2022-02-22 13:02:02 +01:00
Paul B Mahol
17a59a634c avfilter/framepool: fix alignment requirements for audio and video filters 2022-02-22 09:22:03 +01:00
Wenbin Chen
9da19c2909 libavcodec/qsvenc_hevc: encode RGB format rawvideo
Add support for hevc_qsv to input RGB format frame. It will
transform frame to yuv inside MediaSDK instead of using auto
scale. Now hevc_qsv supports directly encoding BGRA and X2RGB10
format. The X2RGB10 correspond to the A2RGB20 format and BGRA
correspond to RGB4 format in MediaSDK.

Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2022-02-22 14:48:29 +08:00
Wenbin Chen
b1c26ce9fe libavcodec/qsvdec: use the parameter from decodeHeader to configure surface
MSDK recognizes both yuv420p10 and yuv420p9 as MFX_FOURCC_P010, but
parameters are different. When decode yuv420p9 video, ffmpeg-qsv will use
yuv420p10le to configure surface which is different with param from
DecoderHeader and this will lead to error. Now change it use
param from decoderHeader to configure surface.

Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2022-02-22 14:48:21 +08:00
Lynne
9e2deba9a9
lavu/vulkan: avoid using strlen as a loop condition
Whatever.
2022-02-22 06:30:12 +01:00
Wu Jianhua
82ef4c708e avfilter/vf_gblur_vulkan: add sizeV option
This commit added a sizeV option, integrated some identical operations
to a separate function, and updated the CGS for horizontal and vertical
respectively.

The following command is on how to apply sizeV option:

ffmpeg -init_hw_device vulkan -i input.264 -vf \
hwupload,gblur_vulkan=size=127:sigma=20:sizeV=3:sigmaV=0.5,hwdownload,format=yuv420p \
-y out.264

Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
2022-02-22 05:52:44 +01:00
Wu Jianhua
50ca36f845 avfilter/scale_vulkan: use RET for checking return value
Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
2022-02-22 05:47:18 +01:00
Wu Jianhua
8f470133f6 avfilter/vf_blend_vulkan: add multiply blend mode
Use the commands below to test: (href: https://trac.ffmpeg.org/wiki/Blend)

I. make an image for test
ffmpeg -f lavfi -i color=s=256x256,geq=r='H-1-Y':g='H-1-Y':b='H-1-Y' -frames 1 \
-y -pix_fmt yuv420p test.jpg

II. blend in sw
ffmpeg -i test.jpg -vf "split[a][b];[b]transpose[b];[a][b]blend=all_mode=multiply,\
pseudocolor=preset=turbo" -y multiply_sw.jpg

III. blend in vulkan
ffmpeg -init_hw_device vulkan -i test.jpg -vf "split[a][b];[b]transpose[b];\
[a]hwupload[a];[b]hwupload[b];[a][b]blend_vulkan=all_mode=multiply,hwdownload,\
format=yuv420p,pseudocolor=preset=turbo" -y multiply_vulkan.jpg

Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
2022-02-22 05:46:06 +01:00
Paul B Mahol
0aa7142442 avfilter/vf_dblur: add float formats support 2022-02-21 17:52:20 +01:00
Paul B Mahol
6a9cb5a7ba avfilter/vf_lagfun: add float formats support 2022-02-21 17:52:20 +01:00
Andreas Rheinhardt
58492ce443 avcodec/mips: Fix checkheaders
mips has several headers that are only meant for inclusion in another
non-arch specific file; they do not even try to be standalone. So don't
test them in checkheaders.

Also fix vp9dsp_mips.h, an ordinary header missing some includes.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-21 13:10:10 +01:00
Andreas Rheinhardt
52e9113695 avcodec/aarch64/idct: Add missing stddef
Fixes checkheaders on aarch64.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-21 13:10:04 +01:00
Andreas Rheinhardt
dd2c871aa3 avcodec/cabac_functions: Add missing headers
Fixes make checkheaders on PPC, for which no arch-specific header
exists that indirectly includes attributes.h.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-21 13:09:57 +01:00
Andreas Rheinhardt
760b4709ab avdevice/decklink_(common_c|dec|enc).h: Fix checkheaders
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-21 13:09:48 +01:00
Andreas Rheinhardt
6c694074e1 avutil/x86/emms: Don't unnecessarily include lavu/cpu.h
Only include it if it is needed, namely if __MMX__ is undefined.

X86 is currently the only arch where lavu/cpu.h is basically
automatically included (for internal development): #if ARCH_X86
is true, lavu/internal.h (which is basically included everywhere)
includes lavu/x86/emms.h which can mask missing inclusions
of lavu/cpu.h if the developer works on x86/x64. This has happened
in 8e825ec3ab and also earlier
(see 6d2365882f).
By including said header only if necessary ordinary developer machines
will behave like non-x86 arches, so that missing inclusions of cpu.h
won't go unnoticed any more.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-21 12:37:51 +01:00