Opened 2 hours ago

#11229 new defect

libplacebo and ffmpeg git tip Vulkan initialization failure(s)

Reported by: Dennis E. Mungai Owned by:
Priority: normal Component: avfilter
Version: git-master Keywords: libplacebo, vulkan
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:

Inserting libplacebo at any point in the filter chain with Vulkan en/decoding enabled results in an initialization failure, as shown below.

How to reproduce:

(a). With NVIDIA:

ffmpeg -loglevel debug -init_hw_device "vulkan=vk:0,debug=0,disable_multiplane=1" -f lavfi -i color=red:s=3840x2160 -vf hwupload,libplacebo,hwdownload,format=yuv420p -f null -

Results in:

ffmpeg version N-117372-g6871fd3170 Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
  configuration: --libdir=/usr/local/lib --enable-shared --disable-debug --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-ffplay --enable-alsa --enable-cuvid --enable-libplacebo --enable-librav1e --enable-libdav1d --enable-libshaderc --enable-libv4l2 --enable-libvmaf --enable-libvpl --enable-libxml2 --enable-nvdec --enable-nvenc --enable-cuda-llvm --nvcc=clang --nvccflags='--cuda-gpu-arch=sm_60 -O2' --enable-opencl --enable-vaapi --enable-vdpau --enable-version3 --enable-vulkan --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-fontconfig --enable-libfreetype --enable-libvidstab --enable-libharfbuzz --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libsvtav1 --enable-libx264 --enable-nonfree --enable-openssl --enable-lzma --enable-zlib --enable-gmp --enable-libfdk_aac --enable-postproc --enable-libzmq --enable-lv2 --enable-ladspa --enable-libxeve --enable-libxevd --enable-liblcevc-dec --enable-libzvbi --enable-decklink --enable-libklvanc --enable-libopenjpeg --enable-libjxl --enable-libzimg --enable-pocketsphinx --enable-libmysofa --enable-libquirc --enable-libqrencode --enable-libkvazaar --enable-libaom --enable-libsrt --enable-librist --extra-libs='-lpthread -lm -lz -ldl' --extra-cflags=-I/tmp/workdir/Blackmagic-SDK-14/Linux/include/
  libavutil      59. 41.100 / 59. 41.100
  libavcodec     61. 21.100 / 61. 21.100
  libavformat    61.  9.100 / 61.  9.100
  libavdevice    61.  4.100 / 61.  4.100
  libavfilter    10.  6.100 / 10.  6.100
  libswscale      8.  4.100 /  8.  4.100
  libswresample   5.  4.100 /  5.  4.100
  libpostproc    58.  4.100 / 58.  4.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'vulkan=vk:0,debug=0,disable_multiplane=1'.
Reading option '-f' ... matched as option 'f' (force container format (auto-detected otherwise)) with argument 'lavfi'.
Reading option '-i' ... matched as input url with argument 'color=red:s=3840x2160'.
Reading option '-vf' ... matched as option 'vf' (alias for -filter:v (apply filters to video streams)) with argument 'hwupload,libplacebo,hwdownload,format=yuv420p'.
Reading option '-f' ... matched as option 'f' (force container format (auto-detected otherwise)) with argument 'null'.
Reading option '-' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Applying option init_hw_device (initialise hardware device) with argument vulkan=vk:0,debug=0,disable_multiplane=1.
[AVHWDeviceContext @ 0x620714ae9280] Supported layers:
[AVHWDeviceContext @ 0x620714ae9280] 	VK_LAYER_NV_optimus
[AVHWDeviceContext @ 0x620714ae9280] 	VK_LAYER_MESA_device_select
[AVHWDeviceContext @ 0x620714ae9280] 	VK_LAYER_MESA_overlay
[AVHWDeviceContext @ 0x620714ae9280] Using instance extension VK_KHR_portability_enumeration
[AVHWDeviceContext @ 0x620714ae9280] GPU listing:
[AVHWDeviceContext @ 0x620714ae9280]     0: NVIDIA GeForce RTX 4060 Laptop GPU (discrete) (0x28a0)
[AVHWDeviceContext @ 0x620714ae9280] Device 0 selected: NVIDIA GeForce RTX 4060 Laptop GPU (discrete) (0x28a0)
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_KHR_push_descriptor
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_EXT_descriptor_buffer
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_EXT_physical_device_drm
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_EXT_shader_atomic_float
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_KHR_cooperative_matrix
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_NV_optical_flow
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_EXT_shader_object
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_KHR_video_maintenance1
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_KHR_external_memory_fd
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_EXT_external_memory_dma_buf
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_EXT_image_drm_format_modifier
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_KHR_external_semaphore_fd
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_EXT_external_memory_host
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_KHR_video_queue
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_KHR_video_encode_queue
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_KHR_video_decode_queue
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_KHR_video_encode_h264
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_KHR_video_decode_h264
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_KHR_video_encode_h265
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_KHR_video_decode_h265
[AVHWDeviceContext @ 0x620714ae9280] Using device extension VK_KHR_video_decode_av1
[AVHWDeviceContext @ 0x620714ae9280] Queue families:
[AVHWDeviceContext @ 0x620714ae9280]     0: graphics compute transfer sparse (queues: 16)
[AVHWDeviceContext @ 0x620714ae9280]     1: transfer sparse (queues: 2)
[AVHWDeviceContext @ 0x620714ae9280]     2: compute transfer sparse (queues: 8)
[AVHWDeviceContext @ 0x620714ae9280]     3: transfer decode sparse (queues: 1)
[AVHWDeviceContext @ 0x620714ae9280]     4: transfer encode sparse (queues: 1)
[AVHWDeviceContext @ 0x620714ae9280]     5: transfer sparse optical_flow (queues: 1)
[AVHWDeviceContext @ 0x620714ae9280] Using device: NVIDIA GeForce RTX 4060 Laptop GPU
[AVHWDeviceContext @ 0x620714ae9280] Alignments:
[AVHWDeviceContext @ 0x620714ae9280]     optimalBufferCopyRowPitchAlignment: 1
[AVHWDeviceContext @ 0x620714ae9280]     minMemoryMapAlignment:              64
[AVHWDeviceContext @ 0x620714ae9280]     nonCoherentAtomSize:                64
[AVHWDeviceContext @ 0x620714ae9280]     minImportedHostPointerAlignment:    4096
[AVHWDeviceContext @ 0x620714ae9280] Using queue family 0 (queues: 16) for graphics
[AVHWDeviceContext @ 0x620714ae9280] Using queue family 2 (queues: 8) for compute
[AVHWDeviceContext @ 0x620714ae9280] Using queue family 1 (queues: 2) for transfers
[AVHWDeviceContext @ 0x620714ae9280] Using queue family 3 (queues: 1) for decode
[AVHWDeviceContext @ 0x620714ae9280] Using queue family 4 (queues: 1) for encode
Successfully parsed a group of options.
Parsing a group of options: input url color=red:s=3840x2160.
Applying option f (force container format (auto-detected otherwise)) with argument lavfi.
Successfully parsed a group of options.
Opening an input file: color=red:s=3840x2160.
[AVFilterGraph @ 0x6207181681c0] Setting 'color' to value 'red'
[AVFilterGraph @ 0x6207181681c0] Setting 's' to value '3840x2160'
detected 20 logical cores
[Parsed_color_0 @ 0x62071816b600] size:3840x2160 rate:25/1 duration:-1.000000 sar:1/1
[AVFilterGraph @ 0x6207181681c0] query_formats: 2 queried, 3 merged, 0 already done, 0 delayed
[lavfi @ 0x620718167980] All info found
Input #0, lavfi, from 'color=red:s=3840x2160':
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0, 1, 1/25: Video: wrapped_avframe, 1 reference frame, yuv420p, 3840x2160 [SAR 1:1 DAR 16:9], 0/1, 25 fps, 25 tbr, 25 tbn
Successfully opened the file.
Parsing a group of options: output url -.
Applying option vf (alias for -filter:v (apply filters to video streams)) with argument hwupload,libplacebo,hwdownload,format=yuv420p.
Applying option f (force container format (auto-detected otherwise)) with argument null.
Successfully parsed a group of options.
Opening an output file: -.
[out#0/null @ 0x620715169480] No explicit maps, mapping streams automatically...
[vost#0:0/wrapped_avframe @ 0x620715169f80] Created video stream from input stream 0:0
[AVFilterGraph @ 0x62071516b4c0] Setting 'pix_fmts' to value 'yuv420p'
[libplacebo @ 0x62071516c280] Initialized libplacebo v7.349.0 (v7.349.0-15-g756220c3) (API v349)
Successfully opened the file.
Stream mapping:
  Stream #0:0 -> #0:0 (wrapped_avframe (native) -> wrapped_avframe (native))
[vost#0:0/wrapped_avframe @ 0x620715169f80] Starting thread...
[vf#0:0 @ 0x62071516af80] Starting thread...
[vist#0:0/wrapped_avframe @ 0x620715167c40] [dec:wrapped_avframe @ 0x62071516c6c0] Starting thread...
[in#0/lavfi @ 0x620718167640] Starting thread...
Press [q] to stop, [?] for help
[AVFilterGraph @ 0x7e50980011c0] Setting 'pix_fmts' to value 'yuv420p'
[libplacebo @ 0x7e5098004e40] Initialized libplacebo v7.349.0 (v7.349.0-15-g756220c3) (API v349)
[graph -1 input from stream 0:0 @ 0x7e509800a740] w:3840 h:2160 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1 csp:unknown range:unknown
[libplacebo @ 0x7e5098004e40] Imported vulkan device properties:
[libplacebo @ 0x7e5098004e40]     Device Name: NVIDIA GeForce RTX 4060 Laptop GPU
[libplacebo @ 0x7e5098004e40]     Device ID: 10de:28a0
[libplacebo @ 0x7e5098004e40]     Device UUID: 46:B0:D7:C4:58:6B:CE:2C:FF:BB:05:7E:5D:96:AB:7E
[libplacebo @ 0x7e5098004e40]     Driver version: 8c08c0c0
[libplacebo @ 0x7e5098004e40]     API version: 1.3.280
[libplacebo @ 0x7e5098004e40] Restricting API version to 1.3.0... new version 1.3.0
[libplacebo @ 0x7e5098004e40] Missing device feature: hostQueryReset
[libplacebo @ 0x7e5098004e40] Imported Vulkan device was not created with all required features!
[libplacebo @ 0x7e5098004e40] Failed importing vulkan device
[libplacebo @ 0x7e5098004e40] Failed importing Vulkan device!
[Parsed_libplacebo_1 @ 0x7e5098004d00] Query format failed for 'Parsed_libplacebo_1': Generic error in an external library
[vf#0:0 @ 0x62071516af80] Error reinitializing filters!
[vf#0:0 @ 0x62071516af80] Task finished with error code: -542398533 (Generic error in an external library)
[vf#0:0 @ 0x62071516af80] Terminating thread with return code -542398533 (Generic error in an external library)
[vost#0:0/wrapped_avframe @ 0x620715169f80] [enc:wrapped_avframe @ 0x62071516a940] Encoder thread received EOF
[vost#0:0/wrapped_avframe @ 0x620715169f80] [enc:wrapped_avframe @ 0x62071516a940] Could not open encoder before EOF
[vist#0:0/wrapped_avframe @ 0x620715167c40] [dec:wrapped_avframe @ 0x62071516c6c0] Decoder returned EOF, finishing
[vist#0:0/wrapped_avframe @ 0x620715167c40] [dec:wrapped_avframe @ 0x62071516c6c0] Terminating thread with return code 0 (success)
[vost#0:0/wrapped_avframe @ 0x620715169f80] Task finished with error code: -22 (Invalid argument)
[vost#0:0/wrapped_avframe @ 0x620715169f80] Terminating thread with return code -22 (Invalid argument)
[vist#0:0/wrapped_avframe @ 0x620715167c40] All consumers of this stream are done
[in#0/lavfi @ 0x620718167640] All consumers are done
[in#0/lavfi @ 0x620718167640] Terminating thread with return code 0 (success)
[out#0/null @ 0x620715169480] Nothing was written into output file, because at least one of its streams received no packets.
frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A speed=N/A    
[in#0/lavfi @ 0x620718167640] Input file #0 (color=red:s=3840x2160):
[in#0/lavfi @ 0x620718167640]   Input stream #0:0 (video): 19 packets read (8360 bytes); 10 frames decoded; 0 decode errors; 
[in#0/lavfi @ 0x620718167640]   Total: 19 packets (8360 bytes) demuxed
Conversion failed!

(b). Replicated on an Intel setup:

An identical command as before:

ffmpeg -loglevel debug -init_hw_device "vulkan=vk:0,debug=0,disable_multiplane=1" -f lavfi -i color=red:s=3840x2160 -vf hwupload,libplacebo,hwdownload,format=yuv420p -f null -

Output:

ffmpeg version N-117372-g6871fd3170 Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
  configuration: --libdir=/usr/local/lib --enable-shared --disable-debug --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-ffplay --enable-alsa --enable-cuvid --enable-libplacebo --enable-librav1e --enable-libdav1d --enable-libshaderc --enable-libv4l2 --enable-libvmaf --enable-libvpl --enable-libxml2 --enable-nvdec --enable-nvenc --enable-cuda-llvm --nvcc=clang --nvccflags='--cuda-gpu-arch=sm_60 -O2' --enable-opencl --enable-vaapi --enable-vdpau --enable-version3 --enable-vulkan --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-fontconfig --enable-libfreetype --enable-libvidstab --enable-libharfbuzz --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libsvtav1 --enable-libx264 --enable-nonfree --enable-openssl --enable-lzma --enable-zlib --enable-gmp --enable-libfdk_aac --enable-postproc --enable-libzmq --enable-lv2 --enable-ladspa --enable-libxeve --enable-libxevd --enable-liblcevc-dec --enable-libzvbi --enable-decklink --enable-libklvanc --enable-libopenjpeg --enable-libjxl --enable-libzimg --enable-pocketsphinx --enable-libmysofa --enable-libquirc --enable-libqrencode --enable-libkvazaar --enable-libaom --enable-libsrt --enable-librist --extra-libs='-lpthread -lm -lz -ldl' --extra-cflags=-I/tmp/workdir/Blackmagic-SDK-14/Linux/include/
  libavutil      59. 41.100 / 59. 41.100
  libavcodec     61. 21.100 / 61. 21.100
  libavformat    61.  9.100 / 61.  9.100
  libavdevice    61.  4.100 / 61.  4.100
  libavfilter    10.  6.100 / 10.  6.100
  libswscale      8.  4.100 /  8.  4.100
  libswresample   5.  4.100 /  5.  4.100
  libpostproc    58.  4.100 / 58.  4.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'vulkan=vk:0,debug=0,disable_multiplane=1'.
Reading option '-f' ... matched as option 'f' (force container format (auto-detected otherwise)) with argument 'lavfi'.
Reading option '-i' ... matched as input url with argument 'color=red:s=3840x2160'.
Reading option '-vf' ... matched as option 'vf' (alias for -filter:v (apply filters to video streams)) with argument 'hwupload,libplacebo,hwdownload,format=yuv420p'.
Reading option '-f' ... matched as option 'f' (force container format (auto-detected otherwise)) with argument 'null'.
Reading option '-' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Applying option init_hw_device (initialise hardware device) with argument vulkan=vk:0,debug=0,disable_multiplane=1.
[AVHWDeviceContext @ 0x62487096e280] Supported layers:
[AVHWDeviceContext @ 0x62487096e280] 	VK_LAYER_MESA_device_select
[AVHWDeviceContext @ 0x62487096e280] 	VK_LAYER_MESA_overlay
[AVHWDeviceContext @ 0x62487096e280] Using instance extension VK_KHR_portability_enumeration
[AVHWDeviceContext @ 0x62487096e280] GPU listing:
[AVHWDeviceContext @ 0x62487096e280]     0: Intel(R) Graphics (RPL-P) (integrated) (0xa7a0)
[AVHWDeviceContext @ 0x62487096e280] Device 0 selected: Intel(R) Graphics (RPL-P) (integrated) (0xa7a0)
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_KHR_push_descriptor
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_EXT_descriptor_buffer
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_EXT_physical_device_drm
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_EXT_shader_atomic_float
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_KHR_cooperative_matrix
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_KHR_video_maintenance1
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_KHR_external_memory_fd
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_EXT_external_memory_dma_buf
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_EXT_image_drm_format_modifier
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_KHR_external_semaphore_fd
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_EXT_external_memory_host
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_KHR_video_queue
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_KHR_video_encode_queue
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_KHR_video_decode_queue
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_KHR_video_encode_h264
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_KHR_video_decode_h264
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_KHR_video_encode_h265
[AVHWDeviceContext @ 0x62487096e280] Using device extension VK_KHR_video_decode_h265
[AVHWDeviceContext @ 0x62487096e280] Queue families:
[AVHWDeviceContext @ 0x62487096e280]     0: graphics compute transfer sparse protected (queues: 1)
[AVHWDeviceContext @ 0x62487096e280]     1: encode decode (queues: 2)
[AVHWDeviceContext @ 0x62487096e280] Using device: Intel(R) Graphics (RPL-P)
[AVHWDeviceContext @ 0x62487096e280] Alignments:
[AVHWDeviceContext @ 0x62487096e280]     optimalBufferCopyRowPitchAlignment: 128
[AVHWDeviceContext @ 0x62487096e280]     minMemoryMapAlignment:              4096
[AVHWDeviceContext @ 0x62487096e280]     nonCoherentAtomSize:                64
[AVHWDeviceContext @ 0x62487096e280]     minImportedHostPointerAlignment:    4096
[AVHWDeviceContext @ 0x62487096e280] Using queue family 0 (queues: 1) for graphics compute transfers
[AVHWDeviceContext @ 0x62487096e280] Using queue family 1 (queues: 2) for encode decode
Successfully parsed a group of options.
Parsing a group of options: input url color=red:s=3840x2160.
Applying option f (force container format (auto-detected otherwise)) with argument lavfi.
Successfully parsed a group of options.
Opening an input file: color=red:s=3840x2160.
[AVFilterGraph @ 0x6248709d2b00] Setting 'color' to value 'red'
[AVFilterGraph @ 0x6248709d2b00] Setting 's' to value '3840x2160'
detected 20 logical cores
[Parsed_color_0 @ 0x624870a6b3c0] size:3840x2160 rate:25/1 duration:-1.000000 sar:1/1
[AVFilterGraph @ 0x6248709d2b00] query_formats: 2 queried, 3 merged, 0 already done, 0 delayed
[lavfi @ 0x62487097fb00] All info found
Input #0, lavfi, from 'color=red:s=3840x2160':
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0, 1, 1/25: Video: wrapped_avframe, 1 reference frame, yuv420p, 3840x2160 [SAR 1:1 DAR 16:9], 0/1, 25 fps, 25 tbr, 25 tbn
Successfully opened the file.
Parsing a group of options: output url -.
Applying option vf (alias for -filter:v (apply filters to video streams)) with argument hwupload,libplacebo,hwdownload,format=yuv420p.
Applying option f (force container format (auto-detected otherwise)) with argument null.
Successfully parsed a group of options.
Opening an output file: -.
[out#0/null @ 0x624870a70880] No explicit maps, mapping streams automatically...
[vost#0:0/wrapped_avframe @ 0x624870a71380] Created video stream from input stream 0:0
[AVFilterGraph @ 0x624870a728c0] Setting 'pix_fmts' to value 'yuv420p'
[libplacebo @ 0x624870a734c0] Initialized libplacebo v7.349.0 (v7.349.0-15-g756220c3) (API v349)
Successfully opened the file.
Stream mapping:
  Stream #0:0 -> #0:0 (wrapped_avframe (native) -> wrapped_avframe (native))
[vost#0:0/wrapped_avframe @ 0x624870a71380] Starting thread...
[vf#0:0 @ 0x624870a72300] Starting thread...
[vist#0:0/wrapped_avframe @ 0x624870a70040] [dec:wrapped_avframe @ 0x624870a73940] Starting thread...
[in#0/lavfi @ 0x62487097f8c0] Starting thread...
Press [q] to stop, [?] for help
[AVFilterGraph @ 0x7d4ffc0011c0] Setting 'pix_fmts' to value 'yuv420p'
[libplacebo @ 0x7d4ffc0046c0] Initialized libplacebo v7.349.0 (v7.349.0-15-g756220c3) (API v349)
[graph -1 input from stream 0:0 @ 0x7d4ffc009fc0] w:3840 h:2160 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1 csp:unknown range:unknown
[libplacebo @ 0x7d4ffc0046c0] Imported vulkan device properties:
[libplacebo @ 0x7d4ffc0046c0]     Device Name: Intel(R) Graphics (RPL-P)
[libplacebo @ 0x7d4ffc0046c0]     Device ID: 8086:a7a0
[libplacebo @ 0x7d4ffc0046c0]     Device UUID: 86:80:A0:A7:04:00:00:00:00:02:00:00:00:00:00:00
[libplacebo @ 0x7d4ffc0046c0]     Driver version: 6002063
[libplacebo @ 0x7d4ffc0046c0]     API version: 1.3.296
[libplacebo @ 0x7d4ffc0046c0] Restricting API version to 1.3.0... new version 1.3.0
[libplacebo @ 0x7d4ffc0046c0] Missing device feature: hostQueryReset
[libplacebo @ 0x7d4ffc0046c0] Imported Vulkan device was not created with all required features!
[libplacebo @ 0x7d4ffc0046c0] Failed importing vulkan device
[libplacebo @ 0x7d4ffc0046c0] Failed importing Vulkan device!
[Parsed_libplacebo_1 @ 0x7d4ffc004580] Query format failed for 'Parsed_libplacebo_1': Generic error in an external library
[vf#0:0 @ 0x624870a72300] Error reinitializing filters!
[vf#0:0 @ 0x624870a72300] Task finished with error code: -542398533 (Generic error in an external library)
[vf#0:0 @ 0x624870a72300] Terminating thread with return code -542398533 (Generic error in an external library)
[vist#0:0/wrapped_avframe @ 0x624870a70040] [dec:wrapped_avframe @ 0x624870a73940] Decoder returned EOF, finishing
[vost#0:0/wrapped_avframe @ 0x624870a71380] [enc:wrapped_avframe @ 0x624870a71cc0] Encoder thread received EOF
[vost#0:0/wrapped_avframe @ 0x624870a71380] [enc:wrapped_avframe @ 0x624870a71cc0] Could not open encoder before EOF
[vost#0:0/wrapped_avframe @ 0x624870a71380] Task finished with error code: -22 (Invalid argument)
[vost#0:0/wrapped_avframe @ 0x624870a71380] Terminating thread with return code -22 (Invalid argument)
[vist#0:0/wrapped_avframe @ 0x624870a70040] [dec:wrapped_avframe @ 0x624870a73940] Terminating thread with return code 0 (success)
[vist#0:0/wrapped_avframe @ 0x624870a70040] All consumers of this stream are done
[in#0/lavfi @ 0x62487097f8c0] All consumers are done
[in#0/lavfi @ 0x62487097f8c0] Terminating thread with return code 0 (success)
[out#0/null @ 0x624870a70880] Nothing was written into output file, because at least one of its streams received no packets.
frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A speed=N/A    
[in#0/lavfi @ 0x62487097f8c0] Input file #0 (color=red:s=3840x2160):
[in#0/lavfi @ 0x62487097f8c0]   Input stream #0:0 (video): 19 packets read (8360 bytes); 10 frames decoded; 0 decode errors; 
[in#0/lavfi @ 0x62487097f8c0]   Total: 19 packets (8360 bytes) demuxed
Conversion failed!

Omitting libplacebo from the filter chain(s) allows the command(s) above to execute correctly.

The libplacebo filter will also fail to initialize regardless of the flags passed to the underlying Vulkan HWContext, as shown in this trivial Vulkan video encode example below:

ffmpeg -loglevel debug -init_hw_device vulkan=vk:0 -filter_hw_device vk -f lavfi -i testsrc=duration=300:size=1920x1080:rate=60,format=nv12 -vf "libplacebo" -c:v h264_vulkan -b:v 3000k -f null /dev/null -y

Which will throw up identical error logs as the command lines above:

[libplacebo @ 0x7ecdcc0044c0] Restricting API version to 1.3.0... new version 1.3.0
[libplacebo @ 0x7ecdcc0044c0] Missing device feature: hostQueryReset
[libplacebo @ 0x7ecdcc0044c0] Imported Vulkan device was not created with all required features!
[libplacebo @ 0x7ecdcc0044c0] Failed importing vulkan device
[libplacebo @ 0x7ecdcc0044c0] Failed importing Vulkan device!
[Parsed_libplacebo_0 @ 0x7ecdcc004380] Query format failed for 'Parsed_libplacebo_0': Generic error in an external library
[vf#0:0 @ 0x5822ecd31700] Error reinitializing filters!
[vf#0:0 @ 0x5822ecd31700] Task finished with error code: -542398533 (Generic error in an external library)
[vf#0:0 @ 0x5822ecd31700] Terminating thread with return code -542398533 (Generic error in an external library)

This regression is quite recent because I was able to launch the same pipeline(s) when reporting on https://trac.ffmpeg.org/ticket/11219

Change History (0)

Note: See TracTickets for help on using tickets.