Michael Niedermayer
615c994739
avcodec/atrac9dec: Check init_get_bits8() for failure
...
Fixes: CID1439569 Unchecked return value
Fixes: CID1439578 Unchecked return value
Sponsored-by: Sovereign Tech Fund
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-05-01 02:57:11 +02:00
Michael Niedermayer
63415168db
avcodec/ac3_parser: Check init_get_bits8() for failure
...
Fixes: CID1420393 Unchecked return value
Sponsored-by: Sovereign Tech Fund
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-05-01 02:57:11 +02:00
Niklas Haas
1d89de03d6
avcodec/dovi_rpuenc: avoid division by zero
...
Fixes: https://trac.ffmpeg.org/ticket/10985
2024-04-30 21:35:42 +02:00
Andreas Rheinhardt
08781ebe1a
avcodec/riscv/vp9dsp: Fix inclusion guard
...
Fixes fate-source.
Reviewed-by: Jan Ekström <jeebjp@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-04-29 21:23:32 +02:00
sunyuechi
c3a96f97f8
lavc/vp9dsp: R-V V ipred dc
...
C908:
vp9_dc_8x8_8bpp_c: 46.0
vp9_dc_8x8_8bpp_rvv_i64: 41.0
vp9_dc_16x16_8bpp_c: 109.2
vp9_dc_16x16_8bpp_rvv_i32: 72.7
vp9_dc_32x32_8bpp_c: 365.2
vp9_dc_32x32_8bpp_rvv_i32: 165.5
vp9_dc_127_8x8_8bpp_c: 23.0
vp9_dc_127_8x8_8bpp_rvv_i64: 22.0
vp9_dc_127_16x16_8bpp_c: 70.2
vp9_dc_127_16x16_8bpp_rvv_i32: 50.2
vp9_dc_127_32x32_8bpp_c: 295.2
vp9_dc_127_32x32_8bpp_rvv_i32: 136.7
vp9_dc_128_8x8_8bpp_c: 23.0
vp9_dc_128_8x8_8bpp_rvv_i64: 22.0
vp9_dc_128_16x16_8bpp_c: 70.2
vp9_dc_128_16x16_8bpp_rvv_i32: 50.2
vp9_dc_128_32x32_8bpp_c: 295.2
vp9_dc_128_32x32_8bpp_rvv_i32: 136.7
vp9_dc_129_8x8_8bpp_c: 23.0
vp9_dc_129_8x8_8bpp_rvv_i64: 22.0
vp9_dc_129_16x16_8bpp_c: 70.2
vp9_dc_129_16x16_8bpp_rvv_i32: 50.2
vp9_dc_129_32x32_8bpp_c: 295.2
vp9_dc_129_32x32_8bpp_rvv_i32: 136.7
vp9_dc_left_8x8_8bpp_c: 38.0
vp9_dc_left_8x8_8bpp_rvv_i64: 36.0
vp9_dc_left_16x16_8bpp_c: 93.2
vp9_dc_left_16x16_8bpp_rvv_i32: 67.7
vp9_dc_left_32x32_8bpp_c: 333.2
vp9_dc_left_32x32_8bpp_rvv_i32: 158.5
vp9_dc_top_8x8_8bpp_c: 38.7
vp9_dc_top_8x8_8bpp_rvv_i64: 36.0
vp9_dc_top_16x16_8bpp_c: 93.2
vp9_dc_top_16x16_8bpp_rvv_i32: 67.7
vp9_dc_top_32x32_8bpp_c: 333.2
vp9_dc_top_32x32_8bpp_rvv_i32: 156.2
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2024-04-29 20:46:05 +03:00
Lynne
f492095bd3
opustab: macro constant as a double
...
May increase intermediate precision on some compilers.
2024-04-29 15:30:25 +02:00
Zhao Zhili
cf4af4bca0
avcodec/mediacodecenc: Flush bsf after create extradata
...
Avoid leaving any data inside bsf while also avoid keep bsf in
EOF state.
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
2024-04-29 15:58:48 +08:00
Fei Wang
67fc9b8427
lavc/qsvdec: Use FFmpeg default 1/25 framerate if can't derive it from bitstream
...
Fix error:
$ ffmpeg -hwaccel qsv -i input.h265 -f null -
...
[null @ 0x55da1a629200] Application provided invalid, non monotonically
increasing dts to muxer in stream 0: 3 >= 3
Signed-off-by: Fei Wang <fei.w.wang@intel.com>
2024-04-29 11:08:41 +08:00
Andreas Rheinhardt
651f3aa7f9
avcodec/h264dec: Remove unused coded_picture_number
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-04-28 19:13:17 +02:00
Yotam Ofek
a9a69a5a31
avcodec/aacenc: don't redundantly re-compute max sfb
...
Remove an unneeded inner loop in adjust_frame_information that
had no effect, the loop body can be run only once and will compute
the same max sfb.
2024-04-28 13:59:57 +02:00
Michael Niedermayer
091fdce87e
avcodec/pngdec: Check last AVFrame before deref
...
Fixes: NULL pointer dereference
Fixes: 68184/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_APNG_fuzzer-4926478069334016
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-04-27 21:16:40 +02:00
Michael Niedermayer
d9699464c3
avcodec/vp3: Call ff_progress_frame_unref() before ff_progress_frame_get_buffer()
...
Fixes: Assertion !f->f && !f->progress failed at libavcodec/decode.c:1688
Fixes: 68190/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_THEORA_fuzzer-5942090287611904
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-04-27 21:16:40 +02:00
Michael Niedermayer
5eb05f4450
avcodec/hevcdec: Check ref frame
...
Fixes: NULL pointer dereferences
Fixes: 68197/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HEVC_fuzzer-6382538823106560
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-04-27 21:16:39 +02:00
Andreas Rheinhardt
67c7c44c79
avcodec/vp8: Return error on error
...
Regression since e1ba00ac8f
.
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2024-04-27 16:55:00 +02:00
Lynne
3390693bfb
aacdec: avoid generating unused code when either implementation is disabled
...
Minor optimization to remove extra branches.
We need to include the header for xHE anyway, which is float-only.
2024-04-27 11:12:12 +02:00
Lynne
134dba9544
opusdsp: add ability to modify deemphasis constant
...
xHE-AAC relies on the same postfilter mechanism
that Opus uses to improve clarity (albeit with a steeper
deemphasis filter).
The code to apply it is identical, it's still just a
simple IIR low-pass filter. This commit makes it possible
to use alternative constants.
2024-04-27 11:12:07 +02:00
Diego Felix de Souza
9d675bb60d
avcodec/nvenc: add high bit depth encoding for HEVC
...
Adding 10-bit encoding support for HEVC if the input is 8-bit. In
case of 8-bit input content, NVENC performs an internal CUDA 8 to
10-bit conversion of the input prior to encoding. Currently, only
AV1 supports encoding 8-bit content as 10-bit.
Signed-off-by: Diego Felix de Souza <ddesouza@nvidia.com>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2024-04-25 00:33:13 +02:00
Haihao Xiang
8c62d77139
lavc/vp9: Fix regression introduced in 0ba05857
...
It is possible that ff_progress_frame_await() is called but
ff_progress_frame_report() isn't called when a hardware acceleration
method is used, so a thread for vp9 decoding might get stuck.
Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2024-04-24 11:47:34 +08:00
James Almer
c4e3d6cdb0
avcodec/codec_par: always clear extradata_size in avcodec_parameters_to_context()
...
Missed in d383ae43c2
.
Signed-off-by: James Almer <jamrial@gmail.com>
2024-04-24 00:11:37 -03:00
Michael Niedermayer
b91e3c4c90
avcodec/cbs_h2645: Check NAL space
...
Found-by-reviewing: CID1419833 Untrusted loop bound
Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-04-24 02:52:17 +02:00
James Almer
63702d5f9c
avcodec/aac/aacdec: remove double colon
...
Signed-off-by: James Almer <jamrial@gmail.com>
2024-04-23 11:02:00 -03:00
Zhao Zhili
66161166dc
avcodec/mediacodecenc: add AV_CODEC_CAP_ENCODER_FLUSH support
...
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
2024-04-23 15:35:26 +08:00
Zhao Zhili
9e49915195
avcodec/mediacodecenc: Add global header support
...
The extradata is generated by encoding a dummy frame, then reset
the encoder state by mediacodec flush(). It only works for pixel
format other than AV_PIX_FMT_MEDIACODEC, since I'm not sure how
to create a dummy frame safely with AV_PIX_FMT_MEDIACODEC.
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
2024-04-23 15:35:26 +08:00
Zhao Zhili
3cfea6993a
avcodec/mediacodecenc: Remove write only variable
...
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
2024-04-23 15:35:26 +08:00
Zhao Zhili
a5a3788f56
avcodec/mediacodecenc: Fix return empty packet when bsf is used
...
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
2024-04-23 15:35:26 +08:00
Zhao Zhili
32fa20c0c9
avcodec/mediacodec_wrapper: Fix unused variable warning
2024-04-23 15:35:26 +08:00
Zhao Zhili
98b5e80fd6
avcodec/mediacodec_wrapper: link to NDK mediacodec API directly
...
Drop support of Android version before 5.0.
2024-04-23 15:35:26 +08:00
Lynne
e3650886c7
aacdec: initialize float/fixed SBR tables only when either is needed
2024-04-23 08:31:41 +02:00
Lynne
176c922e4e
aacsbr: constify the only SBR table
2024-04-23 08:31:41 +02:00
Lynne
03cf101645
aacdec: remove AAC-specific MIPS optimizations
...
The code was written in 2012, but seems to have been broken
for just as long. Compilation is broken on every MIPS/MIPS64
system with an FPU (which the code depends on).
2024-04-23 08:31:40 +02:00
Lynne
ae7c6cc17d
aac: move aacdec.c to aac/aacdec.c
2024-04-23 08:31:40 +02:00
Lynne
551ce16b59
aacdec: move aacdec.h into libavcodec/aac
2024-04-23 08:31:40 +02:00
Lynne
cd1e404a10
aacdec: merge previously-templated code
2024-04-23 08:31:39 +02:00
Lynne
ce740618d1
aacdec: move LATM decode functions into a separate file
2024-04-23 08:31:39 +02:00
Lynne
e93793bf3c
aacdec: fully detemplate decoder core
2024-04-23 08:31:38 +02:00
Lynne
2f90d83981
aacdec: move fixed/float DSP initialization to templated init functions
2024-04-23 08:31:38 +02:00
Lynne
905fdb0601
aacdec: reuse TNS and LTP tables between fixed and float decoders
...
The fixed decoder derives the values from floats anyway.
2024-04-23 08:31:38 +02:00
Lynne
49e7be1e37
aacdec: move prediction to separate files
2024-04-23 08:31:37 +02:00
Lynne
b1718ce0f9
aacdec: move CCE decoding to a separate templated file
...
Unfortunately, although it's a purely decode function, it does
need to be templated.
2024-04-23 08:31:37 +02:00
Lynne
41c04bec0a
aacdec: move fixed-point clipping to a separate function
2024-04-23 08:31:36 +02:00
Lynne
87a93a5670
aacdec: split off channel coupling into a new file
2024-04-23 08:31:36 +02:00
Lynne
b7387ea00e
aacdec: deduplicate table initizalization
...
All tables now initialized by aac/aacdec_fixed|float
2024-04-23 08:31:36 +02:00
Lynne
41ae2b03a5
aacdec: move spectrum decode and dequantization to a new file
2024-04-23 08:31:35 +02:00
Lynne
5c026e6637
aacdec: remove unnecessary decode_spectrum_and_dequant arguments
...
Small cleanup to reduce number of arguments.
2024-04-23 08:31:35 +02:00
Lynne
eef9100a8e
aacdec: template LTP windowing separately
...
The function is called only internally in DSP, so we do not
need to expose it.
apply_ltp on MIPS uses this function, but due to the function
being just a glue function with no real optimizations,
duplicate it there.
2024-04-23 08:31:35 +02:00
Lynne
091d85217d
aacdec: template windowing and transforms separately
2024-04-23 08:31:34 +02:00
Lynne
a309aa4127
aacdec: duplicate table initialization
...
Preparation to move all table init and support windowing functions.
2024-04-23 08:31:34 +02:00
Lynne
e9fc7661da
aacdec: template LTP application separately
2024-04-23 08:31:33 +02:00
Lynne
db5128ef70
aacdec: template TNS application separately
2024-04-23 08:31:33 +02:00
Lynne
ad16349f9b
aacdec: template intensity stereo application separately
2024-04-23 08:31:33 +02:00