Skip to content
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

FFMpeg compatibility #170

Closed
Chipcraft opened this issue May 7, 2023 · 2 comments
Closed

FFMpeg compatibility #170

Chipcraft opened this issue May 7, 2023 · 2 comments

Comments

@Chipcraft
Copy link

Chipcraft commented May 7, 2023

Decided to share this, so that other people who currently either are, or are looking to use libplacebo with FFMpeg can skip all of the unnecessary work of finding a working, relatively recent FFMpeg - libplacebo version combination.

As of today, the most recent version which have been verified (just by me, obviously) to work together are:

All of the newer libplacebo versions seem to require Vulkan 1.3, which is currently not available in FFMpeg. Officially, libplacebo seems to have reverted back to of Vulkan 1.2 being the requirement however, FFMpeg is still failing regardless.

Prior 9f35ff1, the error emitted was: "Imported Vulkan device was not created with all required features!"

And after: "Missing device feature: dynamicRendering"

This is on a RTX 3060 w/ 531.68 drivers. DynamicRendering 1.3, according to "Vulkan Hardware Capability Viewer 3.29".

@FarisR99
Copy link

FarisR99 commented May 8, 2023

I was about to file a number of issues I have with recent libplacebo versions in the last month and this is one of them.

To add some more context to this issue, I have a Windows 11 system with an RTX 4090 and the latest NVIDIA game ready drivers. I build libplacebo and ffmpeg myself in MINGW64.

I also get this error when I use the mingw-w64-x86_64-libplacebo package which is built off v5.264.1-1.

I've attempted to build with this commit of mine (I'm not a C++ developer and am not familiar with this codebase): FarisR99@521270e
Which leads to an error saying "Missing device feature: hostQueryReset" or something. Essentially this whole check always fails.

Edit: Tested with an Intel Arc A770 and an Intel iGPU (UHD 770), both also give the same error.

BtbN pushed a commit to FFmpeg/FFmpeg that referenced this issue May 13, 2023
Recent versions of libplacebo have required Vulkan versions incompatible
with lavu Vulkan hwcontexts. While this is expected to change
eventually, breaking vf_libplacebo every time there is such a transition
period is obviously undesired behavior, as the following sea of bug
reports shows.

This commit adds a fallback path for init_vulkan failures which simply
creates an internal device if there was no user-supplied Vulkan hwaccel.
Useful when no interop with lavu vulkan hwframes is needed or desired,
and makes using this filter easier inside certain applications.

Fixes: haasn/libplacebo#170
Fixes: mpv-player/mpv#9589 (comment)
Fixes: mpv-player/mpv#11363
Fixes: mpv-player/mpv#11685 (comment)
Closes: https://code.videolan.org/videolan/libplacebo/-/issues/270
@Chipcraft
Copy link
Author

Closed, see issue #172.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants