[FFmpeg-trac] #9259(avcodec:new): Vulkan ycbcr Conversion with 10 bit
FFmpeg
trac at avcodec.org
Mon May 24 19:56:25 EEST 2021
#9259: Vulkan ycbcr Conversion with 10 bit
-------------------------------------+-------------------------------------
Reporter: David Oard | Owner: (none)
Type: enhancement | Status: new
Priority: normal | Component: avcodec
Version: 4.3.2 | Resolution:
Keywords: Vulkan | Blocked By:
VK_KHR_sampler_ycbcr_conversion |
VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16|
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Description changed by David Oard:
Old description:
> I using Vulkan to convert ycbcr AVFrame data to RGB using
> VK_KHR_sampler_ycbcr_conversion extension. It has been working really
> well with 8 bit videos Once I try to 10 bit videos the screen is
> primarily green. The issue is when a AVFrame is decoded from
> avcodec_receive_frame call the data arrays for each plane is packed into
> a 16-bit word where the lower 10 bits contain the data. The problem is
> that Vulkan wants the data in the upper 10 bits in each 16-bit word.
>
> Is there a way to tell the decoder to use the upper 10 bits instead of
> the lower 10 bits? Or can an enhancement be added to handle which
> methodology to use?
>
> The a detailed description of the formats I'm using with Vulkan checkout
> following link. Search for the last instance of
> VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16.
>
> https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkFormat.html
>
> Thanks or any help or direction!
>
> David
New description:
I am using Vulkan to convert ycbcr AVFrame data to RGB using
VK_KHR_sampler_ycbcr_conversion extension. It has been working really well
with 8 bit videos Once I try to 10 bit videos the screen is primarily
green. The issue is when a AVFrame is decoded from avcodec_receive_frame
call the data arrays for each plane is packed into a 16-bit word where the
lower 10 bits contain the data. The problem is that Vulkan wants the data
in the upper 10 bits in each 16-bit word.
Is there a way to tell the decoder to use the upper 10 bits instead of the
lower 10 bits? Or can an enhancement be added to handle which methodology
to use?
The a detailed description of the formats I'm using with Vulkan checkout
following link. Search for the last instance of
VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16.
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkFormat.html
Thanks or any help or direction!
David
--
--
Ticket URL: <https://trac.ffmpeg.org/ticket/9259#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list