haasn / libplacebo

Official mirror of libplacebo
http://libplacebo.org/
GNU Lesser General Public License v2.1
524 stars 63 forks source link

No `vkGetInstanceProcAddr` function provided, and libplacebo built without linking against this function! #186

Closed zshnb closed 11 months ago

zshnb commented 11 months ago

hi i have some problems when using libplacebo i compiled ffmpeg 6.0 with --enable-vulkan, --enable-libplacebo, but when i try to transcode a 10bit bt2020 video to 8bit bt709, the error message of title appeared, my ffmpeg command is

./ffmpeg -y -hwaccel cuda -hwaccel_output_format cuda -extra_hw_frames 3 -i UPL_1vKBpdd4iX.mp4 -vf "hwupload=derive_device=vulkan,libplacebo=format=yuv420p10le:colorspace=bt709:color_primaries=bt709:color_trc=bt709,hwdownload,format=yuv420p" -c:v h264_nvenc -c:a copy "outputHLG.mp4"

my os is Ubuntu 20.04, vulkan version is Release 1.3.250

haasn commented 11 months ago

This should be set from hwctx, so I don't know how you can end up with this error path. Something doesn't add up - FFmpeg would have crashed if this pointer was unset.

haasn commented 11 months ago

Is there any chance you could step into the affected call pl_vulkan_import inside gdb and confirm that params->get_proc_addr is set?

zshnb commented 11 months ago

sorry i don't know how can i do this, can you give me some steps to do this?

zshnb commented 11 months ago

this is the vulkan issue? or libplacebo issue?

zshnb commented 11 months ago

and if i only use cpu to do like ./ffmpeg -y -i UPL_1vKBpdd4iX.mp4 -vf "libplacebo=format=yuv420p10le:colorspace=bt709:color_primaries=bt709:color_trc=bt709,format=yuv420p" -c:v libx264 -c:a copy "output709.mp4", also got same error message.

zshnb commented 11 months ago

i just fix this after re-install all dependency in a new machine, i think the most important thing is install vulkan before install libplacebo, not re-install libplacebo after install vulkan.