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

106615 Commits

Author SHA1 Message Date
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
Paul B Mahol
b8e58f0858 avfilter/vf_limiter: refactor slice functions 2022-02-21 00:35:11 +01:00
Paul B Mahol
ebcde3fda8 avfilter/vf_maskedminmax: add float pixel formats 2022-02-21 00:35:11 +01:00
Paul B Mahol
b7dc07c07c avfilter/vf_maskedminmax: refactor slice function 2022-02-21 00:35:10 +01:00
Paul B Mahol
105234ce80 avfilter/vf_maskedmerge: add float pixel formats 2022-02-21 00:35:10 +01:00
Paul B Mahol
ac0fdac0fc avfilter/vf_maskedmerge: refactor slice function 2022-02-21 00:35:10 +01:00
Paul B Mahol
954279564a avfilter/vf_monochrome: use lrintf for rounding 2022-02-20 23:15:34 +01:00
Paul B Mahol
b15d3db8b6 avcodec/wavpack: do not process only first non-zero field of int32info chunk
Fixes bitexact decoding with high bit depth samples.
2022-02-20 17:45:50 +01:00
Paul B Mahol
df98e8e4b4 avfilter/f_ebur128: add support for any number of channels 2022-02-20 17:45:50 +01:00
Nicolas George
01440e2588 lavfi/vf_fps: check flow before sending more frames
Analyzed by Paul B Mahol <onemda@gmail.com>.

Fixes OOM in #9081.
2022-02-20 12:38:52 +01:00
Nicolas George
531d09fb2d lavfi: add ff_inoutlink_check_flow() 2022-02-20 12:38:52 +01:00
Pierre-Anthony Lemieux
12139d1103
avformat/imf: document IMFVirtualTrackResourcePlaybackCtx 2022-02-20 18:32:09 +10:00
Pierre-Anthony Lemieux
b0193e26ca
avformat/imf: fix packet pts, dts and muxing
The IMF demuxer does not set the DTS and PTS of packets accurately in all
scenarios. Moreover, audio packets are not trimmed when they exceed the
duration of the underlying resource.

imf-cpl-with-repeat FATE ref file is regenerated.

Addresses https://trac.ffmpeg.org/ticket/9611
2022-02-20 18:32:09 +10:00
Pierre-Anthony Lemieux
ef0d5245d6
avformat/imf: open resources only when first needed
IMF CPLs can reference thousands of files, which can result in system limits
for the number of open files to be exceeded. The following patch opens and
closes files as needed.

Addresses https://trac.ffmpeg.org/ticket/9623
2022-02-20 18:25:42 +10:00
Paul B Mahol
c439c6b191 avfilter/af_headphone: improve stereo hrir support
Until now, in some cases produced output would be wrong.
2022-02-19 13:45:47 +01:00
Michael Niedermayer
1372b30db2 tools/target_dem_fuzzer: Force interrupt for HLS
Fixes: Timeout
Fixes: 41580/clusterfuzz-testcase-minimized-ffmpeg_dem_HLS_fuzzer-5059099224571904

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-02-19 13:27:02 +01:00
Michael Niedermayer
cd4ce3b862 tools/target_dem_fuzzer: Test interrupt callback
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-02-19 13:27:02 +01:00
Stephen Hutchinson
0d34e21282 avformat/avisynth: fix frameprop version check
Trying to be clever about determining between interface version 8
and 8.1 ended up with pre-8.1 versions of AviSynth+ segfaulting.

The amount of time between interface version 8.1 and 9 is small,
so just restrict the frameprop awareness to version 9 and call it
a day.

Signed-off-by: Stephen Hutchinson <qyot27@gmail.com>
2022-02-18 17:11:19 -05:00
Andreas Rheinhardt
3abb80f65b avcodec/msmpeg4dec: Reindent after the previous commit
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-18 20:35:30 +01:00
Andreas Rheinhardt
569a0d0012 avcodec/msmpeg4dec: Make initializing VLCs thread-safe
This automatically makes the remaining mpegvideo-decoders
(namely msmpeg4v[1-3], mss2, VC-1, VC-1 Image, WMV-[1-3]
and WMV-3 Image) init-threadsafe.
These were the last native codecs that were not init-threadsafe;
only wrappers for external libraries and for hardware accelerations
are now not init-threadsafe.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-18 20:29:45 +01:00
Andreas Rheinhardt
23b17f96f7 avcodec/avcodec: Decrease the amount of time while holding the lock
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-18 20:28:57 +01:00
Andreas Rheinhardt
1e93f42743 avcodec/vorbisdec: Mark decoder as init-threadsafe
It does not modify any static data in its init function.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-18 20:28:52 +01:00
Andreas Rheinhardt
8359803957 avcodec/ituh263dec: Reindent after the last commit
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-18 20:21:41 +01:00
Andreas Rheinhardt
f326855947 avcodec/ituh263dec: Make initializing VLCs thread-safe
This automatically makes the FLV, H.263, H.263+, Intel H.263,
MPEG-4, RealVideo 1.0 and RealVideo 2.0 decoders init-threadsafe.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-18 20:17:18 +01:00
Andreas Rheinhardt
6b39573547 avcodec/alsdec: Mark decoder as init-threadsafe
It does not initialize any static data in its init function.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-18 20:16:59 +01:00
Andreas Rheinhardt
3b08e046af avcodec/alsdec, mlz: Check allocation
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-18 20:11:06 +01:00
Andreas Rheinhardt
e925d5453b avcodec/alsdec: Improve code locality
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-18 20:10:56 +01:00
Andreas Rheinhardt
1fc631c94a avcodec/alsdec: Return directly upon error
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-18 20:10:40 +01:00
Andreas Rheinhardt
1070510c59 avcodec/apedec: Mark decoder as init-threadsafe
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-18 20:07:48 +01:00
Andreas Rheinhardt
3e0b6f42e3 avcodec/rv40: Make decoder init-threadsafe
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-18 20:06:53 +01:00
Andreas Rheinhardt
422e937586 avcodec/rv30: Mark decoder as init-threadsafe
Init-threadsafe since f697622f68.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-18 20:03:07 +01:00
Andreas Rheinhardt
1ece38668f avcodec/svq3: Mark decoder as init-threadsafe
The only interesting thing done in SVQ3's init function
is using zlib, but this is fine: https://zlib.net/zlib_faq.html#faq21

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-18 19:25:12 +01:00
Paul B Mahol
51cd565208 avfilter/vf_xmedian: small additional speedup 2022-02-18 17:12:46 +01:00
Paul B Mahol
cca6fe7fe0 avfilter/vf_xmedian: refactor slice function 2022-02-18 17:12:46 +01:00
Paul B Mahol
b40419c99b avfilter/vf_atadenoise: fix >8 depth filtering with planes disabled 2022-02-18 17:12:46 +01:00
Paul B Mahol
33417198aa avfilter/vf_mix: additional speedup 2022-02-18 17:12:46 +01:00
Jiasheng Jiang
656cb0450a avcodec/vp3: Add missing check for av_malloc
Since the av_malloc() may fail and return NULL pointer,
it is needed that the 's->edge_emu_buffer' should be checked
whether the new allocation is success.

Fixes: d14723861b ("VP3: fix decoding of videos with stride > 2048")
Reviewed-by: Peter Ross <pross@xvid.org>
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
2022-02-18 16:54:11 +11:00
Paul B Mahol
cc2b3201e7 avfilter/vf_waveform: do not add tint if output format is gray 2022-02-17 23:05:13 +01:00
Paul B Mahol
da473e0984 avfilter/vf_extractplanes: unbreak "extracting" >8 depth gray formats 2022-02-17 23:05:13 +01:00
Paul B Mahol
b66afd1caa avfilter/vf_amplify: add float formats support 2022-02-17 22:19:46 +01:00
Paul B Mahol
c644d6605d avfilter/vf_amplify: refactor amplify function 2022-02-17 22:19:46 +01:00