Wu Jianhua:
> The following command is on how to apply hflip_vulkan filter:
>
> ffmpeg -init_hw_device vulkan -i input.264 -vf
> hwupload=extra_hw_frames=16,hflip_vulkan,hwdownload,format=yuv420p output.264
>
> Signed-off-by: Wu Jianhua <[email protected]>
> ---
> configure | 1 +
> libavfilter/Makefile | 1 +
> libavfilter/allfilters.c | 1 +
> libavfilter/vf_hflip_vulkan.c | 276 ++++++++++++++++++++++++++++++++++
> 4 files changed, 279 insertions(+)
> create mode 100644 libavfilter/vf_hflip_vulkan.c
>
> +
> +static const AVOption hflip_vulkan_options[] = {
> + { NULL },
> +};
> +
> +AVFILTER_DEFINE_CLASS(hflip_vulkan);
> +
What is the point of this class with its empty options?
> +static const AVFilterPad hflip_vulkan_inputs[] = {
> + {
> + .name = "default",
> + .type = AVMEDIA_TYPE_VIDEO,
> + .filter_frame = &hflip_vulkan_filter_frame,
> + .config_props = &ff_vk_filter_config_input,
> + }
> +};
> +
> +static const AVFilterPad hflip_vulkan_outputs[] = {
> + {
> + .name = "default",
> + .type = AVMEDIA_TYPE_VIDEO,
> + .config_props = &ff_vk_filter_config_output,
> + }
> +};
> +
> +const AVFilter ff_vf_hflip_vulkan = {
> + .name = "hflip_vulkan",
> + .description = NULL_IF_CONFIG_SMALL("Horizontally flip the input
> video in Vulkan"),
> + .priv_size = sizeof(HFlipVulkanContext),
> + .init = &ff_vk_filter_init,
> + .uninit = &hflip_vulkan_uninit,
> + FILTER_INPUTS(hflip_vulkan_inputs),
> + FILTER_OUTPUTS(hflip_vulkan_outputs),
> + FILTER_SINGLE_PIXFMT(AV_PIX_FMT_VULKAN),
> + .priv_class = &hflip_vulkan_class,
> + .flags_internal = FF_FILTER_FLAG_HWFRAME_AWARE,
> +};
>
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".