Niklas Haas
e9e37ea2f1
avfilter/vf_libplacebo: fix skip_aa option range
...
Max incorrectly specified as 0, should be 1.
2023-07-23 17:50:41 +02:00
Zhao Zhili
89f5124d0a
avfilter: add transpose_vt for videotoolbox pix_fmt
...
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
2023-07-23 11:52:28 +08:00
Zhao Zhili
c2c96c4c24
avfilter: add scale_vt for videotoolbox pix_fmt
...
For example,
./ffmpeg -hwaccel videotoolbox \
-hwaccel_output_format videotoolbox_vld \
-i ios-265.mov \
-c:v hevc_videotoolbox \
-profile:v main \
-b:v 3M \
-vf scale_vt=w=iw/2:h=ih/2:color_matrix=bt709:color_primaries=bt709:color_transfer=bt709 \
-c:a copy \
-tag:v hvc1 \
/tmp/test.mp4
Input: hevc (Main 10) (hvc1 / 0x31637668), yuv420p10le(tv, bt2020nc/bt2020/arib-std-b67), 3840x2160
Output: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709, progressive), 1920x1080
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
2023-07-23 11:51:57 +08:00
Zhao Zhili
6c90fcd9e6
avcodec/videotoolboxenc: use color parameters conversion from avutil
...
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
2023-07-23 11:51:42 +08:00
Paul B Mahol
b2ceed406b
avfilter/avf_showcwt: reduce memory usage
2023-07-22 22:27:57 +02:00
Rémi Denis-Courmont
f25ad0fe02
checkasm: improve Linux perf error message
...
Report the failing system call name, as is convention, rather than just
a rather unhelpful "syscall".
2023-07-22 21:35:15 +03:00
Rémi Denis-Courmont
983af74452
macos_kperf: fix incomplete prototype
2023-07-22 21:35:15 +03:00
Rémi Denis-Courmont
c644aabec8
timer: don't leak perf FD if zero
2023-07-22 21:35:15 +03:00
Paul B Mahol
ffa3edbf51
avfilter/avf_showcwt: extend min frequency accepted range
...
Also always check that min frequency is lower than max frequency.
2023-07-22 18:05:38 +02:00
Paul B Mahol
c24c7bcc95
avfilter/avf_showcwt: no need for big forward FFT with small sample rates
2023-07-22 18:05:38 +02:00
Paul B Mahol
e6168e43a2
avfilter/avf_showcwt: improve analysis
...
Make inverse FFT step always power of 2 in size.
2023-07-22 18:05:38 +02:00
Michael Niedermayer
c41ab871c7
avformat/id3v2: Free buffer in decode_str()
...
Fixes: memleak
Fixes: 60058/clusterfuzz-testcase-minimized-ffmpeg_dem_IFF_fuzzer-5665259244093440
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-07-22 17:05:47 +02:00
Michael Niedermayer
f9b29451e4
avcodec/rka: Fix integer overflow in decode_filter()
...
Fixes: signed integer overflow: 2147443649 + 65535 cannot be represented in type 'int'
Fixes: 60054/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RKA_fuzzer-5095674572832768
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-07-22 17:05:47 +02:00
Michael Niedermayer
167b4f56f1
avformat/rka: bps < 8 is invalid
...
Fixes: division by zero
Fixes: 57828/clusterfuzz-testcase-minimized-ffmpeg_dem_RKA_fuzzer-6571818338353152
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-07-22 16:18:39 +02:00
Michael Niedermayer
fd5aa93a37
avcodec: Rename ff_kbd_window_init() as it will be needed from outside libavcodec
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-07-22 16:18:39 +02:00
Michael Niedermayer
cf00f60bab
avcodec/kbdwin: Support arbitrary sized windows
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-07-22 16:18:39 +02:00
Michael Niedermayer
94d44dbe21
avcodec/pcm: allow Changing parameters
...
SDR needs this for switching between mono and stereo stations
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-07-22 16:18:39 +02:00
Michael Niedermayer
8f48a62151
avutil/tx_template: extend to 2M
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2023-07-22 16:18:39 +02:00
Kieran Kunhya
a4e616824b
libavutil: Remove TOMI CPU
2023-07-22 00:36:53 +01:00
Rémi Denis-Courmont
c2b38619c0
swscale/rgb2rgb2: rework RISC-V V shuffle_bytes_{1230,3012}
...
This avoids strided loads.
Before:
shuffle_bytes_1230_rvv_i32: 308.7
shuffle_bytes_3012_rvv_i32: 308.7
After:
shuffle_bytes_1230_rvv_i32: 46.7
shuffle_bytes_3012_rvv_i32: 46.7
2023-07-21 22:18:02 +03:00
Rémi Denis-Courmont
15982554e6
swscale/rgb2rgb2: rework RISC-V V shuffle_bytes_{0321,2103}
...
This avoids strided loads.
Before:
shuffle_bytes_0321_rvv_i32: 307.7
shuffle_bytes_2103_rvv_i32: 308.7
After:
shuffle_bytes_0321_rvv_i32: 59.7
shuffle_bytes_2103_rvv_i32: 61.5
2023-07-21 22:18:02 +03:00
Rémi Denis-Courmont
d3948e4db5
swscale: inline ff_shuffle_bytes_3210_rvv
...
No functional changes.
2023-07-21 22:18:02 +03:00
Lynne
e6a12a5214
vulkan_av1: remove an invalid debug print
...
Leftover.
2023-07-21 20:04:21 +02:00
Lynne
3e3d46309b
lavu/vulkan: remove unused field from the execution pool structure
2023-07-21 20:04:21 +02:00
Lynne
97890c2b55
lavu/vulkan: remove threadsafe buffer index load and fix a signed overflow
...
It's not needed anymore.
2023-07-21 20:04:20 +02:00
Lynne
c06ad641ec
lavc/vulkan_decode: use a single execution pool per thread
...
The spec says command buffer pools must be externally synchronized
objects.
This still lets us pool some, just not as much.
2023-07-21 20:04:15 +02:00
Jan Beich
e6bd8b1323
hwcontext_vulkan: hide Linux-only header after 571756bf2f
...
major/minor are in <sys/types.h> on BSDs and <sys/mkdev.h> on Solaris-like.
libavutil/hwcontext_vulkan.c:55:10: fatal error: 'sys/sysmacros.h' file not found
#include <sys/sysmacros.h>
^~~~~~~~~~~~~~~~~
2023-07-21 20:04:10 +02:00
Paul B Mahol
74474a551b
avfilter/avf_showcwt: fix index storing
2023-07-21 00:44:01 +02:00
Paul B Mahol
86a1904f41
avfilter/avf_showcwt: move variables out of loop
2023-07-21 00:43:47 +02:00
Paul B Mahol
3dc93acc56
avfilter/vf_pseudocolor: add four more presets
2023-07-21 00:43:46 +02:00
Rémi Denis-Courmont
44cac1def0
lavc/audiodsp: rework RISC-V V scalar product
...
Take vector reduction out of the loop and unroll.
Before:
audiodsp.scalarproduct_int16_c: 12321.0
audiodsp.scalarproduct_int16_rvv_i32: 4175.7
After:
audiodsp.scalarproduct_int16_c: 12320.5
audiodsp.scalarproduct_int16_rvv_i32: 1230.2
2023-07-20 22:54:34 +03:00
Rémi Denis-Courmont
29b9d616c2
lavu/float_dsp: rework RISC-V V scalar product
...
1) Take the reductive sum out of the loop,
leaving a regular vector addition in the loop.
2) Merge the addition and the multiplication.
3) Unroll.
Before:
scalarproduct_float_rvv_f32: 832.5
After:
scalarproduct_float_rvv_f32: 275.2
2023-07-20 22:54:34 +03:00
Rémi Denis-Courmont
b710f881ce
lavu/float_dsp: unroll RISC-V V loops
...
butterflies_float_c: 1057.0
butterflies_float_rvv_f32: 351.0 (before)
butterflies_float_rvv_f32: 329.5 (after)
vector_dmac_scalar_c: 819.0
vector_dmac_scalar_rvv_f64: 670.5 (before)
vector_dmac_scalar_rvv_f64: 431.0 (after)
vector_dmul_c: 800.2
vector_dmul_rvv_f64: 541.5 (before)
vector_dmul_rvv_f64: 426.0 (after)
vector_dmul_scalar_c: 545.7
vector_dmul_scalar_rvv_f64: 670.7 (before)
vector_dmul_scalar_rvv_f64: 324.7 (after)
vector_fmac_scalar_c: 804.5
vector_fmac_scalar_rvv_f32: 412.7 (before)
vector_fmac_scalar_rvv_f32: 214.5 (after)
vector_fmul_c: 811.2
vector_fmul_rvv_f32: 285.7 (before)
vector_fmul_rvv_f32: 214.2 (after)
vector_fmul_add_c: 1313.0
vector_fmul_add_rvv_f32: 349.0 (before)
vector_fmul_add_rvv_f32: 290.2 (after)
vector_fmul_reverse_c: 815.7
vector_fmul_reverse_rvv_f32: 529.2 (before)
vector_fmul_reverse_rvv_f32: 515.7 (after)
vector_fmul_scalar_c: 546.0
vector_fmul_scalar_rvv_f32: 350.2 (before)
vector_fmul_scalar_rvv_f32: 169.5 (after)
2023-07-20 22:54:34 +03:00
Rémi Denis-Courmont
effadce6c7
avcodec/x86/mathops: clip constants used with shift instructions within inline assembly
...
Fixes assembling with binutil as >= 2.41
Signed-off-by: James Almer <jamrial@gmail.com>
2023-07-20 16:51:53 -03:00
Anton Khirnov
ccc6849932
fftools/ffmpeg: stop calling exit_program()
...
Remove exit_program() and register_exit(), as they are no longer used.
2023-07-20 20:47:46 +02:00
Anton Khirnov
a81d9231b9
fftools/ffprobe: stop calling exit_program()
...
Inline the relevant part of ffprobe_cleanup() into main() and drop the
rest.
2023-07-20 20:47:46 +02:00
Anton Khirnov
be49c48282
fftools/ffprobe: inline opt_output_file() into its only caller
...
There is no reason to keep them separate.
Also, replace exit_program() with returning an error code.
2023-07-20 20:47:46 +02:00
Anton Khirnov
411e183360
fftools/opt_common: replace report_and_exit() with returning an error code
...
Remove report_and_exit(), as it has no more users.
2023-07-20 20:47:46 +02:00
Anton Khirnov
78699923ac
fftools/ffplay: replace report_and_exit() with returning an error code
2023-07-20 20:47:46 +02:00
Anton Khirnov
140cb5a742
fftools/ffprobe: replace report_and_exit() with returning error codes
2023-07-20 20:47:46 +02:00
Anton Khirnov
83ace80bfd
fftools/ffmpeg: return an error from MATCH_PER_STREAM_OPT() instead of aborting
2023-07-20 20:47:46 +02:00
Anton Khirnov
2f155b18a1
fftools/ffmpeg: return an error from assert_avoptions() instead of aborting
...
Rename it to check_avoptions().
2023-07-20 20:47:46 +02:00
Anton Khirnov
eda1fac27a
fftools/cmdutils: return AVERROR_EXIT for OPT_EXIT options instead of aborting()
2023-07-20 20:47:46 +02:00
Anton Khirnov
8173623e39
fftools/ffmpeg: consolidate exiting from main() on error
2023-07-20 20:47:46 +02:00
Anton Khirnov
c56fabde27
fftools/ffmpeg_opt: consolidate printing errors in ffmpeg_parse_options()
2023-07-20 20:47:46 +02:00
Anton Khirnov
87f0333af1
fftools/cmdutils: add error handling to filter_codec_opts()
2023-07-20 20:47:46 +02:00
Anton Khirnov
6b8cf2505a
fftools/cmdutils: constify the first parameter of filter_codec_opts()
2023-07-20 20:47:46 +02:00
Anton Khirnov
39d5104332
fftools: handle errors in parse_options()
2023-07-20 20:47:46 +02:00
Anton Khirnov
49ac7fc485
fftools: remove parse_time_or_die()
...
Replace it with calling av_parse_time() directly, which provides
graceful error handling and more accurate error messages.
2023-07-20 20:47:46 +02:00
Anton Khirnov
9cb47c78d6
fftools: return errors from parse_number_or_die() instead of aborting
...
Rename the function to just parse_number().
2023-07-20 20:47:40 +02:00