Commit Graph

6350 Commits

Author SHA1 Message Date
James Almer
d0c9c11804 tests/checkasm/diracdsp: fix alignment for src and ombc_weight buffers
They are supposed to be 16 byte aligned, not 8.
Should fix crashes in some systems.

Signed-off-by: James Almer <jamrial@gmail.com>
2024-11-20 08:01:09 +00:00
Rémi Denis-Courmont
f546907894 checkasm: add RISC-V vector width to arch info 2024-11-17 09:57:11 +00:00
Kyosuke Kawakami
c8e89cec36 checkasm/diracdsp: test add_dirac_obmc
Signed-off-by: Kyosuke Kawakami <kawakami150708@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2024-11-16 08:33:26 +00:00
James Almer
41930b7642 avutil/channel_layout: add Binaural channels and layout
Signed-off-by: James Almer <jamrial@gmail.com>
2024-11-14 08:47:00 +00:00
James Almer
a126978e0d fate/pixfmt: reintroduce scale filter dependency for some tests
Removed by mistake in 271aea60a4cd211d92923c53b72cd074c3030897.

Signed-off-by: James Almer <jamrial@gmail.com>
2024-11-11 18:12:41 +00:00
Osamu Watanabe
096994f5b1 avcodec/jpeg2000: Improve FF_DWT97_INT to pass ISO/IEC 15444-4 conformance tests
Fixes https://trac.ffmpeg.org/ticket/10123

Signed-off-by: Pierre-Anthony Lemieux <pal@palemieux.com>
2024-11-09 07:23:44 +00:00
James Almer
0d69881641 fate/pixfmt: disable dithering in the scale filter
Should fix fate failures across different systems.

Signed-off-by: James Almer <jamrial@gmail.com>
2024-11-09 07:23:44 +00:00
James Almer
1d7deca830 x86/swscale: disable AVX2 yuv2nv12cX functions if accurate_rnd is requested
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-11-07 17:34:28 +01:00
James Almer
a867d29579 fate/pixfmts: extend the high bit depth test
Also test 8bit formats, and try bitdepth conversion paths.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-11-07 09:28:11 +01:00
James Almer
3d92da2c93 swscale/swscale_unscaled: add unscaled x2rgb10le to planar RGB
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-11-07 09:28:10 +01:00
Paul B Mahol
562d60f482 tests/ref: update silenceremove results 2024-11-06 23:18:08 +01:00
Peter Ross
bfaf0bc1c0 fate/rv60: add test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-11-03 08:44:54 +01:00
James Almer
9a560fc80f fate/pixfmts: test conversion of high bitdepth formats
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-11-02 20:28:18 +01:00
James Almer
85f21a8aa4 swscale/swscale_unscaled: add unscaled rgb to planar rgba
The fate test reference changes are due to the conversion being a simple
lossless deinterleave, instead of going through a RGB -> YUV -> RGB roundtrip.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-11-02 20:28:18 +01:00
James Almer
219f76115d swscale/output: add full chroma interpolation support for x2rgb10
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-11-02 20:28:17 +01:00
James Almer
2529754831 fate/filter-video: add more rgbtestsrc tests
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-11-02 20:28:17 +01:00
Zhao Zhili
fc79e14c3f fate/vvc: Add a sample which lose frames before 5c66a3
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-11-02 20:28:16 +01:00
Peter Ross
9fc88fe312 fate/vp60-interlace: add test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-31 08:36:31 +01:00
Ramiro Polla
f3837d7e21 checkasm/sw_range_convert: indent after previous couple of commits
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-31 08:30:24 +01:00
Ramiro Polla
d1cf450895 checkasm/sw_range_convert: test all supported bit depths
This commit also reduces the number of times ff_sws_init_scale() gets
called (only once per bit depth), and the number of times randomize_buffers()
gets called (only if the function must be checked).

Benchmarks are only performed on bit depths 8 and 16 (since they are
different functions, and not only different constants).

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-31 08:30:24 +01:00
Ramiro Polla
e916b70b15 checkasm/sw_range_convert: only run benchmarks on largest input width
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-31 08:30:24 +01:00
Ramiro Polla
e912eeba81 checkasm/sw_range_convert: reduce number of input sizes tested
Reduce input sizes to 8 (to test that the function works with widths
smaller than the vector length) and 1920 (raising the largest input
size to improve benchmark results).

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-31 08:30:24 +01:00
Ramiro Polla
37f0cd8d05 checkasm/sw_range_convert: use YUV pixel formats instead of YUVJ
We are already setting the range, so we can use regular YUV pixel
formats instead of YUVJ.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-31 08:30:23 +01:00
Ramiro Polla
1113b2c658 checkasm: use FF_ARRAY_ELEMS instead of hardcoding size of arrays
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-31 08:30:23 +01:00
Zhao Zhili
69c79bb32a tests/fate-run: Fix pixdesc failure
-u and -q doesn't work together for diff on macOS.

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-31 08:23:44 +01:00
James Almer
247af34ac0 avfilter/vsrc_testsrc: add support for XV48
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-26 09:28:06 +02:00
James Almer
d79e73e4be avformat/riff: map Y416 fourcc to RAWVIDEO decoder
As defined in https://learn.microsoft.com/en-us/windows/win32/medfound/10-bit-and-16-bit-yuv-video-formats#422-formats

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-26 09:28:06 +02:00
James Almer
da92f615b6 swscale/output: add XV48 output support
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-26 09:28:06 +02:00
James Almer
5eee9aef71 avutil/pixfmt: add XV48 pixel format
Much like XV30 and XV36 in d75c4693fe,
XV48 is added to support 16bit 4:4:4 as defined by Microsoft.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-26 09:28:05 +02:00
James Almer
014e99eb2b avformat/riff: map Y210 and Y216 fourcc to RAWVIDEO decoder
As defined in https://learn.microsoft.com/en-us/windows/win32/medfound/10-bit-and-16-bit-yuv-video-formats#422-formats

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-26 09:28:05 +02:00
Niklas Haas
7d8a5e3aee swscale: rename SwsContext to SwsInternal
And preserve the public SwsContext as separate name. The motivation here
is that I want to turn SwsContext into a public struct, while keeping the
internal implementation hidden. Additionally, I also want to be able to
use multiple internal implementations, e.g. for GPU devices.

This commit does not include any functional changes. For the most part, it is
a simple rename. The only complications arise from the public facing API
functions, which preserve their current type (and hence require an additional
unwrapping step internally), and the checkasm test framework, which directly
accesses SwsInternal.

For consistency, the affected functions that need to maintain a distionction
have generally been changed to refer to the SwsContext as *sws, and the
SwsInternal as *c.

In an upcoming commit, I will provide a backing definition for the public
SwsContext, and update `sws_internal()` to dereference the internal struct
instead of merely casting it.

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Niklas Haas <git@haasn.dev>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-26 09:25:17 +02:00
James Almer
efc963fee6 swscale/output: add Y216LE output support
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-24 09:57:49 +02:00
James Almer
3373ec5ab7 avutil/pixfmt: add Y216 pixel format
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-24 09:57:49 +02:00
Emily
71bc88b8ee fate/ffmpeg: add samples dependency to fate-ffmpeg-spec-disposition
This test utilizes an MPEG-TS sample from FATE suite, yet was
marked as not requiring samples.

Reviewed-by: Jan Ekström <jeebjp@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-22 08:53:05 +02:00
James Almer
f67c76aaee fate/filter-video: make fate-filter-pixdesc compare the hashed output with and without pixdesctest filtering
This helps detecting inconsistencies in swscale input/output code and
a av_read_image_line()/av_write_image_line() pass.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-22 08:53:05 +02:00
James Almer
1a442ad19a swscale/swscale_unscaled: clear the low bits in planar8ToP01xleWrapper
This makes the unscaled output of p010le and p016le match the generic path.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-22 08:53:04 +02:00
James Almer
711d9d5f0f avfilter/vf_pixdesctest: also take into account undefined alpha components
Ensure those bits are copied, which will result in the output being the same as
the input, where swscale set them to the equivalent of fully opaque.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-22 08:53:04 +02:00
James Almer
5c2be4b256 avfilter/vsrc_testsrc: use the alpha component information for XV3{0,6} and V30X
And add a few more tests to ensure all the pixfmts affected by this change
are tested.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-22 08:53:04 +02:00
James Almer
743da127cf fate/vcodec: update reference files for v410 vsynth tests
Forgotten in 601a3479466f4f03d27487dfc6fcb9430efb8fc6.

Found-by: ramiro
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-18 10:04:14 +02:00
James Almer
0199d80b87 swscale/output: fix alpha endianness in XV36
Mistakenly written in native endianness in 42098f92662c47659df85173d8076b62a23269aa.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-18 10:04:14 +02:00
James Almer
cb5fa2f5a5 avfilter/vsrc_testsrc: fill the xv30le alpha bits
As with other pixel formats, set the undefined alpha bits to opaque.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-18 10:04:13 +02:00
James Almer
251b75b674 swscale/output: fill the xv30le alpha bits
As with other pixel formats, set the undefined alpha bits to opaque.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-18 10:04:13 +02:00
James Almer
214251b9ad avfilter/vsrc_testsrc: add support for XV36 and AYUV64
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-18 10:04:13 +02:00
James Almer
1cbdd8124b swscale/output: add AYUV64BE output support
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-18 10:04:13 +02:00
James Almer
17a31a220d swscale/output: add X36VBE output support
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-18 10:04:12 +02:00
James Almer
3f900ee858 swscale/output: fill all the xv36le alpha bits
The format is 10 bit per component, not 8.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-18 10:04:12 +02:00
James Almer
6127e1611e tests/checkasm/sw_rgb: don't write random data past the end of the buffer
Should fix fate-checkasm-sw_rgb under gcc-ubsan.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Ramiro Polla <ramiro.polla@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-18 10:04:11 +02:00
Paul B Mahol
0ebd22c893 avfilter/vf_waveform: convert to query_func2() 2024-10-17 13:21:33 +02:00
Paul B Mahol
6cd03da059 avfilter/vf_vectorscope: convert to query_func2() 2024-10-17 13:21:32 +02:00
Paul B Mahol
735d5e3f61 avfilter/vf_histogram: convert to query_func2() 2024-10-17 13:21:31 +02:00