Commit Graph

11843 Commits

Author SHA1 Message Date
James Almer 42b748f738 avfilter/vsrc_testsrc: add support for XV48
Signed-off-by: James Almer <jamrial@gmail.com>
2024-10-26 00:04:55 -03:00
James Almer dfd7acf3ed 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>
2024-10-21 09:52:58 -03:00
James Almer 8debc5aa41 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>
2024-10-21 09:52:58 -03:00
arch1t3cht 72e5381123 avfilter/vf_subtitles: Respect YCbCr Matrix header
As specified in libass's ass_types.h, the colors or ASS_Images
should be converted to YCbCr using the matrix/range specified in
the track's YCbCrMatrix field (unless that field is set to YCBCR_NONE,
and defaulting to TV.601 if the header is missing).

This does not affect any subtitles generated or transcoded by ffmpeg,
since these contain a 'YCbCrMatrix: None' header.

Signed-off-by: arch1t3cht <arch1t3cht@gmail.com>
Signed-off-by: rcombs <rcombs@rcombs.me>
2024-10-19 11:08:34 -05:00
James Almer 062fcacc8f 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>
2024-10-17 11:59:30 -03:00
James Almer 5601c5bb2e avfilter/vsrc_testsrc: add support for XV36 and AYUV64
Signed-off-by: James Almer <jamrial@gmail.com>
2024-10-17 11:57:36 -03:00
Anton Khirnov c034213083 lavfi/vsrc_perlin: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov e0aa644978 lavfi/vsrc_life: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov 2094a7256c lavfi/vsrc_life: avoid modifying the context in query_formats()
It is supposed to be free of side effects. Do it in init instead.
2024-10-17 11:00:35 +02:00
Anton Khirnov d08feb9003 lavfi/vf_zscale: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov 6bff95be03 lavfi/vf_weave: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov ab01f0522b lavfi/vf_vpp_qsv: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov e5b530f137 lavfi/vf_vmafmotion: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov 73c863fad8 lavfi/vf_v360: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov 223327d51a lavfi/vf_untile: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov 5d0fbd7145 lavfi/vf_transpose: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov ef4913e30d lavfi/vf_tpad: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov ce5aa74045 lavfi/vf_tile: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov 14ece0bf58 lavfi/vf_telecine: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov a18418f39d lavfi/vf_swapuv: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov 06292d34de lavfi/vf_swaprect: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov 05aad90c69 lavfi/vf_subtitles: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov 6ed357ce77 lavfi/vf_stereo3d: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov bdaaddb65c lavfi/vf_stack: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov e2f4c69779 lavfi/vf_shuffleplanes: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov 965e9b646e lavfi/vf_showpalette: convert to query_func2() 2024-10-17 11:00:35 +02:00
Anton Khirnov a96244df77 lavfi/vf_setparams: convert to query_func2() 2024-10-17 11:00:35 +02:00
Lynne 4b128de44a vulkan: enable selecting a compatible representation of format
When using **integer** images inside shaders, it turns out
that conversion doesn't automatically happen, but we need to
explicitly use the imageviews to get the image exposed as
a suitable representation for the shader.

Finally enables bitexact image representations.
2024-10-16 12:48:15 +02:00
Lynne 4d19be287f libavfilter/Makefile: add a makefile for Vulkan shaders 2024-10-15 17:45:20 +02:00
Anton Khirnov c961a72926 lavfi/vf_scale: switch to query_func2() 2024-10-15 10:39:14 +02:00
Anton Khirnov 4d69398dda lavfi/vf_remap: switch to query_func2() 2024-10-15 10:39:14 +02:00
Anton Khirnov dcd5a51e0a lavfi/vf_mergeplanes: switch to query_func2() 2024-10-15 10:39:14 +02:00
Anton Khirnov 989bc256a3 lavfi/vf_mergeplanes: remove redundant assignment
It is already done in init.
2024-10-15 10:39:14 +02:00
Anton Khirnov c19f3fe61b lavfi/vf_quirc: use FILTER_PIXFMTS_ARRAY() instead of query_formats() 2024-10-15 10:39:14 +02:00
Anton Khirnov d83d8a1643 lavfi/vf_premultiply: switch to query_func2() 2024-10-15 10:39:14 +02:00
Anton Khirnov 4faf6c6f0d lavfi/vf_paletteuse: switch to query_func2() 2024-10-15 10:39:14 +02:00
Anton Khirnov 18e43c2d39 lavfi/vf_palettegen: switch to query_func2() 2024-10-15 10:39:14 +02:00
Anton Khirnov c8344737b6 lavfi/vf_pad: switch to query_func2() 2024-10-15 10:39:14 +02:00
Anton Khirnov 64035fe206 lavfi/vf_overlay_qsv: switch to query_func2() 2024-10-15 10:39:14 +02:00
Anton Khirnov 0c86bc32aa lavfi/vf_overlay: switch to query_func2() 2024-10-15 10:39:14 +02:00
Anton Khirnov d50a63b04e lavfi/vf_noise: switch to query_func2() 2024-10-15 10:39:14 +02:00
Anton Khirnov 271ec2ab28 lavfi/vf_mix: switch to query_func2() 2024-10-15 10:39:14 +02:00
Anton Khirnov 4b2580c184 lavfi/vf_lut2: switch to query_func2() 2024-10-15 10:39:14 +02:00
Anton Khirnov 57e81f36a4 lavfi/vf_lut: switch to query_func2() 2024-10-15 10:39:14 +02:00
Anton Khirnov 92981320b3 lavfi/vf_libplacebo: convert to query_func2()
Drop a redundant error message for out_format, as it is already
validated in init.
2024-10-15 10:39:14 +02:00
Anton Khirnov 8160178dfc lavfi/vf_libplacebo: move vulkan initialization to init
avfilter API requires all the filter parameters, including hw context
(if present) to be available during init, so that is the proper place to
perform such setup.
2024-10-15 10:39:14 +02:00
Anton Khirnov c4822228b0 lavfi/vf_il: switch to query_func2() 2024-10-15 10:39:13 +02:00
Anton Khirnov 6929fc8845 lavfi/vf_hwupload_cuda: switch to query_func2() 2024-10-15 10:39:13 +02:00
Anton Khirnov 848256677d lavfi/vf_hwupload: switch to query_func2() 2024-10-15 10:39:13 +02:00
Anton Khirnov 036336296c lavfi/vf_hwupload: validate the hw device in init
Rather than query_formats(). Init is a more appropriate place, as
query_formats() is supposed to be free of side-effects.
2024-10-15 10:39:13 +02:00