James Almer [Fri, 18 Jul 2025 19:00:54 +0000 (16:00 -0300)]
tests/fate/mov: add a test for HEIF files with multiple thumbnails
As well as entries in iloc and iinf being not being stored in the same order.
Signed-off-by: James Almer <[email protected]>
James Almer [Fri, 18 Jul 2025 18:17:02 +0000 (15:17 -0300)]
avfilter/x86/vf_blackdetect: add missing preprocessor check
Signed-off-by: James Almer <[email protected]>
James Almer [Fri, 18 Jul 2025 00:47:49 +0000 (21:47 -0300)]
avformat/mov: don't assume iloc and iinf entries for each item_id will be in the same order
Nothing forbids them to be in any order the muxer desires.
Fixes demuxing heif samples generated by S1II.
Tested-by: Lynne <[email protected]>
Signed-off-by: James Almer <[email protected]>
James Almer [Tue, 15 Jul 2025 22:00:21 +0000 (19:00 -0300)]
fate/lavf-container: add test for APV in MP4
Signed-off-by: James Almer <[email protected]>
Dawid Kozinski [Mon, 14 Jul 2025 09:18:57 +0000 (11:18 +0200)]
avformat/mov_muxer: Extended MOV muxer to handle APV video content
- Changes in mov_write_video_tag function to handle APV elementary stream
- Provided structure APVDecoderConfigurationRecord that specifies the decoder configuration information for APV video content
Co-Authored-by: James Almer <[email protected]>
Signed-off-by: Dawid Kozinski <[email protected]>
Signed-off-by: James Almer <[email protected]>
James Almer [Sun, 13 Jul 2025 23:01:26 +0000 (20:01 -0300)]
avcodec/motion_est: don't add offsets to NULL pointers
Fixes: libavcodec/motion_est.c:94:31: runtime error: applying zero offset to null pointer
Signed-off-by: James Almer <[email protected]>
James Almer [Sun, 13 Jul 2025 22:50:57 +0000 (19:50 -0300)]
swscale/swscale_unscaled: don't add offsets to NULL pointers
Fixes: libswscale/swscale_unscaled.c:916:20: runtime error: applying zero offset to null pointer
Signed-off-by: James Almer <[email protected]>
James Almer [Fri, 18 Jul 2025 16:01:29 +0000 (13:01 -0300)]
avfilter/x86/vf_blackdetect_init: don't enable the ASM functions on targets where it's known they will be slower
Signed-off-by: James Almer <[email protected]>
James Almer [Fri, 18 Jul 2025 16:00:22 +0000 (13:00 -0300)]
avfilter/x86/vf_blackdetect: don't use rax to return a 32bit integer
Fixes compilation on x86_32.
Signed-off-by: James Almer <[email protected]>
Zhao Zhili [Fri, 18 Jul 2025 11:32:42 +0000 (19:32 +0800)]
avfilter/vf_blackdetect: Fix header guard
Fix fate-source failure.
Niklas Haas [Thu, 17 Jul 2025 10:39:26 +0000 (12:39 +0200)]
tests/checkasm: add test for vf_blackdetect
Niklas Haas [Thu, 10 Jul 2025 13:30:36 +0000 (15:30 +0200)]
avfilter/vf_blackdetect: add AVX2 SIMD version
Requested by a user. Even with autovectorization enabled, the compiler
performs a quite poor job of optimizing this function, due to not being
able to take advantage of the pmaxub + pcmpeqb trick for counting the number
of pixels less than or equal-to a threshold.
blackdetect8_c: 4625.0 ( 1.00x)
blackdetect8_avx2: 155.1 (29.83x)
blackdetect16_c: 2529.4 ( 1.00x)
blackdetect16_avx2: 163.6 (15.46x)
Zhao Zhili [Sun, 6 Jul 2025 11:57:08 +0000 (19:57 +0800)]
avcodec/ohenc: Add h264/hevc OpenHarmony encoders
Zhao Zhili [Sun, 6 Jul 2025 08:05:53 +0000 (16:05 +0800)]
avcodec/ohdec: Add h264/hevc OpenHarmony decoders
Zhao Zhili [Sun, 6 Jul 2025 08:05:38 +0000 (16:05 +0800)]
avutil/hwcontext: Add ohcodec device and pixel format
Signed-off-by: Zhao Zhili <[email protected]>
wangbin [Mon, 23 Jun 2025 03:48:38 +0000 (11:48 +0800)]
avdevice/android_camera: Set image linesize aligment to 1
Can't read alignment from packet, codecpar or decoded frame linesizes, so don't
set it. My test device redmi k60 produces images in 4624x3472, not 32 aligned
Signed-off-by: Zhao Zhili <[email protected]>
Eric Joyner [Thu, 17 Jul 2025 02:30:02 +0000 (19:30 -0700)]
avformat/mov: Enable jpeg streams in HEIF MOVContext
Nikon HEIFs from a camera or NX studio include a small jpeg thumbnail in addition to
the expected HEVC thumbnails; allowing jpegs allows all thumbnails to
have an associated stream for Nikon HEIF files.
With this, Nikon HEIFs can finally be decoded without failing and the
thumbnails can be extracted into their own files.
Signed-off-by: Eric Joyner <[email protected]>
Reviewed-by: Lynne <[email protected]>
Signed-off-by: James Almer <[email protected]>
Eric Joyner [Thu, 17 Jul 2025 02:30:01 +0000 (19:30 -0700)]
avformat/mov: Support multiple thumbnails in HEIF
Prevents ffmpeg/ffprobe from erroring out when reading an HEIF that
contains multiple hvcC thumbnails (e.g. from a Nikon Z6III camera).
Before, move_read_iref_thmb() would always override the stored
thmb_item_id in the MOVContext with each new read thumbnail, causing a
stream and item_id mismatch later in mov_parse_heif_items(), resulting
in the "HEIF thumbnail doesn't reference a stream" error message.
To solve this,
- Turn thmb_item_id into an array of IDs because multiple thumbnails can
exist
- Change check in mov_parse_heif_items() to compare against all stored
thumbnail IDs to see if any item missing a stream is in the list of
thumbnail IDs.
Signed-off-by: Eric Joyner <[email protected]>
Reviewed-by: Lynne <[email protected]>
Signed-off-by: James Almer <[email protected]>
Jack Lau [Thu, 17 Jul 2025 12:10:22 +0000 (20:10 +0800)]
avformat/whip: force NONBLOCK for rtp
We need to ensure rtp sets NONBLOCK since the dtls
handshake has potentially overriden the sockets mode.
Signed-off-by: Jack Lau <[email protected]>
Signed-off-by: Timo Rothenpieler <[email protected]>
Timo Rothenpieler [Thu, 17 Jul 2025 12:06:07 +0000 (14:06 +0200)]
avformat/tls_openssl: avoid unusual inline-if style
Jack Lau [Sat, 12 Jul 2025 09:03:02 +0000 (17:03 +0800)]
avformat/tls_openssl: make tls and dtls use one close function
Signed-off-by: Jack Lau <[email protected]>
Signed-off-by: Timo Rothenpieler <[email protected]>
Niklas Haas [Sat, 12 Jul 2025 11:30:07 +0000 (13:30 +0200)]
avfilter/vf_thumbnail: unroll and use multiple histograms
This naive hist[p[x]]++ loop suffers badly when there are large regions of
identical values in the image, because of store-to-load forwarding delay.
Splitting up the histogram into four "parallel" histograms and processing
them one at a time speeds things up significantly, about 40% on my end.
Niklas Haas [Fri, 11 Jul 2025 18:48:28 +0000 (20:48 +0200)]
avfilter/x86/scene_sad: add high bit depth AVX2/AVX512 version
Since psadbw only exists for 8-bits, we have to emulate it for 16-bit
inputs. The simplest sequence is to use a normal subtraction, which is safe
as long as the inputs do not exceed 32767 - so limit this implementation
to 15-bit inputs and below.
For 16-bit inputs, we could in theory instead use a pminw / pmaxw to ensure
the resulting difference does not overflow, but this is slower, and also
breaks the subsequent use of pmaddwd, so I opted to skip 16-bit SIMD for
now.
scene_sad10_c: 114175.6 ( 1.00x)
scene_sad10_avx2: 9617.7 (11.87x)
scene_sad10_avx512: 5208.8 (21.92x)
scene_sad12_c: 114537.8 ( 1.00x)
scene_sad12_avx2: 9614.0 (11.91x)
scene_sad12_avx512: 5186.3 (22.08x)
scene_sad14_c: 114113.9 ( 1.00x)
scene_sad14_avx2: 9612.9 (11.87x)
scene_sad14_avx512: 5186.0 (22.00x)
scene_sad15_c: 114108.9 ( 1.00x)
scene_sad15_avx2: 9612.3 (11.87x)
scene_sad15_avx512: 5186.4 (22.00x)
scene_sad16_c: 114136.0 ( 1.00x)
Niklas Haas [Fri, 11 Jul 2025 11:52:37 +0000 (13:52 +0200)]
avfilter/x86/scene_sad: add AVX512 implementation
Trivial to add, but a lot faster (on my machine).
scene_sad8_c: 114476.4 ( 1.00x)
scene_sad8_sse2: 8644.3 (13.24x)
scene_sad8_avx2: 4520.1 (25.33x)
scene_sad8_avx512: 3153.0 (36.31x)
Niklas Haas [Fri, 11 Jul 2025 13:56:09 +0000 (15:56 +0200)]
tests/checkasm: add scene_sad checkasm test
Niklas Haas [Sat, 12 Jul 2025 09:15:56 +0000 (11:15 +0200)]
avfilter/scene_sad: pass true depth to ff_scene_sad_get_fn()
I need to be able to distinguish between 10/12/14 and 16 bit depths, for
overflow reasons.
Jack Lau [Mon, 7 Jul 2025 07:26:35 +0000 (15:26 +0800)]
avformat/tls_openssl: remove all redundant "TLS: " in log with AVClass
Signed-off-by: Jack Lau <[email protected]>
Signed-off-by: Timo Rothenpieler <[email protected]>
Jack Lau [Sat, 12 Jul 2025 13:39:54 +0000 (21:39 +0800)]
avformat/tls_openssl: replace 1 with TLS_ST_OK to be more clear
Signed-off-by: Jack Lau <[email protected]>
Signed-off-by: Timo Rothenpieler <[email protected]>
Jack Lau [Sat, 12 Jul 2025 09:05:13 +0000 (17:05 +0800)]
avformat/whip: free udp socket after dtls free
the SSL_shutdown in tls_close need call the url_bio_bwrite
so we should keep udp still alive
Signed-off-by: Jack Lau <[email protected]>
Signed-off-by: Timo Rothenpieler <[email protected]>
Timo Rothenpieler [Thu, 17 Jul 2025 00:11:00 +0000 (02:11 +0200)]
avformat/tls_openssl: unset nonblock flag on correct URLContext during dtls handshake
The internal BIO functions do not in fact look at this flag, only the outer
tls_read and tls_write functions do.
Jack Lau [Wed, 16 Jul 2025 23:38:54 +0000 (07:38 +0800)]
avformat/tls_openssl: set tlsext host name after init ssl
Signed-off-by: Jack Lau <[email protected]>
Signed-off-by: Timo Rothenpieler <[email protected]>
Kacper Michajłow [Thu, 19 Jun 2025 23:52:05 +0000 (01:52 +0200)]
configure: add -Wl when linker is called indirectly
It's possible to call linker indirectly through driver like Clang. In
which cases linker args has to be prefixed with -Wl.
Signed-off-by: Kacper Michajłow <[email protected]>
Kacper Michajłow [Thu, 3 Jul 2025 20:59:02 +0000 (22:59 +0200)]
checkasm/swscale: fix function prototypes
This aligns declared function types in checkasm with real definition.
Fixes FATE: checkasm-{sw_rgb,sw_scale,sw_yuv2rgb,sw_yuv2yuv}
Fixes: runtime error: call to function <func> through pointer to incorrect function type
Fixes: c1a0e657638f7007dcc807a2d985c22631fcd6d3
Signed-off-by: Kacper Michajłow <[email protected]>
Timo Rothenpieler [Mon, 14 Jul 2025 19:54:35 +0000 (21:54 +0200)]
avformat/flvdec: don't skip backwards or over EOF
Skipping backwards (and even forwards) resets the EOF flag, and can thus
lead to infinite looping if the conditions are just right.
Fixes: Infinite loop
Fixes: 427538726/clusterfuzz-testcase-minimized-ffmpeg_dem_FLV_fuzzer-6582567304495104
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Timo Rothenpieler <[email protected]>
Timo Rothenpieler [Sun, 13 Jul 2025 19:08:16 +0000 (21:08 +0200)]
avformat/tls_openssl: automatically generate self-signed certificate when none is provided in listen mode
Timo Rothenpieler [Sun, 13 Jul 2025 19:08:05 +0000 (21:08 +0200)]
avformat/tls_openssl: make generating fingerprints optional
Timo Rothenpieler [Sun, 13 Jul 2025 19:05:44 +0000 (21:05 +0200)]
avformat/tls_openssl: don't expose deprecated EC_KEY outside of its function
Timo Rothenpieler [Sun, 13 Jul 2025 18:49:03 +0000 (20:49 +0200)]
avformat/tls_openssl: properly free generated/read keys and certificates
Timo Rothenpieler [Sun, 13 Jul 2025 14:35:55 +0000 (16:35 +0200)]
avformat/tls_openssl: don't enable read_ahead in dtls mode
OpenSSL docs say:
These functions have no impact when used with DTLS.
Timo Rothenpieler [Sun, 13 Jul 2025 14:35:47 +0000 (16:35 +0200)]
avformar/tls_openssl: use correct info callback in DTLS mode
Timo Rothenpieler [Sun, 13 Jul 2025 14:35:20 +0000 (16:35 +0200)]
avformat/tls_openssl: clean up peer verify logic in dtls mode
Timo Rothenpieler [Sun, 13 Jul 2025 14:34:44 +0000 (16:34 +0200)]
avformat/tls_openssl: don't hardcode ciphers and curves for dtls
Timo Rothenpieler [Sun, 13 Jul 2025 14:08:33 +0000 (16:08 +0200)]
avformat/tls_openssl: properly limit written size to data mtu
Timo Rothenpieler [Sat, 12 Jul 2025 20:11:17 +0000 (22:11 +0200)]
avformat/tls_openssl: set default MTU if none is set
Timo Rothenpieler [Sat, 12 Jul 2025 20:08:24 +0000 (22:08 +0200)]
avformat/tls_openssl: initialize DTLS context with correct method
Timo Rothenpieler [Sat, 12 Jul 2025 20:07:39 +0000 (22:07 +0200)]
avformat/tls_openssl: don't abort if dtls has no key/cert set
Timo Rothenpieler [Sat, 12 Jul 2025 20:06:33 +0000 (22:06 +0200)]
avformat/tls_openssl: force dtls handshake to be blocking
There is no sensible way to handle this otherwise anyway, one just has
to loop over this function until it succeeds.
Timo Rothenpieler [Sat, 12 Jul 2025 19:42:59 +0000 (21:42 +0200)]
avformat/tls_openssl: set dtls remote addr in listen mode
Taken from the first received packet, which will signify the now
permanent peer of this DTLS "connection".
James Almer [Sun, 13 Jul 2025 22:56:13 +0000 (19:56 -0300)]
avcodec/ffv1dec: don't add offsets to NULL pointers
Fixes: libavcodec/ffv1dec.c:452:43: runtime error: applying zero offset to null pointer
Signed-off-by: James Almer <[email protected]>
James Almer [Sun, 13 Jul 2025 19:56:20 +0000 (16:56 -0300)]
avformat/tls_schannel: add check for Windows 10 only types and defines
Old Mingw-w64 releases provided by some distros seemingly don't have them, so
check for them and disable the dtls protocol if unavailable.
Signed-off-by: James Almer <[email protected]>
Niklas Haas [Tue, 15 Jul 2025 10:46:11 +0000 (12:46 +0200)]
avutil/hwcontext_vulkan: don't over-map buffers with prior padding
If the image data is not at the start of the buffer allocation, such as
when the buffer has padding before the image data, this function maps too
much memory, since src_data + src_buf->size exceeds the buffer size.
Fix this by subtracting the difference between the buffer start and the
provided image data pointer from the size of the memory range to map.
An easy way to reproduce this issue is using the vf_pad filter, which
allocates image data buffers with a nonzero offset whenever padding is
requested before the start of the image data.
Lynne [Sat, 8 Feb 2025 03:35:31 +0000 (04:35 +0100)]
aacenc_tns: clamp filter direction energy measurement
The issue is that:
float en[2];
...
tns->n_filt[w] = is8 ? 1 : order != TNS_MAX_ORDER ? 2 : 3;
for (g = 0; g < tns->n_filt[w]; g++) {
tns->direction[w][g] = slant != 2 ? slant : en[g] < en[!g];
When using the AAC Main profile, n_filt = 3, and slant is by
default 2 (normal long frames), g can go above 1.
en is the evolution of energy in the frequency domain for every
band at the given window. E.g. whether the energy is concentrated
at the top of each band, or the bottom.
For 2-pole filters, its straightforward.
For 3-pole filters, we need more than 2 measurements.
This commit properly implements support for 3-pole filters, by measuring
the band energy across three areas.
Do note that even xHE-AAC caps n_filt to 2, and only AAC Main allows
n_filt == 3.
Fixes https://trac.ffmpeg.org/ticket/11418
Kacper Michajłow [Fri, 11 Jul 2025 17:06:02 +0000 (19:06 +0200)]
MAINTAINERS: add myself
Signed-off-by: Kacper Michajłow <[email protected]>
Signed-off-by: Michael Niedermayer <[email protected]>
Marton Balint [Sun, 6 Jul 2025 18:08:36 +0000 (20:08 +0200)]
tests/fate: add fate test for excessive frame buffering when using filters
Based on the command line of ticket #10959.
Signed-off-by: Marton Balint <[email protected]>
Marton Balint [Sun, 6 Jul 2025 09:28:13 +0000 (11:28 +0200)]
fftools/ffmpeg: add support for setting maximum buffered frames in a filtergraph
Signed-off-by: Marton Balint <[email protected]>
Marton Balint [Sun, 6 Jul 2025 08:14:34 +0000 (10:14 +0200)]
avfilter/avfilter: add AVFilterGraph->max_buffered_frames to limit buffered frames
Signed-off-by: Marton Balint <[email protected]>
Marton Balint [Sun, 6 Jul 2025 08:03:46 +0000 (10:03 +0200)]
avfilter/framequeue: add support for limiting and tracking buffered frames in the queues
Signed-off-by: Marton Balint <[email protected]>
Jiasheng Jiang [Thu, 10 Jul 2025 16:26:39 +0000 (16:26 +0000)]
libavcodec/alsdec.c: Add check for av_malloc_array() and av_calloc()
Add check for the return value of av_malloc_array() and av_calloc()
to avoid potential NULL pointer dereference.
Fixes: dcfd24b10c ("avcodec/alsdec: Implement floating point sample data decoding")
Signed-off-by: Jiasheng Jiang <[email protected]>
Signed-off-by: Michael Niedermayer <[email protected]>
Niklas Haas [Fri, 20 Jun 2025 14:04:39 +0000 (16:04 +0200)]
avfilter/vf_thumbnail: switch to query_func2
Instead of enumerating a static list of planar formats to support, walk
through the format list and enable all supported formats.
As of writing, this generates the following format list:
- gbrap
- gbrap10le
- gbrap12le
- gbrap14le
- gbrap16le
- gbrp
- gbrp10le
- gbrp12le
- gbrp14le
- gbrp16le
- gbrp9le
- gray
- gray10le
- gray12le
- gray14le
- gray16le
- gray9le
- ya16le
- ya8
- yuv410p
- yuv411p
- yuv420p
- yuv420p10le
- yuv420p12le
- yuv420p14le
- yuv420p16le
- yuv420p9le
- yuv422p
- yuv422p10le
- yuv422p12le
- yuv422p14le
- yuv422p16le
- yuv422p9le
- yuv440p
- yuv440p10le
- yuv440p12le
- yuv444p
- yuv444p10le
- yuv444p12le
- yuv444p14le
- yuv444p16le
- yuv444p9le
- yuva420p
- yuva420p10le
- yuva420p16le
- yuva420p9le
- yuva422p
- yuva422p10le
- yuva422p12le
- yuva422p16le
- yuva422p9le
- yuva444p
- yuva444p10le
- yuva444p12le
- yuva444p16le
- yuva444p9le
- yuvj411p
- yuvj420p
- yuvj422p
- yuvj440p
- yuvj444p
Niklas Haas [Thu, 12 Jun 2025 14:43:24 +0000 (16:43 +0200)]
avfilter/vf_thumbnail: support more planar formats
This adds support for high bit depth formats, as well as formats with fewer
than 3 planes. The implementation for HBD is the same as for 8 bit formats,
just right shifted to 8 bits.
It's worth pointing out that this also works for HDR formats (and even DV),
because the underlying implementation is just trying to minimize the histogram
difference. If anything, using a HDR format will result in a *more* accurate
detection, because HDR formats tend to be more perceptually uniform.
Timo Rothenpieler [Fri, 4 Jul 2025 16:51:59 +0000 (18:51 +0200)]
avcodec/nvdec: switch to proper pixfmts on next major bump
Timo Rothenpieler [Fri, 4 Jul 2025 16:52:25 +0000 (18:52 +0200)]
avcodec/nvenc: add support for new 10 bit MSB pixel formats
Timo Rothenpieler [Fri, 4 Jul 2025 22:17:20 +0000 (00:17 +0200)]
swscale: add support for new 10/12 bit MSB formats
Timo Rothenpieler [Fri, 4 Jul 2025 22:17:19 +0000 (00:17 +0200)]
avutils/pixfmt: add YUV444/GBRP 10 and 12 bit MSB formats
Jorge Estrada [Mon, 7 Jul 2025 22:53:04 +0000 (15:53 -0700)]
avfilter/overlay_cuda: add timeline editing support
Enables timeline editing options for overlay_cuda similar to what overlay allows
Example overlaying an image on a video between 30 to 60 seconds:
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i sample-video.mp4 -i sample-image.jpg
-filter_complex "[1:v]hwupload_cuda[image],[0:v]scale_npp=format=yuv420p[video],[video][image]overlay_cuda=enable='between(t,30,60)'"
-c:v h264_nvenc -c:a copy -y overlay-output-gpu.mp4
Signed-off-by: Jorge Estrada <[email protected]>
Signed-off-by: Timo Rothenpieler <[email protected]>
Timo Rothenpieler [Sun, 6 Jul 2025 18:13:59 +0000 (20:13 +0200)]
avformat/tls_schannel: fix non-blocking write breaking TLS sessions
Timo Rothenpieler [Thu, 3 Jul 2025 19:57:53 +0000 (21:57 +0200)]
avformat/tls_schannel: add option to load server certificate from store
Timo Rothenpieler [Tue, 24 Jun 2025 17:30:19 +0000 (19:30 +0200)]
avformat/tls_schannel: add DTLS support
Timo Rothenpieler [Tue, 1 Jul 2025 16:07:24 +0000 (18:07 +0200)]
avformat/tls: make passing an external socket universal
Timo Rothenpieler [Sat, 28 Jun 2025 18:58:20 +0000 (20:58 +0200)]
avformat/udp: add function to set remote address directly
Timo Rothenpieler [Sat, 28 Jun 2025 18:14:51 +0000 (20:14 +0200)]
avformat/udp: separate rx and tx fifo
Timo Rothenpieler [Sat, 28 Jun 2025 18:08:14 +0000 (20:08 +0200)]
avformat/udp: make recv addr of each packet available
Timo Rothenpieler [Wed, 25 Jun 2025 23:42:36 +0000 (01:42 +0200)]
avformat/tls: move whip specific init out of generic tls code
Marvin Scholz [Tue, 8 Jul 2025 15:09:01 +0000 (17:09 +0200)]
avformat/rtsp: check copy_tls_opts_dict
Properly check av_dict_set return values and propagate them to
the caller so they can be handled.
Marvin Scholz [Tue, 8 Jul 2025 14:19:34 +0000 (16:19 +0200)]
avformat/rtsp: use av_unreachable
Marvin Scholz [Tue, 8 Jul 2025 14:11:53 +0000 (16:11 +0200)]
avformat/rtsp: fix misleading indentation
Andreas Rheinhardt [Thu, 3 Jul 2025 20:32:15 +0000 (22:32 +0200)]
avcodec/mpegvideo_dec: Avoid implicit NULL + offset
Happens since
4fc874ef0813d39983f9b634cec42798aa94b57a
when this code is called via error resilience.
Also do the same for wmv2dec.c.
Fixes the vsynth_{1,2,3,_lena}-mpeg4-error and wmv2-drm-dec FATE-tests.
Signed-off-by: Andreas Rheinhardt <[email protected]>
Andreas Rheinhardt [Fri, 4 Jul 2025 06:58:06 +0000 (08:58 +0200)]
avcodec/opus/dec: Simplify resetting AVAudioFifo
Signed-off-by: Andreas Rheinhardt <[email protected]>
Andreas Rheinhardt [Fri, 4 Jul 2025 06:48:26 +0000 (08:48 +0200)]
avcodec/opus/dec: Don't call function multiple times in FFMAX
Signed-off-by: Andreas Rheinhardt <[email protected]>
Andreas Rheinhardt [Thu, 3 Jul 2025 21:17:09 +0000 (23:17 +0200)]
avcodec/opus/dec: Remove unused parameters
The parameters here are not only unused, but buf_size's value
is actually wrong when flushing (it comes from the subpacket
of the last packet sent and is therefore outdated).
Signed-off-by: Andreas Rheinhardt <[email protected]>
Andreas Rheinhardt [Fri, 4 Jul 2025 12:31:13 +0000 (14:31 +0200)]
avcodec/get_bits: Remove GetBitContext.buffer_end
It is unused. Furthermore, this automatically fixes the issue
that init_get_bits() failure would lead to NULL + 0 (when
setting buffer_end) which is UB before C23. This happened
in the fic-avi and fic-avi-skip_cursor FATE-tests.
This saved 7296B of .text here.
Signed-off-by: Andreas Rheinhardt <[email protected]>
Andreas Rheinhardt [Fri, 4 Jul 2025 12:22:31 +0000 (14:22 +0200)]
avcodec/get_bits: Add get_bits_bytesize()
And use it to avoid accesses to GetBitContext.buffer_end.
Signed-off-by: Andreas Rheinhardt <[email protected]>
Andreas Rheinhardt [Fri, 4 Jul 2025 12:06:50 +0000 (14:06 +0200)]
avcodec/vvc/dec: Don't use GetBit-API when byte-aligned
Signed-off-by: Andreas Rheinhardt <[email protected]>
Andreas Rheinhardt [Fri, 4 Jul 2025 12:05:06 +0000 (14:05 +0200)]
avcodec/bytestream: Add const where appropriate
Signed-off-by: Andreas Rheinhardt <[email protected]>
Kacper Michajłow [Mon, 7 Jul 2025 19:25:30 +0000 (21:25 +0200)]
avformat/scd: ensure SCD_MIN_HEADER_SIZE bytes are read
Instead of accessing unintialized data when input is shorter than
expected size.
Fixes use of uninitialized value in MSAN build.
Found by OSS-Fuzz.
Signed-off-by: Kacper Michajłow <[email protected]>
Signed-off-by: Michael Niedermayer <[email protected]>
James Almer [Tue, 8 Jul 2025 18:00:29 +0000 (15:00 -0300)]
fftools/ffmpeg_demux: don't flag timestamps as unreliable if they are generated
Regardless of the source being an AVFMT_NOTIMESTAMPS format, if the timestamps
are generated like when using the use_wallclock_as_timestamps demuxer option,
then they are reliable.
Fixes ticket #11268
Signed-off-by: James Almer <[email protected]>
Marvin Scholz [Tue, 8 Jul 2025 18:15:13 +0000 (20:15 +0200)]
avformat/rtsp: fix leak of options dict on error
Fix CID
1655306
Reviewed-by: Kieran Kunhya <[email protected]>
Peter Ross [Tue, 8 Jul 2025 08:49:08 +0000 (18:49 +1000)]
avcodec/adpcm: squelch uninitialized variable warnings
Fixes CID1655273 and CID1655274.
Signed-off-by: Marvin Scholz <[email protected]>
Desmond Liu [Tue, 8 Jul 2025 01:15:00 +0000 (01:15 +0000)]
doc/scaler.texi: add missing gamma option
Add missing 'gamma correct scaling' option to documentation.
Signed-off-by: Desmond Liu <[email protected]>
Marvin Scholz [Mon, 7 Jul 2025 21:41:01 +0000 (23:41 +0200)]
avformat/tls: rename accidentally changed options
These were accidentally renamed back to the old names in
ba9817df9df5911ceb2edff37d9ec970c29329e2
Reviewed-by: Timo Rothenpieler <[email protected]>
Marvin Scholz [Mon, 7 Jul 2025 13:57:17 +0000 (15:57 +0200)]
Changelog: mention dropping OpenSSL < 1.1.0
Dawid Kozinski [Tue, 6 May 2025 09:28:29 +0000 (11:28 +0200)]
avformat/mov: add support for APV streams
Signed-off-by: Dawid Kozinski <[email protected]>
Signed-off-by: James Almer <[email protected]>
Marvin Scholz [Mon, 7 Jul 2025 15:19:44 +0000 (17:19 +0200)]
APIchanges: Add entry for AV_PKT_DATA_RTCP_SR
Marvin Scholz [Mon, 7 Jul 2025 15:18:48 +0000 (17:18 +0200)]
avcodec: bump minor after adding AV_PKT_DATA_RTCP_SR
Marvin Scholz [Fri, 25 Apr 2025 16:19:04 +0000 (18:19 +0200)]
avformat: rtsp: export AV_PKT_DATA_RTCP_SR
Marvin Scholz [Fri, 25 Apr 2025 16:19:04 +0000 (18:19 +0200)]
avcodec: add AV_PKT_DATA_RTCP_SR side data type
Marvin Scholz [Fri, 25 Apr 2025 16:18:21 +0000 (18:18 +0200)]
lavf: add and use AVRTCPSenderReport struct
This will be used in a future commit to expose the SR as side-data.
Marvin Scholz [Thu, 24 Apr 2025 18:36:52 +0000 (20:36 +0200)]
lavf/rtpdec: fix RTCP SR packet length check
The minimum valid packet length is 28, given that the length includes
the packet header.
This didn't cause any issues so far as the code did not care about the
last two fields in the SR section, but will be relevant in a future
commit.
Marvin Scholz [Wed, 25 Jun 2025 19:55:41 +0000 (21:55 +0200)]
avformat/tls_openssl: use SSL_CTX_set_min_proto_version
Using SSL_CTX_set_options to disallow specific versions is
discouraged by the documentation, which recommends to use
SSL_CTX_set_min_proto_version instead.
Marvin Scholz [Wed, 25 Jun 2025 19:46:34 +0000 (21:46 +0200)]
avformat/tls_openssl: use TLS_[client|server]_method
SSLv23_*_method was just a define for these anyway since OpenSSL 1.1.0
and the old functions are deprecated.