-
Notifications
You must be signed in to change notification settings - Fork 654
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VK_Video #1245
Open
gpx1000
wants to merge
20
commits into
KhronosGroup:main
Choose a base branch
from
gpx1000:vk_video
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
VK_Video #1245
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Conflicts: # samples/extensions/video/CMakeLists.txt # samples/extensions/video/VideoProcessor.cpp # samples/extensions/video/VideoProcessor.h
Replaced obsolete `VideoProcessor` implementation with new Vulkan-based components for video encoding and decoding. Added `VulkanBitstreamBufferImpl`, `VulkanDescriptorSetLayout`, and related utilities that enhance functionality, maintainability, and performance.
Refreshed the assets folder with updated files to align with recent changes. This ensures consistency and accuracy across related resources.
This README provides an in-depth overview of the Vulkan Video sample, detailing its usage, configuration, and dependencies (e.g., FFMPEG). It also explains video decoding processes, supported codecs (e.g., H.264), and integration with Vulkan objects, helping developers implement GPU-accelerated video decoding effectively.
Haven't had time to do a proper review yet, but it looks like this PR downgrades the asset submodule to a very old version, which would remove several assets used by some of the recent examples. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This is a sample showing how to use Vulkan Video. Developer's MUST have FFMPEG development libraries installed. FFMPEG is used for demuxing duties only. This sample attempts to make a generic library out of the NVIDIA Vulkan Video Sample to show how it can be used in a more generic way. As this is a very complex sample, it likely will take many revisions before landing.
NB: Vulkan Video is only supported in desktop environments. Also, it isn't required to ultimately use FFMPEG, one can use things like https://github.com/lieff/minimp4 or similar to handle the demuxing. However; that would only support h264 while FFMPEG is well tested and supports all codecs. Working on a demuxing solution is beyond the scope of this sample; but it is possible to do.
Tested in Linux on NVIDIA hardware.
General Checklist:
Please ensure the following points are checked:
Note: The Samples CI runs a number of checks including:
If this PR contains framework changes:
batch
command line argument to make sure all samples still work properlySample Checklist
If your PR contains a new or modified sample, these further checks must be carried out in addition to the General Checklist: