Andreas Rheinhardt
c3ca90a92e
avcodec/x86/vp3dsp_init: Set correct function pointer, fix crash
...
Regression since fd172185580c1ccdcfb90bbfdb59fa806fad3117;
triggered by vp4/KTkvw8dg1J8.avi in the FATE suite, but not
when running fate as this code is not used when the bitexact
flag is set.
Bisecting done by ami_stuff, patch from user Mika Fischer
in ticket #10027 (which this commit fixes).
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2024-05-02 23:38:15 +02:00
Andreas Rheinhardt
9fb3d640fb
avcodec/av1dec: Always set ret before goto end
...
Before 0f8763fbea
, av1_frame_ref()
and update_reference_list() could fail and therefore needed to
be checked, which incidentally set ret. This is no longer happening,
leading to a potential use of an uninitialized value which is
also the subject of Coverity ticket #1596605 .
Fix this by always setting ret before goto end; do not return
some random ancient value.
Reviewed-by: James Almer <jamrial@gmail.com >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2024-05-02 23:37:16 +02:00
James Almer
86e418ffd7
avcodec/avcodec: free decoded_side_data in ff_codec_close()
...
It's set by the library when decoding, so it should be freed when closing the
context.
Signed-off-by: James Almer <jamrial@gmail.com >
2024-05-02 10:39:56 -03:00
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.
2024-05-02 12:12:49 +02:00
Timo Rothenpieler
476688095f
configure: handle xargs versions that exec empty commands
...
Some versions of xargs don't run any commands if no input is given,
others do run it at least once, causing errors.
Pass -r to xargs to avoid that behaviour and never run empty commands.
2024-05-01 19:40:00 +02:00
Timo Rothenpieler
95edaf72b4
configure: support msvc build inside WSL
2024-05-01 19:00:36 +02:00
Michael Niedermayer
e757726e89
avfilter/avfiltergraph: return value of ff_request_frame() is unused
...
Fixes: CID1397741 Unchecked return value
Sponsored-by: Sovereign Tech Fund
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2024-05-01 02:57:13 +02:00
Andrew Sayers
99e43a6dfe
lavu/opt: Clarify the scope of AVOptions
...
See discussion on the mailing list:
https://ffmpeg.org/pipermail/ffmpeg-devel/2024-April/326054.html
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2024-05-01 02:57:13 +02:00
Michael Niedermayer
9f54c13bc4
avformat/iamfdec: check nb_streams in header read
...
Fixes: Assertion pkt->stream_index < (unsigned)s->nb_streams && "Invalid stream index.\n" failed at libavformat/demux.c:572
Fixes: 67890/clusterfuzz-testcase-minimized-ffmpeg_dem_IAMF_fuzzer-5166340789829632.fuzz
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2024-05-01 02:57:12 +02:00
Michael Niedermayer
20a6bfda0f
avformat/mxfdec: Check body_offset
...
Fixes: signed integer overflow: 538976288 - -9223372036315799520 cannot be represented in type 'long'
Fixes: 68060/clusterfuzz-testcase-minimized-ffmpeg_dem_MXF_fuzzer-5523457266745344
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Tomas Härdin <git@haerdin.se >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2024-05-01 02:57:12 +02:00
Michael Niedermayer
c26a762ea1
avformat/kvag: Check sample_rate
...
Fixes: Division by 0
Fixes: -copyts -start_at_zero -itsoffset 00:00:01 -itsscale 1 -ss 00:00:02 -i zgclab/ffmpeg_crash/poc1 output.mp4
Found-by: Wang Dawei and Zhou Geng, from Zhongguancun Laboratory
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2024-05-01 02:57:12 +02:00
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
James Almer
e09164940e
avformat/mov: free the infe allocated item data on failure
...
Fixes: memleak
Fixes: 68212/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-4963488540721152
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Tested-by: Michael Niedermayer <michael@niedermayer.cc >
Signed-off-by: James Almer <jamrial@gmail.com >
2024-04-30 18:29:38 -03:00
Martin Storsjö
d11be191fa
checkasm: vc1dsp: Align buffers sufficiently for the mspel tests
...
This fixes crashes in the mspel tests on x86.
Signed-off-by: Martin Storsjö <martin@martin.st >
2024-04-30 23:13:47 +03: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
James Almer
b7debef3cc
avformat/mov: support SpatialAudioBox ambisonic layouts with non-diegetic channels
...
Signed-off-by: James Almer <jamrial@gmail.com >
2024-04-30 11:15:13 -03:00
James Almer
37c8d93e56
avformat/mov: support SpatialAudioBox ambisonic layouts with arbitrary channel mapping
...
Signed-off-by: James Almer <jamrial@gmail.com >
2024-04-30 11:15:13 -03: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
sunyuechi
dedc2456bf
checkasm/vc1dsp: add mspel_pixels test
...
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net >
2024-04-29 20:34:29 +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
David Rosca
1e2ac489a4
lavu/hwcontext_vaapi: Use vaMapBuffer2 for mapping image buffers
...
This allows some optimizations in driver, such as not having to read
back the data if write-only mapping is requested.
2024-04-29 11:08:41 +08:00
Haihao Xiang
578ac59887
lavfi/qsv: Copy metadata fields from the given input
...
Currently it always copies the metadata fields from the last input when
there are multiple inputs for the filter. For example, the metadata
fields from input1 are copied to the output for overlay_qsv filter,
however for regular overlay filters, the metadata fields from input0 are
copied to the output. With this fix, we may copy the metadata fields
from input0 to the ouput as well.
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com >
2024-04-29 11:08:41 +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
James Almer
31327c2d07
avformat/mov: fix the check for the heif item parsing loop
...
Fixes: Null pointer dereference
Fixes: 67861/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5352628142800896
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: James Almer <jamrial@gmail.com >
2024-04-27 19:39:23 -03:00
Timo Rothenpieler
59767636c7
fate: allow https for git URLs
2024-04-27 23:24:58 +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
4c8a6631ad
fftools/ffmpeg_filter: Fix check
...
Fixes Coverity issues #1596529 , #1596531 .
Introduced in 8e35e33d42
.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2024-04-27 17:00:12 +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
Niklas Haas
a2cdb2f5be
avfilter/f_sidedata: synchronize with side data list
...
Add all recently added frame data types, as well as the more consistent
name DETECTION_BBOXES as an alias to DETECTION_BOUNDING_BOXES.
2024-04-26 21:02:46 +02:00
Derek Buitenhuis
2d5fa816fb
avformat/http: Add support for Retry-After header
...
429 and 503 codes can, and often do (e.g. all Google Cloud
Storage URLs can), return a Retry-After header with the error,
indicating how long to wait, asd either a date, or in seconds,
before retrying again. If it is not respected by, for example,
using our default backoff stratetgy instead, chances of success
are very unlikely.
Some references:
* https://datatracker.ietf.org/doc/html/rfc6585
* https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.3
This adds an AVOption to respect that header.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2024-04-25 15:21:25 +01:00
Derek Buitenhuis
6d89fd4c27
avformat/http: Rename parse_set_cookie_expiry_time to parse_http_date
...
That is what it actually does, and it will be needed for more
than the Expiry header soon.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2024-04-25 15:21:25 +01:00
Derek Buitenhuis
1f8e5b6d95
doc/protocols: Fill in missing HTTP options
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2024-04-25 14:21:25 +01:00
Derek Buitenhuis
5d568b16a0
doc/protocols: Re-order HTTP options to match http.c order
...
This makes the list easier to maintain.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2024-04-25 14:20:28 +01:00
Derek Buitenhuis
31de02cf31
avformat/http: Add option to limit total reconnect delay
...
The existing option only allows users to set the max delay for a
single attempt, rather than the total allowed delay, which is both
pretty unintitive, and only applicable when exponential backoff is
used.
The default for this option is set to 256, which is just above the
effective total delay accomplished by the the existing
reconnect_delay_max default of 120.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2024-04-25 14:19:50 +01:00
Derek Buitenhuis
10374ab5ed
avformat/http: Add options to set the max number of connection retries
...
Not every use case benefits from setting retries in terms of the backoff.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2024-04-25 14:17:33 +01:00
Derek Buitenhuis
a776d524e1
avformat/http: Rename attempts to auth_attempts
...
This accurately reflects what it does, as per
e75bbcf493
.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2024-04-25 14:15:32 +01:00
Derek Buitenhuis
fa00624693
avformat/http: Don't bail on parsing headers on "bad" HTTP codes
...
Many "bad" HTTP codes like 429 and 503 may include important info in
their headers.
Also, in general, there is no purpose in bailing here.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2024-04-25 14:15:08 +01:00
Derek Buitenhuis
b79260550b
avformat/http: Use AVERROR_HTTP_TOO_MANY_REQUESTS
...
Added in the previous commit.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2024-04-25 14:14:36 +01:00
Derek Buitenhuis
bcae59b898
avutil/error: Add HTTP 429 Too Many Requests AVERROR code
...
This is a common error code from e.g. CDNs or cloud storage, and
it is useful to be able to handle it differently to a generic
4XX code.
Its source is RFC6585.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2024-04-25 14:13:47 +01:00
James Almer
5fc4a824db
fate/iamf: don't demux packets in fate-iamf-5_1-{copy,demux}
...
They contain side data whose size is arch dependent.
This fixes fate failures on 32bit targets.
Signed-off-by: James Almer <jamrial@gmail.com >
2024-04-25 09:36:19 -03:00
Michael Niedermayer
cae0f2bc55
doc/examples/qsv_transcode: Initialize pointer before free
...
Fixees: CID1517023 Uninitialized pointer read
Sponsored-by: Sovereign Tech Fund
Reviewed-by: "Xiang, Haihao" <haihao.xiang@intel.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2024-04-25 03:24:59 +02:00