Den 27.11.2024 23:40, skrev Andrew Randrianasulu:
чт, 28 нояб. 2024 г., 01:22 Terje J. Hanssen via Cin <[email protected]>:
In August this year we had a thread "h264 vulkan encoding" initiated by Andrea https://lists.cinelerra-gg.org/pipermail/cin/2024-August/008517.html
Mesa 24.3 is released with many Vulkan Driver Improvement, and implementations are expected around the corner in rolling distributions.
Some articles about this in Phoronix https://www.phoronix.com/news/Mesa-24.3-Released https://www.phoronix.com/news/Mesa-24.3-rc2 https://www.phoronix.com/news/Mesa-24.3-rc1-Released https://www.phoronix.com/news/Intel-Vulkan-Video-H264-H265
With ffmpeg (7.1) h264/5 vulkan encoder support, I wonder if Cingg is ready to put them into use?
ffmpeg -hide_banner -encoders | grep vulkan V....D h264_vulkan H.264/AVC (Vulkan) (codec h264) V....D hevc_vulkan H.265/HEVC (Vulkan) (codec hevc)
you can try already (on system's ffmpeg), can't you?
I have tried ffmpeg 7.1 with Mesa 24.3.0 (Slowroll) and with Mesa 24.3.1 (Tumbleweed), but I have yet to find a command line that work for vulkan endcoding. export ANV_VIDEO_DECODE=1 export ANV_VIDEO_ENCODE=1 vulkaninfo | grep VK_KHR_video VK_KHR_video_decode_h264 : extension revision 9 VK_KHR_video_decode_h265 : extension revision 8 VK_KHR_video_decode_queue : extension revision 8 VK_KHR_video_encode_h264 : extension revision 14 VK_KHR_video_encode_h265 : extension revision 14 VK_KHR_video_encode_queue : extension revision 12 VK_KHR_video_maintenance1 : extension revision 1 VK_KHR_video_queue : extension revision 8 --------------- ffmpeg -hide_banner -init_hw_device vulkan -i hdv09_04.m2t -vf format=nv12,hwupload -c:v hevc_vulkan -y hdv09_04_hevc_vulkan_nv12.mp4 [mpeg2video @ 0x55dc42008980] Invalid frame dimensions 0x0. Last message repeated 3 times [mpegts @ 0x55dc41fff300] PES packet size mismatch [mpegts @ 0x55dc41fff300] Packet corrupt (stream = 1, dts = 258142320). [mpegts @ 0x55dc41fff300] Could not find codec parameters for stream 2 (Unknown: none ([160][0][0][0] / 0x00A0)): unknown codec Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options [mpegts @ 0x55dc41fff300] Could not find codec parameters for stream 3 (Unknown: none ([161][0][0][0] / 0x00A1)): unknown codec Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options Input #0, mpegts, from 'hdv09_04.m2t': Duration: 00:03:59.06, start: 2629.496000, bitrate: 26110 kb/s Program 100 Stream #0:0[0x810]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25000 kb/s, 25 fps, 25 tbr, 90k tbn Side data: cpb: bitrate max/min/avg: 25000000/0/0 buffer size: 7340032 vbv_delay: N/A Stream #0:1[0x814]: Audio: mp2 (mp3float) ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 384 kb/s Stream #0:2[0x815]: Unknown: none ([160][0][0][0] / 0x00A0) Stream #0:3[0x811]: Unknown: none ([161][0][0][0] / 0x00A1) Stream mapping: Stream #0:0 -> #0:0 (mpeg2video (native) -> hevc (hevc_vulkan)) Stream #0:1 -> #0:1 (mp2 (native) -> aac (native)) Press [q] to stop, [?] for help [hevc_vulkan @ 0x55dc420090c0] No rate control settings specified, using fixed QP = 18 Output #0, mp4, to 'hdv09_04_hevc_vulkan_nv12.mp4': Metadata: encoder : Lavf61.7.100 Stream #0:0: Video: hevc (Main) (hev1 / 0x31766568), vulkan(tv, bt709, top coded first (swapped)), 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 25 fps, 12800 tbn Metadata: encoder : Lavc61.19.100 hevc_vulkan Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s Metadata: encoder : Lavc61.19.100 aac [hevc_vulkan @ 0x55dc420090c0] Unable to perform query: VK_ERROR_DEVICE_LOST! [hevc_vulkan @ 0x55dc420090c0] Output failed: -542398533. [vost#0:0/hevc_vulkan @ 0x55dc420ee800] Error submitting video frame to the encoder [vost#0:0/hevc_vulkan @ 0x55dc420ee800] Error encoding a frame: Generic error in an external library [vost#0:0/hevc_vulkan @ 0x55dc420ee800] Task finished with error code: -542398533 (Generic error in an external library) Unable to submit command buffer: VK_ERROR_DEVICE_LOST [vost#0:0/hevc_vulkan @ 0x55dc420ee800] Terminating thread with return code -542398533 (Generic error in an external library) [hwupload @ 0x7fd45c004540] Failed to upload frame: -542398533. [vf#0:0 @ 0x55dc41fddc80] Error while filtering: Generic error in an external library [vf#0:0 @ 0x55dc41fddc80] Task finished with error code: -542398533 (Generic error in an external library) [vf#0:0 @ 0x55dc41fddc80] Terminating thread with return code -542398533 (Generic error in an external library) [out#0/mp4 @ 0x55dc41fb8180] video:0KiB audio:494KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 1.327457% frame= 0 fps=0.0 q=0.0 Lsize= 500KiB time=N/A bitrate=N/A speed=N/A [aac @ 0x55dc4201b000] Qavg: 414.312 Conversion failed! -------------------------- ffmpeg -hide_banner -init_hw_device vulkan -i hdv09_04.m2t -vf format=nv12,hwupload -c:v h264_vulkan -y hdv09_04_h264_vulkan_nv12.mp4 [mpeg2video @ 0x559168e71440] Invalid frame dimensions 0x0. Last message repeated 3 times [mpegts @ 0x559168e68200] PES packet size mismatch [mpegts @ 0x559168e68200] Packet corrupt (stream = 1, dts = 258142320). [mpegts @ 0x559168e68200] Could not find codec parameters for stream 2 (Unknown: none ([160][0][0][0] / 0x00A0)): unknown codec Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options [mpegts @ 0x559168e68200] Could not find codec parameters for stream 3 (Unknown: none ([161][0][0][0] / 0x00A1)): unknown codec Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options Input #0, mpegts, from 'hdv09_04.m2t': Duration: 00:03:59.06, start: 2629.496000, bitrate: 26110 kb/s Program 100 Stream #0:0[0x810]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25000 kb/s, 25 fps, 25 tbr, 90k tbn Side data: cpb: bitrate max/min/avg: 25000000/0/0 buffer size: 7340032 vbv_delay: N/A Stream #0:1[0x814]: Audio: mp2 (mp3float) ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 384 kb/s Stream #0:2[0x815]: Unknown: none ([160][0][0][0] / 0x00A0) Stream #0:3[0x811]: Unknown: none ([161][0][0][0] / 0x00A1) Stream mapping: Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (h264_vulkan)) Stream #0:1 -> #0:1 (mp2 (native) -> aac (native)) Press [q] to stop, [?] for help [h264_vulkan @ 0x559168e71b80] No rate control settings specified, using fixed QP = 18 Output #0, mp4, to 'hdv09_04_h264_vulkan_nv12.mp4': Metadata: encoder : Lavf61.7.100 Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), vulkan(tv, bt709, top coded first (swapped)), 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 25 fps, 12800 tbn Metadata: encoder : Lavc61.19.100 h264_vulkan Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s Metadata: encoder : Lavc61.19.100 aac [h264_vulkan @ 0x559168e71b80] Unable to perform query: VK_ERROR_DEVICE_LOST! [h264_vulkan @ 0x559168e71b80] Output failed: -542398533. [vost#0:0/h264_vulkan @ 0x559168f84880] Error submitting video frame to the encoder Unable to submit command buffer: VK_ERROR_DEVICE_LOST [vost#0:0/h264_vulkan @ 0x559168f84880] Error encoding a frame: Generic error in an external library [vost#0:0/h264_vulkan @ 0x559168f84880] Task finished with error code: -542398533 (Generic error in an external library) [hwupload @ 0x7f421c004540] Failed to upload frame: -542398533. [vost#0:0/h264_vulkan @ 0x559168f84880] Terminating thread with return code -542398533 (Generic error in an external library) [vf#0:0 @ 0x559168e1fcc0] Error while filtering: Generic error in an external library [vf#0:0 @ 0x559168e1fcc0] Task finished with error code: -542398533 (Generic error in an external library) [vf#0:0 @ 0x559168e1fcc0] Terminating thread with return code -542398533 (Generic error in an external library) [out#0/mp4 @ 0x559168e1c580] video:0KiB audio:54KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 2.695310% frame= 0 fps=0.0 q=0.0 Lsize= 55KiB time=N/A bitrate=N/A speed=N/A [aac @ 0x559168e83e00] Qavg: 186.490 Conversion failed!