Skip to content
main
Switch branches/tags
Code

Latest commit

Before the fix it was doing
1. Record encode frame 0 to 7 (batch 0)
2. Submit batch 0
3. Assemble bitstream data frame 0 to 7

Batch 1 should be submitted before assebling bistream data.

Now the sample works as it should:
1. Record encode frame 0 to 7 (batch 0)
2. Submit batch 0
3. Record encode frame 7 to 15 (batch 1)
4. Submit batch 1
5. Assemble bistream data frame 0 to 7 (batch 0)
6. Record encode frame 16 to 23 (batch 0)
7. Submit batch 0
8. Assemble bistream data frame 8 to 15 (batch 1)
b95d9f8

Git stats

Files

Permalink
Failed to load latest commit information.

VK_VULKAN_VIDEO

This project conatins two Vulkan Video sample applications which demonstrate video decoding and encoding, respectively. These samples can be independently compiled. Instructions on how to build either the encoder or decoder sample are present within each respective folder.

VK_VIDEO_DECODE

vk_video_decode

This project is a Vulkan Video Sample Application demonstrating an end-to-end, all-Vulkan, processing of h.264/5 compressed video content. The application decodes the h.264/5 compressed content using an HW accelerated decoder, the decoded YCbCr frames are processed with Vulkan Graphics and then presented via the Vulkan WSI.

Currently, the sample application supports Linux and Windows10 operating systems.

Features

  • Extracts (DEMUX via FFMPEG) compressed video from .mp4, .mkv .mov and others video containers using h.264 (AVC) or h.265 (HEVC) compression formats.
  • The HW video decoder processes textures to Vulkan Video Images that can be directly sampled from Vulkan Samplers (Textures).
  • Converts the YCbCr (YUV) Images to RGB while sampling the decoded images using the VK_KHR_sampler_ycbcr_conversion
  • Displays the post-processed video frames using Vulkan WSI.
  • Provides the h.264/5 SPS/PPS video picture parameters inlined with each frame's parameters. This isn't compliant with the Vulkan Video Specification. Proper handling of such parameters must be done using an object of type VkVideoSessionParametersKHR.
  • Added support for VkVideoSessionParametersKHR for full compliance with the Vulkan Video Specification.
  • Use Video display timing synchronization (such as VK_EXT_present_timing) at the WSI side - currently the video is played at the maximum frame rate that the display device can support. The video may be played at a faster rate than it is authored.
  • Convert the sample's framework to be compatible with the rest of the nvpro-samples.

For instructions on how to build the sample decode application, please see the build instructions.

Please download and install Beta NVIDIA Driver with Vulkan Video Enabled.

For Vulkan Video Specification please refer to Vulkan Spec with Video Extensions.

For deep-dive information on Vulkan Video please refer to the Deep Dive Slide Deck.

VK_VIDEO_ENCODE

This project is a Nvpro-based Vulkan Video sample application demonstrating video encoding. By using the Vulkan video encoding extensions to drive the HW-accelerated video encoder, this application encodes YCbCr content and writes the h.264 compressed video to a file.

The sample is currently limited to YCbCr 4:2:0 8bpp files and all-Intra GOP structure.

Currently, the sample application supports Linux and Windows10 operating systems.

Features

  • Compatibility with the remaining nvpro-samples.
  • Video encoding using h.264 standard.
  • Support for all-Intra GOP structure.
  • Support for P frames.
  • Support for B frames.
  • Encoding frames from graphical application.
  • Different YCbCr chroma subsampling and bit depth options.
  • Support for h.265 standard.

For instructions on how to build the sample decode application, please see the build instructions.

Please download and install Beta NVIDIA Driver with Vulkan Video Enabled.

For Vulkan Video Specification please refer to Vulkan Spec with Video Extensions.

For deep-dive information on Vulkan Video please refer to the Deep Dive Slide Deck.

About

Vulkan video samples

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published