Commit Graph

59640 Commits

Author SHA1 Message Date
openvela-robot 4cc6af2a0e random_seed: Rewrite the generic clock() based seed code
The new code is faster and reuses the previous state in case of
multiple calls.

The previous code could easily end up in near-infinite loops,
if the difference between two clock() calls never was larger than
1.

This makes fate-parseutils finish in finite time when run in wine,
if CryptGenRandom isn't available (which e.g. isn't available if
targeting Windows RT/metro).

Patch originally by Michael Niedermayer but with some modifications
by Martin Storsjö.

Signed-off-by: Martin Storsjö <martin@martin.st>
2026-04-20 15:13:56 +08:00
openvela-robot 1996f086e2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Update freetype check to follow upstream

Conflicts:
	configure

Not merged, as its broken (Reported by ubitux)

See: cea5812fa7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:54 +08:00
openvela-robot 4293af927b Merge commit 'd68dc3c9446e38b4d686cc0f55433c9e8d7c128b'
* commit 'd68dc3c9446e38b4d686cc0f55433c9e8d7c128b':
  drawtext: Drop pointless header

See: cea5812fa7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:53 +08:00
openvela-robot 071064ee67 Merge commit '6892d145a0c80249bd61ee7dd31ec851c5076bcd'
* commit '6892d145a0c80249bd61ee7dd31ec851c5076bcd':
  segafilm: fix leaks if reading the header fails

Conflicts:
	libavformat/segafilm.c

See: ca5456db7f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:52 +08:00
openvela-robot f15005ee32 Merge commit '9cbf2d78f0a9c19129e7a70b2281a450d386c6d9'
* commit '9cbf2d78f0a9c19129e7a70b2281a450d386c6d9':
  pthread_frame: unref decoded frames on failure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:51 +08:00
openvela-robot 3649f83881 Merge commit 'a03a642d5ceb5f2f7c6ebbf56ff365dfbcdb65eb'
* commit 'a03a642d5ceb5f2f7c6ebbf56ff365dfbcdb65eb':
  h264: do not use 422 functions for monochrome

See: 07abf13da4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:50 +08:00
openvela-robot 62c7dbe19e Merge commit '9eef9eb3014b2ed9c3ff4aac510a9f04edb555cf'
* commit '9eef9eb3014b2ed9c3ff4aac510a9f04edb555cf':
  h264: check that execute_decode_slices() is not called too many times

Conflicts:
	libavcodec/h264.c

The check is replaced by an assert() as the mb index should not ever go out
of bounds.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:49 +08:00
openvela-robot 66a64248e2 Merge commit 'bfd26b7ce6efea594f2b99441d900419df3af638'
* commit 'bfd26b7ce6efea594f2b99441d900419df3af638':
  h264: reject mismatching luma/chroma bit depths during sps parsing

Conflicts:
	libavcodec/h264_ps.c

See: bdeb61ccc6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:48 +08:00
Michael Niedermayer 8a5fb74623 avcodec/h264: reset list_count too in case of error in ff_set_ref_count()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:47 +08:00
openvela-robot da11b17ab2 Merge commit '9a026c72982faf20e1c8dfbe48f0b312cdea69c8'
* commit '9a026c72982faf20e1c8dfbe48f0b312cdea69c8':
  h264: rebuild the default ref list if the reference count changes

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:47 +08:00
openvela-robot af69a3718a Merge commit '4736d003fac30af4afd8390182f12f480ad78801'
* commit '4736d003fac30af4afd8390182f12f480ad78801':
  cavsdec: check ff_get_buffer() return value

Conflicts:
	libavcodec/cavsdec.c

See: eee8c94f50
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:46 +08:00
openvela-robot 102e9f1ce9 Merge commit '50079a6aa93291e6dc9d9fb8d33da83f79e9311d'
* commit '50079a6aa93291e6dc9d9fb8d33da83f79e9311d':
  lavc: do not leak the internal frame if opening the codec fails

Conflicts:
	libavcodec/utils.c

See: 8b285f03f7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:45 +08:00
openvela-robot d4187b569a Merge commit '3867f3718ba82ff11d3e24c6d84beb520d0b174f'
* commit '3867f3718ba82ff11d3e24c6d84beb520d0b174f':
  lavf: remove a pointless check

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:44 +08:00
openvela-robot eb74e96835 Merge commit '75647dea6f7db79b409bad66a119f5c73da730f3'
* commit '75647dea6f7db79b409bad66a119f5c73da730f3':
  oggparseogm: check timing variables

See: 9ed388f598
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:43 +08:00
openvela-robot e8580eeebc Merge commit '8058284ce09030b47512746d726fb2ad3ae8a20f'
* commit '8058284ce09030b47512746d726fb2ad3ae8a20f':
  lavc: add 422/444 YUV with alpha to align_dimensions()

Conflicts:
	libavcodec/utils.c

Only cosmetical changes happen as these formats already where in the list before

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:42 +08:00
openvela-robot cabc1d8ebb Merge commit '2f97094608cfd2665660f7a26a3291559b186752'
* commit '2f97094608cfd2665660f7a26a3291559b186752':
  lagarith: do not call simd functions on unaligned lines

Conflicts:
	libavcodec/lagarith.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:41 +08:00
openvela-robot 9e83577bdc Merge commit 'f4a8a0080537484154bb74e08ec76cbcbd25484b'
* commit 'f4a8a0080537484154bb74e08ec76cbcbd25484b':
  sgidec: fix buffer size check in expand_rle_row()

Conflicts:
	libavcodec/sgidec.c

See: 39c56ef921
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:40 +08:00
openvela-robot bb1a86d845 Merge commit 'adb199d1bc7f86aa6b85986f40190ec17f99d34f'
* commit 'adb199d1bc7f86aa6b85986f40190ec17f99d34f':
  kgv1dec: replace forcing EMU_EDGE by a copy

Conflicts:
	libavcodec/kgv1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:39 +08:00
openvela-robot 99df9a2c19 Merge commit 'fe80fa53bc4977ef6e8e749a9df8ca5590a09307'
* commit 'fe80fa53bc4977ef6e8e749a9df8ca5590a09307':
  4xm: replace forcing EMU_EDGE by a copy

Conflicts:
	libavcodec/4xm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:38 +08:00
openvela-robot 496a892dab Merge commit 'fffca3d278c2a2422c2f61f21c5a9d5f690d328e'
* commit 'fffca3d278c2a2422c2f61f21c5a9d5f690d328e':
  4xm: return a proper error code.

Conflicts:
	libavcodec/4xm.c

See: a5e382ad7f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:36 +08:00
openvela-robot 01e4b3811e Merge commit '060667195e6e6bc0fa63ce13c47e23aabe70d122'
* commit '060667195e6e6bc0fa63ce13c47e23aabe70d122':
  hevc: rename some HEVC conformance streams

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:29 +08:00
openvela-robot 1937b4b65b Merge commit '98c0cd0b99254cd12f312bf6a4c24cd3ec5886b5'
* commit '98c0cd0b99254cd12f312bf6a4c24cd3ec5886b5':
  hevc: add new conformance streams

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:21 +08:00
Luca Barbato f68c415cc4 configure: Update freetype check to follow upstream
The freetype tutorial suggests to use #include FT_FREETYPE_H.

Bug-Id: 616
2026-04-20 15:13:19 +08:00
Luca Barbato c10c2470b5 drawtext: Drop pointless header
It should be forward compatible with newer freetype.
2026-04-20 15:13:19 +08:00
Anton Khirnov 4529d9e41e segafilm: fix leaks if reading the header fails
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2026-04-20 15:13:19 +08:00
Anton Khirnov 831f099151 pthread_frame: unref decoded frames on failure
This is similar to what the non-threaded code already does.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2026-04-20 15:13:19 +08:00
Anton Khirnov 80ae9956f7 h264: do not use 422 functions for monochrome
Fixes invalid memory access.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2026-04-20 15:13:19 +08:00
Anton Khirnov 089ee0d28c h264: check that execute_decode_slices() is not called too many times
Fixes invalid reads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2026-04-20 15:13:19 +08:00
Anton Khirnov 37e8dcb938 h264: reject mismatching luma/chroma bit depths during sps parsing
There is no point in delaying the check and it avoids bugs with a
half-initialized context.

Fixes invalid reads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2026-04-20 15:13:19 +08:00
Anton Khirnov 614b37f6e2 h264: rebuild the default ref list if the reference count changes
Fixes possible access to freed memory.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2026-04-20 15:13:19 +08:00
Anton Khirnov e9945e7483 cavsdec: check ff_get_buffer() return value
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2026-04-20 15:13:18 +08:00
Anton Khirnov 2e22cd76d4 lavc: do not leak the internal frame if opening the codec fails 2026-04-20 15:13:18 +08:00
Anton Khirnov 7921e02fd1 lavf: remove a pointless check
AVStream.codec is always non-NULL
2026-04-20 15:13:18 +08:00
Anton Khirnov 09c4da8346 oggparseogm: check timing variables
Fixes a potential divide by zero.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2026-04-20 15:13:18 +08:00
Anton Khirnov bbc863d01b lavc: add 422/444 YUV with alpha to align_dimensions()
Aligns frame dimensions to 16, which fixes potential invalid writes.
2026-04-20 15:13:18 +08:00
Kostya Shishkov 282475fa4c lagarith: do not call simd functions on unaligned lines
They end up overwriting past the line end.

Partially based on a patch by Michael Niedermayer <michaelni@gmx.at>

Bug-Id: vlc/9700
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 15:13:18 +08:00
Anton Khirnov f6580cb1fe sgidec: fix buffer size check in expand_rle_row()
Right now it will spuriously fail if the linesize is exactly equal to
the data width.

CC:libav-stable@libav.org
2026-04-20 15:13:18 +08:00
Anton Khirnov 6a34d7ced3 kgv1dec: replace forcing EMU_EDGE by a copy
The decoder currently sets CODEC_FLAG_EMU_EDGE and relies on
get_buffer2() to always provide buffers with linesize == 2 * width.
This is wrong, since we place no such restriction on get_buffer2()
implementations.

Fix this by decoding into internal buffers and copying them to output
frames. Since this is a very obscure decoder, the performance hit should
not be an issue.
2026-04-20 15:13:18 +08:00
Anton Khirnov b791ba3d44 4xm: replace forcing EMU_EDGE by a copy
The decoder currently sets CODEC_FLAG_EMU_EDGE and relies on
get_buffer2() to always provide buffers with linesize == 2 * width.
This is wrong, since we place no such restriction on get_buffer2()
implementations.

Fix this by decoding into internal buffers and copying them to output
frames. Since this is a very obscure decoder, the performance hit should
not be an issue.
2026-04-20 15:13:18 +08:00
openvela-robot afd74f16ef 4xm: return a proper error code. 2026-04-20 15:13:17 +08:00
Guillaume Martres 1967eb1c2e hevc: rename some HEVC conformance streams
Some HEVC conformance streams zip on
http://wftp3.itu.int/av-arch/jctvc-site/bitstream_exchange/draft_conformance/
were updated without changing the actual stream. Rename them in FATE
accordingly to make it easier to track future stream updates.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 15:13:15 +08:00
Guillaume Martres ceac5f46c1 hevc: add new conformance streams
Also remove superseded conformance streams. The conformance streams all
come from http://wftp3.itu.int/av-arch/jctvc-site/bitstream_exchange/draft_conformance/

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2026-04-20 15:13:15 +08:00
Michael Niedermayer 9abe32b660 avcodec/hevc: Fix modulo operations
Fixes qp fields becoming out of range
Fixes: asan_static-oob_e393a3_6998_WPP_A_ericsson_MAIN10_2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:15 +08:00
Michael Niedermayer 83ea006eba avcodec/hevc_ps: check that VPS referenced from SPS exists
This matches how its done for SPS/PPS.
An alternative to this is to check it when its used.

Fixes null pointer dereference
Fixes: signal_sigsegv_e30a43_1437_CIP_A_Panasonic_3.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:15 +08:00
Michael Niedermayer 7f397a8dc2 avcodec/huffyuvdec: optimize decode_plane_bitstream(), use joint tables for new yuv formats
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:15 +08:00
Michael Niedermayer aa9c89e18f fate: test version 3 of ffvhuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:15 +08:00
Michael Niedermayer a24be34111 avcodec/huffyuv: Support more 8bit YUV formats
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:15 +08:00
openvela-robot e2307257e1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cmdutils: update copyright year to 2014.

Conflicts:
	cmdutils.c

See: 0b1cfc4f28
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:15 +08:00
openvela-robot 2f27d717fc Merge commit '7840c40445c9f52aeccba96de3d27613398bfbf2'
* commit '7840c40445c9f52aeccba96de3d27613398bfbf2':
  (e)ac3dec: set AV_FRAME_DATA_MATRIXENCODING side data.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:14 +08:00
openvela-robot 040f9d502d Merge commit '13345fc1f86fc3615789e196d5a339c1c27c9068'
* commit '13345fc1f86fc3615789e196d5a339c1c27c9068':
  (e)ac3: parse and store the Dolby Surround, Surround EX and Headphone mode flags.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2026-04-20 15:13:13 +08:00