[FFmpeg-devel] [PATCH v5] fftools/ffplay: add hwaccel decoding support

Zhao Zhili quinkblack at foxmail.com
Tue Oct 31 10:40:26 EET 2023



> On Oct 31, 2023, at 13:16, Lynne <dev at lynne.ee> wrote:
> 
> Oct 30, 2023, 18:35 by quinkblack at foxmail.com:
> 
>> 
>> On 2023/10/31 01:05, Lynne wrote:
>> 
>>> Oct 30, 2023, 17:05 by quinkblack at foxmail.com:
>>> 
>>>> From: Zhao Zhili <zhilizhao at tencent.com>
>>>> 
>>>> Add vulkan renderer via libplacebo.
>>>> 
>>>> Simple usage:
>>>> $ ffplay -hwaccel vulkan foo.mp4
>>>> 
>>>> Use cuda to vulkan map:
>>>> $ ffplay -hwaccel cuda foo.mp4
>>>> 
>>>> Create vulkan instance by libplacebo, and enable debug:
>>>> $ ffplay -hwaccel vulkan \
>>>> -vulkan_params create_by_placebo=1:debug=1 foo.mp4
>>>> ---
>>>> v5:
>>>> 1. add vulkan_params option.
>>>> 2. vulkan instance can be create by hwcontext or libplacebo.
>>>> 
>>>> v4: add more optional extensions
>>>> v3: shared vulkan instance between libplacebo and hwcontext
>>>> 
>>> You did it the other way. Instead of creating a device through libplacebo,
>>> just create a Vulkan device via the hwcontext, and use it for libplacebo.
>>> 
>> 
>> I have done both:
>> 
>> 1. create vulkan device by hwcontext and import to placebo
>> 
>> 2. create vulkan device by placebo and pass to hwcontext
>> 
>> It's controlled by -vulkan_params create_by_placebo=1(0). Default is the first behavior.
>> 
>> Did I miss something?
>> 
> 
> Thanks, I overlooked that. Is there a reason for having a setting, and having that as the default?

There is no particular reason for which one be the default. Let hwcontext create vulkan
device is easy, but the code path has been tested by fftools/ffmpeg. The second choice
covers another code path (av_hwdevice_ctx_alloc + av_hwdevice_ctx_init) and helps
finding bugs.

The macOS compatibility issue was found by the first choice. The memleak issue was found by
the second.

> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".



More information about the ffmpeg-devel mailing list