Originally posted by dec05eba
View Post
Announcement
Collapse
No announcement yet.
Open-Source Radeon Driver Enables Support For Vulkan Video H.264/H.265 Encode
Collapse
X
-
Originally posted by dec05eba View Post
Vulkan video doesn't touch the graphics rendering pipeline. It uses the dedicated video encoding/decoding unit on the gpu that is separate from the graphics. But when it comes to playing videos you want to use your graphics cards 3d processing anyways. That allows your gpu to decode the video and display the video directly without copying it to system ram. The video encoding/decoding unit uses the graphics cards ram so the 3d graphics unit can access it directly. It's the most power efficient and performant way to play a video.
Mobile devices (such as laptops) also support low power video encoding/decoding mode (and graphics) to use even less battery.
1. Use planes on the display engine. This is the most power and bandwidth efficient; you can just point a plane at the raw YUV image and the display hardware will scale and handle the CSC. This is not well supported in most compositors at this point, but that will hopefully change in the near future.
2. Use a fixed function scaling/CSC engine. Vulkan doesn't currently support these. This is more power efficient than shaders, but still requires an additional copy. APIs like VA-API support these today.
3. Use shaders to do the scaling/CSC. This is unfortunately the least power and bandwidth efficient as you have to power up the shader hardware and there is an extra copy to do the scaling and CSC. Vulkan supports 3D and compute queues. This is the most likely way vulkan applications would handle this today.
Comment
-
-
Originally posted by marlock View Postabout (3)... isn't vulkan already offering plenty zero-copy functions? can't any of them be used?
- Likes 1
Comment
Comment