James Almer
0664cbd732
x86/flacdsp: add a SSE2 version of wasted32
...
flac_wasted_32_c: 851.3
flac_wasted_32_sse2: 41.3
Signed-off-by: James Almer <jamrial@gmail.com>
11 months ago
James Almer
1ba5287697
avcodec/flacdsp: split off wasted bit handling into dsp functions
...
Signed-off-by: James Almer <jamrial@gmail.com>
11 months ago
James Almer
c00c8679ed
x86/flacdsp: add a SSE4 version of lpc16
...
flac_lpc_16_13_c: 2841.3
flac_lpc_16_13_sse4: 2151.8
flac_lpc_16_16_c: 3382.8
flac_lpc_16_16_sse4: 2228.3
flac_lpc_16_29_c: 5800.3
flac_lpc_16_29_sse4: 3727.3
flac_lpc_16_32_c: 5972.8
flac_lpc_16_32_sse4: 4052.3
Signed-off-by: James Almer <jamrial@gmail.com>
11 months ago
Yotam Ofek
02c032abcd
avcodec/aacenc_tns: remove unreachable code branch
...
the condition being tested was the same as the stop condition for the containing loop,
so inside the loop it would always test positive
11 months ago
Rémi Denis-Courmont
0d9591841b
lavc/ac3dsp: add R-V Zvbb extract_exponents
11 months ago
Ramiro Polla
b8af0809fb
libavcodec/mpegvideo_enc: fix multi-threaded motion estimation rounding for mpeg4
...
ff_init_me() was being called after ff_update_duplicate_context(),
which caused the propagation of the initialization to other thread
contexts to be delayed by one frame.
In the case of mpeg4 (or flipflop_rounding), this would make the
hpel_put functions differ between the first thread (which would be
correctly initialized) and the other threads (which would be stale
from the previous frame).
11 months ago
Ramiro Polla
713c6eba8d
libavcodec/motion_est: fix penalty_factor for b frames
...
In direct_search() and ff_estimate_b_frame_motion(), penalty_factor
would be used before being initialized in estimate_motion_b(). Also,
the initialization would happen more than once unnecessarily.
11 months ago
Haihao Xiang
ceace488ff
lavc/vaapi_encode_av1: insert HDR_CLL metadata if have
...
Only look for HDR_CLL on key frame on the output.
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
11 months ago
Haihao Xiang
0bdf71ada7
lavc/vaapi_encode_av1: Insert HDR_MDCV metadata if have
...
Only look for HDR_MDVC on key frame on the output.
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
11 months ago
Haihao Xiang
7f3ba6bbfa
lavc/vaapi_encode_av1: implement write_extra_header callback
...
This can be used to insert a metadata OBU to the stream later.
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
11 months ago
Niklas Haas
9c6c4f3d47
avcodec/libaomenc: properly clean up image metadata
...
This does not get consumed by aom_codec_encode().
11 months ago
Rémi Denis-Courmont
c07af340ae
lavc/riscv: explicitly require Zbb for MIN
11 months ago
sunyuechi
6e77af1c22
lavc/vp8dsp: R-V V put_epel v
...
C908:
vp8_put_epel4_v4_c: 11.0
vp8_put_epel4_v4_rvv_i32: 5.0
vp8_put_epel4_v6_c: 16.5
vp8_put_epel4_v6_rvv_i32: 6.2
vp8_put_epel8_v4_c: 43.7
vp8_put_epel8_v4_rvv_i32: 11.2
vp8_put_epel8_v6_c: 68.7
vp8_put_epel8_v6_rvv_i32: 13.2
vp8_put_epel16_v4_c: 92.5
vp8_put_epel16_v4_rvv_i32: 13.7
vp8_put_epel16_v6_c: 135.7
vp8_put_epel16_v6_rvv_i32: 16.5
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
11 months ago
sunyuechi
109daea619
lavc/vp8dsp: R-V V put_epel h
...
C908:
vp8_put_epel4_h4_c: 10.7
vp8_put_epel4_h4_rvv_i32: 5.0
vp8_put_epel4_h6_c: 15.0
vp8_put_epel4_h6_rvv_i32: 6.2
vp8_put_epel8_h4_c: 43.2
vp8_put_epel8_h4_rvv_i32: 11.2
vp8_put_epel8_h6_c: 57.5
vp8_put_epel8_h6_rvv_i32: 13.5
vp8_put_epel16_h4_c: 92.5
vp8_put_epel16_h4_rvv_i32: 13.7
vp8_put_epel16_h6_c: 139.0
vp8_put_epel16_h6_rvv_i32: 16.5
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
11 months ago
sunyuechi
538f217bbb
lavc/vp8dsp: R-V V put_bilin_hv
...
C908:
vp8_put_bilin4_hv_c: 561.0
vp8_put_bilin4_hv_rvv_i32: 232.7
vp8_put_bilin8_hv_c: 2162.7
vp8_put_bilin8_hv_rvv_i32: 506.7
vp8_put_bilin16_hv_c: 4769.7
vp8_put_bilin16_hv_rvv_i32: 556.7
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
11 months ago
sunyuechi
bb5039b3cb
lavc/vp8dsp: R-V V put_bilin_h v
...
C908:
vp8_put_bilin4_h_c: 367.0
vp8_put_bilin4_h_rvv_i32: 137.7
vp8_put_bilin4_v_c: 377.0
vp8_put_bilin4_v_rvv_i32: 137.7
vp8_put_bilin8_h_c: 1431.0
vp8_put_bilin8_h_rvv_i32: 297.5
vp8_put_bilin8_v_c: 1449.0
vp8_put_bilin8_v_rvv_i32: 297.5
vp8_put_bilin16_h_c: 2839.0
vp8_put_bilin16_h_rvv_i32: 344.7
vp8_put_bilin16_v_c: 2857.0
vp8_put_bilin16_v_rvv_i32: 344.7
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
11 months ago
sunyuechi
0b8e5e5a00
lavc/vp8dsp: R-V put_vp8_pixels
...
C908:
vp8_put_pixels4_c: 78.0
vp8_put_pixels4_rvi: 33.7
vp8_put_pixels8_c: 278.0
vp8_put_pixels8_rvi: 55.0
vp8_put_pixels16_c: 999.0
vp8_put_pixels16_rvi: 86.7
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
11 months ago
Michael Niedermayer
d7924a4f60
avcodec/cbs_av1: Avoid shift overflow
...
Fixes: CID1465488 Unintentional integer overflow
Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
11 months ago
Dawid Kozinski
e8e84dc325
avcodec/evc: Reference to ISO_IEC_23094-1-2020 document section for EVC_MAX_APS_COUNT enum has been fixed
...
Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com>
11 months ago
Dawid Kozinski
cf45526a0d
avcodec/bitstream_filters: Declaration of the ff_evc_frame_merge_bsf variable has been moved to the appropriate following the alphabetical order
...
Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com>
11 months ago
Dawid Kozinski
0797651c12
avcodec/evc: Set the AV_FRAME_FLAG_KEY flag for a decoded frame when the decoded packet contains a keyframe
...
Signed-off-by: Dawid Kozinski <d.kozinski@samsung.com>
11 months ago
James Almer
214cbe29dc
x86/blockdsp: add sse2 and avx2 versions of fill_block_tab
...
blockdsp.fill_block_tab[0]_c: 34.1
blockdsp.fill_block_tab[0]_sse2: 11.1
blockdsp.fill_block_tab[0]_avx2: 10.1
blockdsp.fill_block_tab[1]_c: 10.1
blockdsp.fill_block_tab[1]_sse2: 6.1
blockdsp.fill_block_tab[1]_avx2: 5.6
Signed-off-by: James Almer <jamrial@gmail.com>
11 months ago
Rémi Denis-Courmont
f8715d0300
lavc/vp9dsp: fix compilation with llvm-as
11 months ago
Andreas Rheinhardt
07c1bd5feb
avcodec/Makefile: Fix intrax8 objects
...
Forgotten in d1d30edf42
.
This fixes standalone compilation of the VC-1 based
decoders when using shared builds (for static builds,
nothing pulls in msmpeg4data.o, yet for shared builds
the default behaviour of linkers is different, leading
to undefined references because msmpeg4data.o relies
on stuff from mpeg4video.o).
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Andreas Rheinhardt
8b7f089e4b
avcodec/Makefile: Correct name of cbd2_dpcm decoder
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Andreas Rheinhardt
df2416ca97
Remove remnants of prores_lgpl decoder
...
Forgotten in 5c6a3604f0
.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Andreas Rheinhardt
db2cd9cabf
avcodec/Makefile, v408(dec|enc): Remove remnants of AYUV codecs
...
Forgotten in 9ee59b63f5
.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Andreas Rheinhardt
39ce8a9695
avcodec/diracdec: Don't use EDGE_WIDTH from mpegpicture.h
...
There is nothing that forces us to use the same value
as mpegvideo_enc.c, so define our own constant.
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Andreas Rheinhardt
2eab5a1f54
avcodec/aac/aacdec: Fix linking errors with only one decoder enabled
...
This is achieved by using function pointers for AAC SBR functions.
This unfortunately necessitated to use void* in
ff_aac_sbr_apply(_fixed).
Fixes ticket #10999 .
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Mandava, Mounika
b1037d4ebe
lavc/qsvenc: add support for oneVPL string API
...
A new option -qsv_params <str> is added, where <str> is a :-separated
list of key=value parameters.
Example:
$ ffmpeg -y -f lavfi -i testsrc -vf "format=nv12" -c:v h264_qsv -qsv_params
"TargetUsage=1:GopPicSize=30:GopRefDist=2:TargetKbps=5000" -f null -
Signed-off-by: Mounika Mandava <mounika.mandava@intel.com>
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
11 months ago
Haihao Xiang
df76c3756d
lavc/qsvenc: always allocate the array to store mfxExtBuffer points
...
This allows us to append mfxExtBuffer per user's settings
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
11 months ago
Andreas Rheinhardt
f5d2dc7b4b
avcodec/aac/aacdec_(fixed|float): Set AACDecDSP, AACDecProc directly
...
This is more in line with how we initialize DSP functions
and avoids tables of function pointers as well as relocations
for these.
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Andreas Rheinhardt
8762aa4d62
avcodec/aac/aacdec: Move init functions to aacdec_fixed/float
...
This allows to merge it with AACDecDSP.init and remove the latter
(it is called only once anyway); it also allows to make
the fixed/float AACDecDSP and AACDecProc implementations internal
to aacdec_fixed/float.c (which also fixes a violation of our
naming conventions). And it some linker errors when either decoder
is disabled.
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Andreas Rheinhardt
0fc3d8e4d6
avcodec/aac/aacdec: Avoid compiling latm decoder if disabled
...
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Andreas Rheinhardt
d4fb110f5c
avcodec/aac/aacdec: Mark flush as cold
...
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Andreas Rheinhardt
41922bef7a
avcodec/aac/aacdec_(fixed|float): Avoid AAC_RENAME, INTFLOAT
...
Unnecessary now that this has been detemplatized.
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Andreas Rheinhardt
c13b5d96c8
avcodec/aac/aacdec_float: Call ff_aac_float_common_init() only once
...
That's enough.
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Andreas Rheinhardt
41ea317ced
avcodec/aac/aacdec: Avoid branch to set sample_fmt
...
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Andreas Rheinhardt
ef16882e8f
avcodec/aac/aacdec: Move channel number check out of init_dsp()
...
Also move initializing random_state.
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Andreas Rheinhardt
e4e9144a5c
avcodec/aac/aacdec: Remove unnecessary ff_thread_once()
...
ff_aacdec_common_init_once() already uses its own AVOnce.
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Andreas Rheinhardt
44474dd7b9
avcodec/aacsbr: Fix type mismatch
...
ff_aac_sbr_apply() and ff_aac_sbr_apply_fixed() still used
pointers to INTFLOAT which is float or int depending upon
whether USE_FIXED is set or not; in particular, according
to these declarations both functions have the same type.
But that is wrong and given that aacdec.c sets USE_FIXED,
it sees the wrong type for ff_aac_sbr_apply().
This leads to a -Wlto-type-mismatch warning when using lto [1].
Fix this by avoiding INTFLOAT in aacsbr.h (which also means
that aac_defines.h need not be included there any more).
[1]: https://fate.ffmpeg.org/log.cgi?slot=x86_64-archlinux-gcc-lto&time=20240506022217&log=compile
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Andreas Rheinhardt
e6bf540048
avcodec/aactab: Provide ff_ltp_coef, ff_tns_tmp2_map unconditionally
...
The fixed point decoder needs it since
905fdb0601
.
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago
Mark Thompson
7b482815a0
vulkan_av1: Fix force_integer_mv value
11 months ago
Mark Thompson
b73e6af337
vaapi_av1: Fix force_integer_mv value
11 months ago
Mark Thompson
b62d385ecf
nvdec_av1: Use av1dec force_integer_mv value
11 months ago
Mark Thompson
e5a5125bbe
vdpau_av1: Use av1dec force_integer_mv value
11 months ago
Mark Thompson
5162247092
dxva2_av1: Use av1dec force_integer_mv value
11 months ago
Mark Thompson
6f56e0e7e5
av1dec: Add force_integer_mv derived field for decoder use
...
This is not the same as the syntax element value in the frame header
because the specification parsing tables override the value on intra
frames.
11 months ago
Rémi Denis-Courmont
9e77188cba
lavc/ac3dsp: R-V Zbb ac3_exponent_min
...
SiFive U74:
ac3_exponent_min_reuse0_c: 10.0
ac3_exponent_min_reuse0_rvb_b: 8.0
ac3_exponent_min_reuse1_c: 2924.7
ac3_exponent_min_reuse1_rvb_b: 1803.0
ac3_exponent_min_reuse2_c: 5043.0
ac3_exponent_min_reuse2_rvb_b: 2827.5
ac3_exponent_min_reuse3_c: 7028.7
ac3_exponent_min_reuse3_rvb_b: 3872.0
ac3_exponent_min_reuse4_c: 8824.2
ac3_exponent_min_reuse4_rvb_b: 5122.2
ac3_exponent_min_reuse5_c: 10487.5
ac3_exponent_min_reuse5_rvb_b: 6412.2
11 months ago
Andreas Rheinhardt
2f8bf90054
avcodec/allcodecs: Remove LIBX264_CONST
...
Possible since 71669f2ad5
.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
11 months ago