Niklas Haas
71669f2ad5
avcodec/libx264: bump minimum required version to 155
...
This version is seven years old, and present in Debian oldoldstable,
Ubuntu 20.04 and Leap 15.0.
Allows cleaning up the file substantially. In particular, this is
motivated by the desire to stop relying on init_static_data.
10 months ago
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>
10 months ago
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>
10 months ago
Niklas Haas
1d89de03d6
avcodec/dovi_rpuenc: avoid division by zero
...
Fixes: https://trac.ffmpeg.org/ticket/10985
10 months ago
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>
10 months ago
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>
10 months ago
Lynne
f492095bd3
opustab: macro constant as a double
...
May increase intermediate precision on some compilers.
10 months ago
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>
10 months ago
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>
10 months ago
Andreas Rheinhardt
651f3aa7f9
avcodec/h264dec: Remove unused coded_picture_number
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
10 months ago
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.
10 months ago
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>
10 months ago
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>
10 months ago
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>
10 months ago
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>
10 months ago
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.
10 months ago
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.
10 months ago
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>
11 months ago
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>
11 months ago
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>
11 months ago
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>
11 months ago
James Almer
63702d5f9c
avcodec/aac/aacdec: remove double colon
...
Signed-off-by: James Almer <jamrial@gmail.com>
11 months ago
Zhao Zhili
66161166dc
avcodec/mediacodecenc: add AV_CODEC_CAP_ENCODER_FLUSH support
...
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
11 months ago
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>
11 months ago
Zhao Zhili
3cfea6993a
avcodec/mediacodecenc: Remove write only variable
...
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
11 months ago
Zhao Zhili
a5a3788f56
avcodec/mediacodecenc: Fix return empty packet when bsf is used
...
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
11 months ago
Zhao Zhili
32fa20c0c9
avcodec/mediacodec_wrapper: Fix unused variable warning
11 months ago
Zhao Zhili
98b5e80fd6
avcodec/mediacodec_wrapper: link to NDK mediacodec API directly
...
Drop support of Android version before 5.0.
11 months ago
Lynne
e3650886c7
aacdec: initialize float/fixed SBR tables only when either is needed
11 months ago
Lynne
176c922e4e
aacsbr: constify the only SBR table
11 months ago
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).
11 months ago
Lynne
ae7c6cc17d
aac: move aacdec.c to aac/aacdec.c
11 months ago
Lynne
551ce16b59
aacdec: move aacdec.h into libavcodec/aac
11 months ago
Lynne
cd1e404a10
aacdec: merge previously-templated code
11 months ago
Lynne
ce740618d1
aacdec: move LATM decode functions into a separate file
11 months ago
Lynne
e93793bf3c
aacdec: fully detemplate decoder core
11 months ago
Lynne
2f90d83981
aacdec: move fixed/float DSP initialization to templated init functions
11 months ago
Lynne
905fdb0601
aacdec: reuse TNS and LTP tables between fixed and float decoders
...
The fixed decoder derives the values from floats anyway.
11 months ago
Lynne
49e7be1e37
aacdec: move prediction to separate files
11 months ago
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.
11 months ago
Lynne
41c04bec0a
aacdec: move fixed-point clipping to a separate function
11 months ago
Lynne
87a93a5670
aacdec: split off channel coupling into a new file
11 months ago
Lynne
b7387ea00e
aacdec: deduplicate table initizalization
...
All tables now initialized by aac/aacdec_fixed|float
11 months ago
Lynne
41ae2b03a5
aacdec: move spectrum decode and dequantization to a new file
11 months ago
Lynne
5c026e6637
aacdec: remove unnecessary decode_spectrum_and_dequant arguments
...
Small cleanup to reduce number of arguments.
11 months ago
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.
11 months ago
Lynne
091d85217d
aacdec: template windowing and transforms separately
11 months ago
Lynne
a309aa4127
aacdec: duplicate table initialization
...
Preparation to move all table init and support windowing functions.
11 months ago
Lynne
e9fc7661da
aacdec: template LTP application separately
11 months ago
Lynne
db5128ef70
aacdec: template TNS application separately
11 months ago