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

Zhao Zhili quinkblack at foxmail.com
Tue Oct 31 11:51:53 EET 2023


> 在 2023年10月31日,下午4:40,Zhao Zhili <quinkblack at foxmail.com> 写道:
> 
> 
>> 
>> 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.

I mean default is create_by_placebo=0.

>>> 
>>> 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".
> 
> _______________________________________________
> 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