Anton Khirnov
31da5222a4
lavf: replace FFFormatContext.prefer_codec_framerate with FF_INFMT_FLAG
...
There is no reason for this to be a dynamic property, as the only
demuxer using this sets it unconditionally.
2024-10-16 16:46:29 +02:00
Anton Khirnov
12e5116872
lavf: deprecate av_format_inject_global_side_data()
...
This function would otherwise fail to build on the next major bump, as
inject_global_side_data is marked for removal.
It should also never be needed, as there is now a mechanism for
supplying global side data to decoders directly.
2024-10-16 16:46:25 +02:00
Anton Khirnov
cb80ec0b6c
lavf: move demuxing-specific fields from FFFormatContext to FormatContextInternal
2024-10-16 16:29:12 +02:00
Anton Khirnov
6d05e7e314
lavf: move muxing-specific fields from FFFormatContext to FormatContextInternal
2024-10-16 16:29:12 +02:00
Anton Khirnov
772911d3a8
lavf: add new struct for data private to generic layer
...
Trivial for now, will become more useful in future commits, as many
fields from FFFormatContext should not be visible to individual
(de)muxers.
2024-10-16 16:29:12 +02:00
Anton Khirnov
461a359abc
lavf: add a header for generic-layer interfaces
...
Analogous to what was previously done in avcodec and avfilter.
2024-10-16 16:29:12 +02:00
Anton Khirnov
de49452bc1
lavf/internal: remove a prototype for non-existent function
...
ff_stream_side_data_copy() has been gone since
5432d2aaca
2024-10-16 16:29:12 +02:00
James Almer
1f7268a44d
avcodec/vulkan_encode_h265: use the proper printf specifier for size_t
...
Signed-off-by: James Almer <jamrial@gmail.com>
2024-10-16 10:15:43 -03:00
James Almer
a61517598f
avcodec/vulkan_encode_h264: use the proper printf specifier for size_t
...
Signed-off-by: James Almer <jamrial@gmail.com>
2024-10-16 10:14:48 -03:00
James Almer
cb2f5cf400
fate/vcodec: add a test for v410 pixel format raw video
...
Signed-off-by: James Almer <jamrial@gmail.com>
2024-10-16 10:05:55 -03:00
James Almer
03a88e56e0
fate/vcodec: stop using the deprecated v408 codec
...
Signed-off-by: James Almer <jamrial@gmail.com>
2024-10-16 10:05:55 -03:00
James Almer
5d07ec04f2
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>
2024-10-16 10:05:55 -03:00
Nuo Mi
a144e7b92e
avcodec/vvcdec: remove unused tb_pos_x0 and tb_pos_y0
...
This change will save approximately 531 MB for an 8K clip when processed with 16 threads.
The calculation is as follows:
7680 * 4320 * sizeof(int) * 2 * 2 * 16 / (4 * 4).
2024-10-16 20:28:09 +08:00
Nuo Mi
2e936f2c11
avcodec/vvdec: refact, ff_vvc_deblock_bs use CodingUnit/TransformUnit instead of fc->tabs
...
perf result for:
"perf record -F 99 ./ffmpeg_g -i Tango2_3840x2160_60_10_420_27_LD.266 -f null -"
before: 5.24%
1.87% ffmpeg_g [.] vvc_deblock_bs_chroma
1.72% ffmpeg_g [.] ff_vvc_deblock_bs
1.65% ffmpeg_g [.] vvc_deblock_bs_luma
after: 3.48%
1.84% ffmpeg_g [.] vvc_deblock_bs_chroma
1.64% ffmpeg_g [.] ff_vvc_deblock_bs + vvc_deblock_bs_luma(inlined)
2024-10-16 20:28:09 +08:00
Nuo Mi
d78b43ecf8
avcodec/vvcdec: misc, move pcmf from min_tu_tl_init to min_cb_nz_tl_init
...
pcmf are cu level flags
2024-10-16 20:28:09 +08:00
Nuo Mi
634780f3cf
avcodec/vvcdec: refact out deblock boundary strength stage
...
The deblock boundary strength stage utilizes ~5% of CPU resources for 8K clips.
It's worth considering it as a standalone stage. This stage has been relocated
to follow the parser process, allowing us to reuse CUs and TUs before releasing them.
2024-10-16 20:28:09 +08:00
David Rosca
48a1a12968
hw_base_encode: Free pictures on close
...
Fixes leaking recon surfaces with VAAPI.
2024-10-16 12:48:18 +02:00
Lynne
931d45d4d6
vulkan: do not create imageviews with video encode/decode usage
...
This function is only used for filtering and generic compute.
The issue is that a view inherits the usage flags from the image
by default, and the spec says the view format must be compatible
with the usage. VkImageViewUsageCreateInfo allows us to filter out
the indeded uses of the imageview.
Pffff.
2024-10-16 12:48:16 +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
76e8afa8a6
hwcontext_vulkan: always enable MUTABLE creation flag
...
We need it even for something as simple as bitexact opening
of images.
2024-10-16 12:48:13 +02:00
Lynne
98f6d43146
vulkan: keep track of mapped memory in the buffer structure
...
Can/could be useful to know which buffers are mapped.
2024-10-15 17:45:20 +02:00
Lynne
4d19be287f
libavfilter/Makefile: add a makefile for Vulkan shaders
2024-10-15 17:45:20 +02:00
Lynne
4e861ad8e0
libavcodec/Makefile: add a makefile for Vulkan shaders
2024-10-15 17:45:19 +02:00
Lynne
3afdfe830f
vulkan: add support for AV_PIX_FMT_RGB96
2024-10-15 17:45:19 +02:00
Lynne
903f7f053a
vulkan: add support for AV_PIX_FMT_RGBA128
2024-10-15 17:45:18 +02:00
Lynne
2336e68565
lavu: bump minor and add APIChanges entries for new 32bpc pixfmts
2024-10-15 17:45:18 +02:00
Lynne
4f387a1c4e
lavu/pixfmt: add AV_PIX_FMT_RGB96
2024-10-15 17:45:17 +02:00
Lynne
281bba1d26
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.
2024-10-15 17:45:12 +02:00
Anton Khirnov
9ce63e65d6
lavc/avcodec: fix global/private option precendence
...
Broken after 7753a9d627
. Apply only the
whitelist early, and the rest with a single call to av_opt_set_dict2()
with AV_OPT_SEARCH_CHILDREN, which should be equivalent to the original
behaviour.
Reported-by: Cameron Gutman <aicommander@gmail.com>
2024-10-15 10:40:15 +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