DECODER (whithout RADV_PERFTEST=video_decode) $ ffmpeg -init_hw_device "vulkan=vk:0" -hwaccel vulkan -hwaccel_output_format vulkan -i battlefield_1080p_120fps_8mbps.mp4 -f null - -benchmark [...] [h264 @ 0x5c692c1e92c0] Device does not support the VK_KHR_video_decode_queue extension! [h264 @ 0x5c692c1e92c0] Failed setup for format vulkan: hwaccel initialisation returned error. [...] frame= 3436 fps=2222 q=-0.0 Lsize=N/A time=00:00:28.63 bitrate=N/A speed=18.5x bench: utime=18.612s stime=0.575s rtime=1.547s bench: maxrss=287444KiB DECODER (with RADV_PERFTEST=video_decode): $ RADV_PERFTEST=video_decode ffmpeg -init_hw_device "vulkan=vk:0" -hwaccel vulkan -hwaccel_output_format vulkan -i battlefield_1080p_120fps_8mbps.mp4 -f null - -benchmark ffmpeg version n7.1 Copyright (c) 2000-2024 the FFmpeg developers built with gcc 14.2.1 (GCC) 20240910 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'battlefield_1080p_120fps_8mbps.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: mp42isomavc1 creation_time : 2013-08-23T09:21:03.000000Z encoder : HandBrake 0.9.9 2013052900 Duration: 00:00:28.65, start: 0.000000, bitrate: 10140 kb/s Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 9971 kb/s, 120 fps, 120 tbr, 90k tbn (default) Metadata: creation_time : 2013-08-23T09:21:03.000000Z vendor_id : [0][0][0][0] encoder : JVT/AVC Coding Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 160 kb/s (default) Metadata: creation_time : 2013-08-23T09:21:03.000000Z vendor_id : [0][0][0][0] Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> wrapped_avframe (native)) Stream #0:1 -> #0:1 (aac (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, null, to 'pipe:': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: mp42isomavc1 encoder : Lavf61.7.100 Stream #0:0(und): Video: wrapped_avframe, vulkan(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 120 fps, 120 tbn (default) Metadata: creation_time : 2013-08-23T09:21:03.000000Z vendor_id : [0][0][0][0] encoder : Lavc61.19.100 wrapped_avframe Stream #0:1(und): Audio: pcm_s16le, 48000 Hz, mono, s16, 768 kb/s (default) Metadata: creation_time : 2013-08-23T09:21:03.000000Z vendor_id : [0][0][0][0] encoder : Lavc61.19.100 pcm_s16le [out#0/null @ 0x6337d7b0ddc0] video:1476KiB audio:2684KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown frame= 3436 fps=460 q=-0.0 Lsize=N/A time=00:00:28.63 bitrate=N/A speed=3.83x bench: utime=0.250s stime=0.343s rtime=7.472s bench: maxrss=226844KiB ENCODER (without RADV_PERFTEST=video_encode): $ ffmpeg -init_hw_device vulkan=vkdev:0 -filter_hw_device vkdev -i battlefield_1080p_120fps_8mbps.mp4 -filter:v "format=nv12,hwupload" -c:v hevc_vulkan test_vk.mp4 ffmpeg version n7.1 Copyright (c) 2000-2024 the FFmpeg developers built with gcc 14.2.1 (GCC) 20240910 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'battlefield_1080p_120fps_8mbps.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: mp42isomavc1 creation_time : 2013-08-23T09:21:03.000000Z encoder : HandBrake 0.9.9 2013052900 Duration: 00:00:28.65, start: 0.000000, bitrate: 10140 kb/s Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 9971 kb/s, 120 fps, 120 tbr, 90k tbn (default) Metadata: creation_time : 2013-08-23T09:21:03.000000Z vendor_id : [0][0][0][0] encoder : JVT/AVC Coding Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 160 kb/s (default) Metadata: creation_time : 2013-08-23T09:21:03.000000Z vendor_id : [0][0][0][0] Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> hevc (hevc_vulkan)) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help [hevc_vulkan @ 0x5ec405092f00] Device does not support the VK_KHR_video_encode_queue extension! [vost#0:0/hevc_vulkan @ 0x5ec404f0a3c0] Error while opening encoder - maybe incorrect parameters such as bit_rate, rate, width or height. [vf#0:0 @ 0x5ec404f33440] Error sending frames to consumers: Function not implemented [vf#0:0 @ 0x5ec404f33440] Task finished with error code: -38 (Function not implemented) [vf#0:0 @ 0x5ec404f33440] Terminating thread with return code -38 (Function not implemented) [vost#0:0/hevc_vulkan @ 0x5ec404f0a3c0] Could not open encoder before EOF [vost#0:0/hevc_vulkan @ 0x5ec404f0a3c0] Task finished with error code: -22 (Invalid argument) [vost#0:0/hevc_vulkan @ 0x5ec404f0a3c0] Terminating thread with return code -22 (Invalid argument) [out#0/mp4 @ 0x5ec404e9a6c0] 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 [aac @ 0x5ec40602ce80] Qavg: 276.010 Conversion failed! ENCODER (with RADV_PERFTEST=video_encode): $ RADV_PERFTEST=video_encode ffmpeg -init_hw_device vulkan=vkdev:0 -filter_hw_device vkdev -i battlefield_1080p_120fps_8mbps.mp4 -filter:v "format=nv12,hwupload" -c:v hevc_vulkan test_vk.mp4 ffmpeg version n7.1 Copyright (c) 2000-2024 the FFmpeg developers built with gcc 14.2.1 (GCC) 20240910 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'battlefield_1080p_120fps_8mbps.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: mp42isomavc1 creation_time : 2013-08-23T09:21:03.000000Z encoder : HandBrake 0.9.9 2013052900 Duration: 00:00:28.65, start: 0.000000, bitrate: 10140 kb/s Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 9971 kb/s, 120 fps, 120 tbr, 90k tbn (default) Metadata: creation_time : 2013-08-23T09:21:03.000000Z vendor_id : [0][0][0][0] encoder : JVT/AVC Coding Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 160 kb/s (default) Metadata: creation_time : 2013-08-23T09:21:03.000000Z vendor_id : [0][0][0][0] File 'test_vk.mp4' already exists. Overwrite? [y/N] y Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> hevc (hevc_vulkan)) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help [hevc_vulkan @ 0x5c6261fd7fc0] No rate control settings specified, using fixed QP = 18 Output #0, mp4, to 'test_vk.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: mp42isomavc1 encoder : Lavf61.7.100 Stream #0:0(und): Video: hevc (Main) (hev1 / 0x31766568), vulkan(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 120 fps, 15360 tbn (default) Metadata: creation_time : 2013-08-23T09:21:03.000000Z vendor_id : [0][0][0][0] encoder : Lavc61.19.100 hevc_vulkan Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 69 kb/s (default) Metadata: creation_time : 2013-08-23T09:21:03.000000Z vendor_id : [0][0][0][0] encoder : Lavc61.19.100 aac [out#0/mp4 @ 0x5c6261de06c0] video:1353895KiB audio:248KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.003656% frame= 3436 fps=223 q=-0.0 Lsize= 1354193KiB time=00:00:28.63 bitrate=387434.6kbits/s speed=1.86x [aac @ 0x5c6262f72c40] Qavg: 276.010 Si vede che il file viene creato (test_vk.mp4) e parte in mpv/VLC: il sonoro funziona ma lo schermo è completamente nero. Inoltre il video originale è di 35 MB mentre il video codificato con hevc_vulkan è 1.3 GB! Invece durante la compilazione di CinGG non riesco ad abilitare il device vulkan. Come fare? ho provato ad usare --enable-vulkan in "configure" ma non viene riconosciuto. Come potrei usare le due stringhe RADV_PERFTEST=video_encode e RADV_PERFTEST=video_decode in CinGG?