WIP: vulkan: Add vulkanh264dec
source link: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1361
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
WIP: vulkan: Add vulkanh264dec
Copied from https://gitlab.freedesktop.org//gstreamer/gst-plugins-bad/-/merge_requests/2397
Warning: Vulkan video is still work in progress, from specification to available drivers and applications. Do not use it for production software just yet.
This work basically consists of two new objects inside the GstVulkan code:
-
GstVulkanDeviceDecoder
: a GStreamer object inGstVulkan
library, inherited fromGstVulkanDevice
, which enablesVK_KHR_video_queue
andVK_KHR_video_decode_queue
extensions. Its purpose is to handle codec-agnostic operations. -
vulkanh264dec
: a GStreamer element, inherited fromGstH264Decoder
, which tries to instantiate aGstVulkanDeviceDecoder
to composite it and is in charge of handling codec-specific operations later, such as matching the parsed structures. It outputs, in the source pad,memory:VulkanImage
featured frames, with NV12 color format.
So far this pipeline works without errors:
TODO:
-
fully support
VK_FORMAT_G8_B8R8_2PLANE_420_UNORM
format inGstVulkan
. That requires thinking about how to keep backwards compatibility. Later, an implementation of the sampler to convert this format to RGB will be needed, so that decoded frames can be rendered byvulkansink
. - the code and its abstractions will need to be cleaned up, since currently the division between codec-specific and codec-agnostic code is not strict, and it must be fixed.
-
enhance the way the Vulkan headers are handled. Since the required headers files for video extensions are beta, they are not expected to be available in the system, so temporally I had to add the those headers as part of the
GstVulkan
library. - add discoverability of drivers with H264 decoding extension
Recommend
-
35
README.md webanalyzer 安装 pip install -U webanalyzer 使用 命令行 webanalyzer -u "
-
18
README.md gradtype This project needs your data Submitting data to this project takes 25-35 minutes. If you'd like to do this - please follow...
-
28
先说一下这次要做什么, 我们每天都需要同步一次本部门人员详细信息. 但是只有两个接口可用: 获取所有人员姓名 根据指定姓名, 查询详细信息的接口 在获得详细信息以后需要筛选出本部门的人员信...
-
15
WIP: xwayland: Disable the XTEST extension by default Most features from the XTEST extension cannot work on Wayland, which can be misleading for applications which would (optionally) rely on that extension...
-
9
(below text from docs/delay.rst) GLX Delay "Delay" is a hack to enable direct GLX contexts under Xwayland when using the NVIDIA binary driver. It works by creating an EGL context on the client side, running GL re...
-
8
A month of Flutter: WIP save users to Firestore
-
12
Live Coding: Bug Bounty Browser Extension (WIP)Schedule time with mepowered by Calendly
-
13
今天阿航在请求合并代码时, 仓库原作者突然回复了一个”LGTM”. 一下子给我搞蒙了! 拼音缩写?...
-
12
Isomatic Typeface Rev 6 WIP This is a ton of work. But not many things in the world could be more satisfying.Isomatic Typ...
-
5
WIP: vulkan: Add vulkanh264dec Warning: Vulkan video is still work in progress, from specification to available drivers and applications. Do not use it for production software jus...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK