Commit Graph

6314 Commits

Author SHA1 Message Date
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
Anton Khirnov
3666601290 lavf/flvdec: replace a private option with a field in FFFormatContext
The demuxer's 'missing_streams' private option is used to communicate
information from the demuxer to avformat_find_stream_info(). However,
that is not only unnecessarily complicated, it also leaks internal
information to users, e.g. this option appears in the results of the
fate-flv-demux test.

Use a new field in FFFormatContext to communicate this information
instead.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-17 09:30:45 +02:00
James Almer
b83f60aa85 fate/vcodec: add a test for v410 pixel format raw video
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-17 09:30:44 +02:00
James Almer
ec8d184741 fate/vcodec: stop using the deprecated v408 codec
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-17 09:30:44 +02:00
James Almer
a3e59b6bdd fate/vcodec: stop using the deprecated v308 codec
stddev and PSNR values change by the removal of format conversion and because
of the added sws_flags. Either or will have the same effect even on their own.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-17 09:30:44 +02:00
Lynne
66c5281a46 lavu/pixfmt: add AV_PIX_FMT_RGB96
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-15 17:53:37 +02:00
Lynne
6e678acf82 lavu/pixfmt: add AV_PIX_FMT_RGBA128
This format is useful for doing certain lossless transforms on images,
RCT in particular, which require you to escalate the size from 16 to
32 bits to avoid overflows.

APIchanges will be done alongside when comitting.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-15 17:53:37 +02:00
Martin Schitter
308a9c6eb8 avutil: add RGBF16 pix_fmt
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-15 08:45:45 +02:00
Ramiro Polla
bd1d4eab64 avcodec/flashsvenc: add compression_level option
This allows setting the compression level used by zlib.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-15 08:45:44 +02:00
James Almer
842ce28370 fate/filter-video: add tests for packed YUV in yuvtestsrc
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-14 18:00:55 +02:00
James Almer
129706111c avformat/riff: map Y410 fourcc to RAWVIDEO decoder
md5 values change because the nut container now reports rawvideo as encoder
and Y410 as codec type instead of the bogus RGB[15].

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-14 15:08:37 +02:00
James Almer
3cc6b9a4e9 avformat/riff: map v410 fourcc to RAWVIDEO decoder
There's no need to keep using a custom decoder for this pixel format.
md5 values change because the nut container now reports rawvideo as encoder.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-12 17:55:26 +02:00
James Almer
6ef58067e2 avformat/riff: map v308 fourcc to RAWVIDEO decoder
There's no need to keep using a custom decoder for this pixel format.
md5 values change because the nut container now reports rawvideo as encoder.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-12 17:55:26 +02:00
James Almer
f9cd395355 avformat/riff: map v408 fourcc to RAWVIDEO decoder
There's no need to keep using a custom decoder for this pixel format.
md5 values change because the nut container now reports rawvideo as encoder.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-12 17:55:26 +02:00
James Almer
e323e721d1 avformat/riff: map y408 fourcc to RAWVIDEO decoder
md5 values change because the nut container now reports rawvideo as encoder.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-12 17:55:26 +02:00
James Almer
b89e5ac3cc swscale/output: add V30X output support
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-12 17:55:25 +02:00
James Almer
8edb2bfdb7 swscale/output: add VYU444 output support
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-12 17:55:25 +02:00
James Almer
d51b7ca7ed swscale/output: add UYVA output support
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-12 17:55:25 +02:00
James Almer
76be2c5dd6 swscale/output: add AYUV output support
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-12 17:55:24 +02:00
Martin Storsjö
5e84f3d5dd checkasm: lls: Use relative tolerances rather than absolute ones
Depending on the magnitude of the output values, the potential
errors can be larger.

This fixes errors in the lls tests on x86_32 for some seeds,
observed with GCC 11 (on Ubuntu 22.04, with the distro compiler,
with -m32).

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-10 13:35:27 +02:00
Niklas Haas
b3d6b2120d swscale/rgb2xyz: add explicit width parameter
This fixes an 11-year-old bug in the rgb2xyz functions, when used with a
negative stride. The current loop bounds turned it into a no-op.

Additionally, this increases performance on highly cropped images, whose
stride may be substantially higher than the effective width.

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Niklas Haas <git@haasn.dev>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-10 13:35:26 +02:00
James Almer
3746ef09d3 avutil/pixfmt: add V30X pixel format
This maps to the 444YpCbCr10 pixel format as defined by Apple.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-10 13:33:46 +02:00
James Almer
e416f52cd4 avutil/pixfmt: add VYU444 pixel format
This maps to the 444YpCbCr8 pixel format as defined by Apple, which is ordered
Cr Y' Cb.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-10 13:33:46 +02:00
James Almer
e6bd1e2ff3 avutil/pixfmt: add UYVA pixel format
This maps to the 4444YpCbCrA8 pixel format as defined by Apple, which is ordered
Cb Y' Cr A.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-10 13:33:45 +02:00
James Almer
1e72543b8f avutil/pixfmt: add AYUV pixel format
This maps to the 4444AYpCbCr8 pixel format as defined by Apple, which is ordered
A Y’ Cb Cr.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-10 13:33:45 +02:00
Paul B Mahol
b5e18e161e tests/ref/fate: update some audio filter results 2024-10-04 17:13:56 +02:00
Paul B Mahol
68383c8aaf tests: update alimiter results 2024-10-04 17:02:01 +02:00
Paul B Mahol
5c212cffd8 avfilter/af_channelsplit: simplify channels option 2024-10-04 16:10:45 +02:00
James Almer
0db7ad0a9d fate/mov: add a test for heic images with cropping and rotation metadata
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-10-04 09:34:49 +02:00
James Almer
36026488e8 fate/filter-audio: add missing aresample filter dependency to fate-filter-crazychannels
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-09-30 19:18:52 +02:00
James Almer
e27b4d6d4c fate/hevc: add missing scale filter dependency to fate-hevc-mv-switch
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-09-30 19:18:52 +02:00
James Almer
f0d9d6b102 fate/vcodec: add missing scale filter dependency to ffv1-2pass10 vsynth tests
Also, add sws_flags matching other similar tests while at it.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-09-30 19:18:51 +02:00
Martin Storsjö
e5a14ae4e6 checkasm: Print the SVE vector length at startup
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-09-28 18:06:25 +02:00
Martin Storsjö
eadd7fbb05 aarch64: Add CPU feature flags for SVE and SVE2
Add code for detecting the feature on Linux and Windows.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-09-28 18:06:25 +02:00
Paul B Mahol
f7ad81f113 avfilter/af_compand: add threading support 2024-09-28 17:32:08 +02:00
Anton Khirnov
c4766229f8 fftools/ffmpeg_enc: move set_encoder_id() to ffmpeg_mux_init
This code uses no encoder properties or state besides its name, and is
mostly muxer logic, and thus belongs more properly into the muxer.

The results of several test change due to different metadata tag order
(the "encoder" tag is now set first).

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-09-26 21:45:13 +02:00
Martin Storsjö
6c0404e6b4 checkasm/sw_rgb: Revert test additions from e18b46d95fadcbaaf450bda9f1871849f2b0c586
The unaligned width test cases fail on i386; we have an assembly
function of rgb24toyv12 which is enabled only within
"#if ARCH_X86_32 && HAVE_7REGS", which seems to fail these new
test cases for unaligned widths.

As that assembly function has existed for a long time in that form,
the issue probably isn't very recent, thus skip testing these cases
for now.

Once the assembly function has been fixed, these test cases can
be readded.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2024-09-26 21:45:11 +02:00