-
Notifications
You must be signed in to change notification settings - Fork 661
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
base: main
Are you sure you want to change the base?
VK_Video #1245
Conversation
# 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. |
Any hint on how to get this to work on windows? When doing the CMake setup, the sample is skipped (not available in Visual Studio) because it can't find ffmpeg (which I have installed manually):
In order to get it working I'd need to set a lot of paths in cmake: Is there an alternative way? Like only having one ffmpeg path that needs to be set in cmake, and cmake picking up what it need from ffmpeg based on that single path? The sample does not have a readme, which could help with setting up all the things required for it to work. |
It should hopefully only need avcodec avcore and avformat. But I do need
to update ffmpeg to only need one path
…On Sun, Dec 15, 2024, 3:47 AM Sascha Willems ***@***.***> wrote:
Any hint on how to get this to work on windows? When doing the CMake
setup, the sample is skipped (not available in Visual Studio) because it
can't find ffmpeg (which I have installed manually):
CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to `find_package_handle_standard_args` (FFMPEG)
does not match the name of the calling package (FFmpeg). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
samples/extensions/video/CMake/FindFFmpeg.cmake:191 (find_package_handle_standard_args)
samples/extensions/video/CMakeLists.txt:20 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
In order to get it working I'd need to set a *lot* of paths in cmake:
image.png (view on web)
<https://github.com/user-attachments/assets/13c0c1d9-b2f9-4af2-bb98-8fe26bf6e3e5>
Is there an alternative way? Like only having one ffmpeg path that needs
to be set in cmake, and cmake picking up what it need from ffmpeg based on
that single path?
—
Reply to this email directly, view it on GitHub
<#1245 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA5IAY5GTTQPFW4IMNI3IXD2FVT33AVCNFSM6AAAAABTPUCXZ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNBTHA2DCMJVGA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
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: