I see that ffmpeg 8.0 has three new filters: Color Detect, Pad_Cuda, and Scale_d3d11. In CinGG, I only see the first one, Color Detect, which provides information on the “Jpeg/Mpeg” range and whether the alpha channel is ‘premultiplied’ or “straight.” It doesn't give me any errors, but I don't know where to see the information it provides. FFmpeg 8.0 also has other good news: decoders for the APV mezzanine codec (very interesting!) and for ProRes RAW. Improved VVC support (this would be h266, the successor to h265). Then encoding/decoding via Vulkan of FFV1 and ProRes Raw (for this only decoding). Still decoding Vulkan VP9, Vaapi VVC; ProRes and VC-2. I don't know if Vulkan AV1; ProRes and VC-2 encoding is already supported or coming soon. I don't know enough about other new features (G.728; Whip, etc.).
Andrea, Thank you for providing some information on what is new for CinGG with ffmpeg version 8.0. - xxx_cuda filters only work with certain Nvidia graphics cards (at least that is my understanding). I did notice that *F_pad_cuda* does show up in the Resources Window under Video Effects but when you drag it to the timeline you get the error as shown below. So I will comment it out in ffmpeg/plugin.opts -- just like all of the rest of the "cuda-s".
PluginFVClient::activate() F_pad_cuda err: Function not implemented PluginFVClient::process_buffer() F_pad_cuda err: Operation not permitted
-- *F_scale_d3d11* is a hardware-accelerated video filter using Direct3D 11 so if you do not have that hardware, it does not create an object file in thirdparty/ffmpeg-8.0/libavfilter even though the vf_scale_d3d11.c source code exists. -- *F_colordetect* and many of the other ffmpeg filters that produce informational output have no default file on which to display that information and no parameter to specify a file name. This is sort of analogous to section 9.5 in the Manual, paragraph "Outstanding Issues with ffmpeg". We should probably document in the Manual about specific hardware limitations and displayed output with ffmpeg. As you can see below when you use the "colordetect" filter on the ffmpeg command line, there is ample informational output generated. *# /tmp/cinelerra-5.1/thirdparty/ffmpeg-8.0/ffmpeg -i
/root/media/tutorial.mp4* *-vf "colordetect" out2.mp4* Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/root/media/tutorial.mp4': ... ... (I deleted several lines) ...
[Parsed_colordetect_0 @ 0x5e15380] Detected color properties:
[Parsed_colordetect_0 @ 0x5e15380] Color range: undetermined [Parsed_colordetect_0 @ 0x5e15380] Alpha mode: undetermined Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help [libx264 @ 0x5e38600] using SAR=1/1
[libx264 @ 0x5e38600] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
AVX FMA3 BMI2 AVX2 [libx264 @ 0x5e38600] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 0x5e38600] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 0x5e38600] 264 - core 164 - H.264/MPEG-4 AVC codec - Copyleft 2003-2024 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=24 lookahead_threads=4 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'out2.mp4':
Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf62.3.100 Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p(tv, progressive), 1440x1080 [SAR 1:1 DAR 4:3], q=2-31, 29.97 fps, 30k tbn (default) Metadata: encoder : Lavc62.11.100 libx264 handler_name : VideoHandler vendor_id : [0][0][0][0]
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default) Metadata: encoder : Lavc62.11.100 aac handler_name : SoundHandler vendor_id : [0][0][0][0]
[Parsed_colordetect_0 @ 0x7f0a7c003040] Detected color
properties:te=4859.5kbits/s speed=2.49x elapsed=0:00:21.00 [Parsed_colordetect_0 @ 0x7f0a7c003040] Color range: JPEG / full range [Parsed_colordetect_0 @ 0x7f0a7c003040] Alpha mode: none [out#0/mp4 @ 0x5e06800] video:31791KiB audio:873KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.184799% frame= 1656 fps= 76 q=-1.0 Lsize= 32725KiB time=00:00:55.18 bitrate=4857.6kbits/s speed=2.53x elapsed=0:00:21.83
[libx264 @ 0x5e38600] frame I:9 Avg QP:21.56 size: 84136
[libx264 @ 0x5e38600] frame P:779 Avg QP:23.83 size: 31727 [libx264 @ 0x5e38600] frame B:868 Avg QP:27.65 size: 8157 [libx264 @ 0x5e38600] consecutive B-frames: 4.8% 73.1% 8.3% 13.8% [libx264 @ 0x5e38600] mb I I16..4: 7.1% 80.7% 12.2% [libx264 @ 0x5e38600] mb P I16..4: 1.0% 7.7% 0.9% P16..4: 52.8% 16.7% 8.0% 0.0% 0.0% skip:12.8%
[libx264 @ 0x5e38600] mb B I16..4: 0.1% 0.5% 0.1% B16..8: 50.9% 5.8%
1.0% direct: 1.0% skip:40.7% L0:63.9% L1:32.9% BI: 3.2% [libx264 @ 0x5e38600] 8x8 transform intra:79.8% inter:72.9% [libx264 @ 0x5e38600] coded y,uvDC,uvAC intra: 69.0% 64.5% 6.9% inter: 18.4% 14.4% 0.0% [libx264 @ 0x5e38600] i16 v,h,dc,p: 23% 21% 11% 44% [libx264 @ 0x5e38600] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 14% 14% 6% 9% 10% 9% 8% 8%
[libx264 @ 0x5e38600] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 13% 11% 5% 12%
12% 9% 7% 5% [libx264 @ 0x5e38600] i8c dc,h,v,p: 56% 17% 22% 5% [libx264 @ 0x5e38600] Weighted P-Frames: Y:2.8% UV:0.0% [libx264 @ 0x5e38600] ref P L0: 74.8% 18.9% 4.8% 1.4% 0.0% [libx264 @ 0x5e38600] ref B L0: 97.4% 2.5% 0.2% [libx264 @ 0x5e38600] ref B L1: 99.3% 0.7% [libx264 @ 0x5e38600] kb/s:4713.14 [aac @ 0x6bd1300] Qavg: 619.694
On Sun, Nov 23, 2025 at 8:14 AM Andrea paz <[email protected]> wrote:
I see that ffmpeg 8.0 has three new filters: Color Detect, Pad_Cuda, and Scale_d3d11. In CinGG, I only see the first one, Color Detect, which provides information on the “Jpeg/Mpeg” range and whether the alpha channel is ‘premultiplied’ or “straight.” It doesn't give me any errors, but I don't know where to see the information it provides. FFmpeg 8.0 also has other good news: decoders for the APV mezzanine codec (very interesting!) and for ProRes RAW. Improved VVC support (this would be h266, the successor to h265). Then encoding/decoding via Vulkan of FFV1 and ProRes Raw (for this only decoding). Still decoding Vulkan VP9, Vaapi VVC; ProRes and VC-2. I don't know if Vulkan AV1; ProRes and VC-2 encoding is already supported or coming soon. I don't know enough about other new features (G.728; Whip, etc.). _______________________________________________ Cin mailing list -- [email protected] To unsubscribe send an email to [email protected]
Andrea paz wrote:
I don't know if Vulkan AV1; ProRes and VC-2 encoding is already supported or coming soon.
On my system and hardware Kernel: 6.12.59-1-longterm arch: x86_64 bits: 64 Desktop: GNOME v: 49.1 Distro: openSUSE Tumbleweed-Slowroll 20251106 Graphics: Device-1: Intel DG2 [Arc A750] driver: i915 v: kernel with Vulkan v. 25.2.6, Mesa v. 25.2.6 and system ffmpeg-8 v. 8.0 (from Packman) I can verify the following ffmpeg Vulkan video support: ffmpeg -hide_banner -encoders | grep vulkan V....D av1_vulkan AV1 (Vulkan) (codec av1) V....D ffv1_vulkan FFmpeg video codec #1 (Vulkan) (codec ffv1) V....D h264_vulkan H.264/AVC (Vulkan) (codec h264) V....D hevc_vulkan H.265/HEVC (Vulkan) (codec hevc) And by enabling both Vulkan video decode and encode support in the ANV driver via the following environment variable export ANV_DEBUG="video-decode,video-encode" I can verify the following Vulkan Video Encode support: vulkaninfo | grep -i encode VK_KHR_video_encode_h264 : extension revision 14 VK_KHR_video_encode_h265 : extension revision 14 VK_KHR_video_encode_queue : extension revision 12 queueFlags = QUEUE_VIDEO_DECODE_BIT_KHR | QUEUE_VIDEO_ENCODE_BIT_KHR VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR while AV1 seemingly has only Video Decode support so far: vulkaninfo | grep -i av1 VK_KHR_video_decode_av1 : extension revision 1 VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR placeholder = AV1 Decode (4:2:0 8-bit) Main with film grain support placeholder = AV1 Decode (4:2:0 8-bit) Main without film grain support placeholder = AV1 Decode (4:2:0 10-bit) Main with film grain support placeholder = AV1 Decode (4:2:0 10-bit) Main without film grain support
вс, 30 нояб. 2025 г., 01:37 Terje J. Hanssen via Cin < [email protected]>:
Andrea paz wrote:
I don't know if Vulkan AV1; ProRes and VC-2 encoding is already supported or coming soon.
On my system and hardware Kernel: 6.12.59-1-longterm arch: x86_64 bits: 64 Desktop: GNOME v: 49.1 Distro: openSUSE Tumbleweed-Slowroll 20251106 Graphics: Device-1: Intel DG2 [Arc A750] driver: i915 v: kernel
with Vulkan v. 25.2.6, Mesa v. 25.2.6 and system ffmpeg-8 v. 8.0 (from Packman)
I can verify the following ffmpeg Vulkan video support:
ffmpeg -hide_banner -encoders | grep vulkan V....D av1_vulkan AV1 (Vulkan) (codec av1) V....D ffv1_vulkan FFmpeg video codec #1 (Vulkan) (codec ffv1) V....D h264_vulkan H.264/AVC (Vulkan) (codec h264) V....D hevc_vulkan H.265/HEVC (Vulkan) (codec hevc)
And by enabling both Vulkan video decode and encode support in the ANV driver via the following environment variable
export ANV_DEBUG="video-decode,video-encode"
I can verify the following Vulkan Video Encode support:
vulkaninfo | grep -i encode VK_KHR_video_encode_h264 : extension revision 14 VK_KHR_video_encode_h265 : extension revision 14 VK_KHR_video_encode_queue : extension revision 12 queueFlags = QUEUE_VIDEO_DECODE_BIT_KHR | QUEUE_VIDEO_ENCODE_BIT_KHR VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR
while AV1 seemingly has only Video Decode support so far:
vulkaninfo | grep -i av1 VK_KHR_video_decode_av1 : extension revision 1 VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR placeholder = AV1 Decode (4:2:0 8-bit) Main with film grain support placeholder = AV1 Decode (4:2:0 8-bit) Main without film grain support placeholder = AV1 Decode (4:2:0 10-bit) Main with film grain support placeholder = AV1 Decode (4:2:0 10-bit) Main without film grain support
But does it actually work? ;) I think prores (not prores RAW) work exist in ffmpeg.git for now .... _______________________________________________
Cin mailing list -- [email protected] To unsubscribe send an email to [email protected]
Den 30.11.2025 00:16, skrev Andrew Randrianasulu:
But does it actually work? ;)
I am glad you asked :) No, sorry - still no success with video transcoding using vulkan so far ...... At least I have not found a ffmpeg code line that works, conversion fails, similary for h264_vulkan and hevc_vulkan: ffmpeg -hide_banner -hwaccel vulkan -i hdv09_04.m2t -c:v h264_vulkan hdv09_04_h264_vulkan.mp4 .......... Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scale_0' Link 'Parsed_null_0.default' -> 'auto_scale_0.default': src: yuv420p dst: yuv420p [vf#0:0 @ 0x5640cf955040] Error reinitializing filters! [vf#0:0 @ 0x5640cf955040] Task finished with error code: -38 (Function not implemented) [vf#0:0 @ 0x5640cf955040] Terminating thread with return code -38 (Function not implemented) [vost#0:0/h264_vulkan @ 0x5640cf9580c0] [enc:h264_vulkan @ 0x5640cf95b440] Could not open encoder before EOF [vost#0:0/h264_vulkan @ 0x5640cf9580c0] Task finished with error code: -22 (Invalid argument) [vost#0:0/h264_vulkan @ 0x5640cf9580c0] Terminating thread with return code -22 (Invalid argument) [out#0/mp4 @ 0x5640cfa97e40] 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 elapsed=0:00:00.02 [aac @ 0x5640cfa55100] Qavg: 173.394 Conversion failed!
I think prores (not prores RAW) work exist in ffmpeg.git for now ....
_______________________________________________ Cin mailing list -- [email protected] To unsubscribe send an email to [email protected]
I have the same errors as you. However, I can't understand anything anymore, not only in encoding, but also in decoding.
Den 30.11.2025 03:18, skrev Terje J. Hanssen:
Den 30.11.2025 00:16, skrev Andrew Randrianasulu:
But does it actually work? ;)
I am glad you asked :)
No, sorry - still no success with video transcoding using vulkan so far ......
At least I have not found a ffmpeg code line that works, conversion fails, similary for h264_vulkan and hevc_vulkan:
ffmpeg -hide_banner -hwaccel vulkan -i hdv09_04.m2t -c:v h264_vulkan hdv09_04_h264_vulkan.mp4 .......... Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scale_0' Link 'Parsed_null_0.default' -> 'auto_scale_0.default': src: yuv420p dst: yuv420p [vf#0:0 @ 0x5640cf955040] Error reinitializing filters! [vf#0:0 @ 0x5640cf955040] Task finished with error code: -38 (Function not implemented) [vf#0:0 @ 0x5640cf955040] Terminating thread with return code -38 (Function not implemented) [vost#0:0/h264_vulkan @ 0x5640cf9580c0] [enc:h264_vulkan @ 0x5640cf95b440] Could not open encoder before EOF [vost#0:0/h264_vulkan @ 0x5640cf9580c0] Task finished with error code: -22 (Invalid argument) [vost#0:0/h264_vulkan @ 0x5640cf9580c0] Terminating thread with return code -22 (Invalid argument) [out#0/mp4 @ 0x5640cfa97e40] 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 elapsed=0:00:00.02 [aac @ 0x5640cfa55100] Qavg: 173.394 Conversion failed!
My google-ai friend says: /Input Format and Pixel Format:/ /The conversion failure often points to an incompatibility between the input video's pixel format and what the Vulkan encoder expects or can handle efficiently. Experiment with different input pixel formats (e.g., yuv420p, nv12) using the -pix_fmt option in FFmpeg. Yes , FFmpeg's Vulkan components support the yuv420p pixel format. Specifically, the scale_vulkan filter, used for hardware-accelerated video processing via Vulkan, either defaults to or explicitly accepts yuv420p as an output format. In fact, one report indicates it may not accept other formats like nv12 when used in the format option, suggesting yuv420p is a primary supported format for Vulkan operations within FFmpeg. yuv420p is the most widely supported and compatible pixel format for H.264 video across almost all players and hardware decoders. /Well, I've tried several ffmpeg code lines and -pix_fmt yub420p and nv12, but so far I'm stock with the similar Conversion failures. FFmpeg Vulkan Video Encoding is seemingly yet immature and experimental, and for example not dealt with or updated in (Decoding only) https://trac.ffmpeg.org/wiki/HWAccelIntro#Vulkan Trying to check with ffmpeg, I get the impression that Vulkan only use its own "vulkan" (RGBA?) pixel format and not nv12 or yuv420p ffmpeg -hide_banner -pix_fmts | grep -i vulkan ..H.. vulkan 0 0 0 ffmpeg -hide_banner -h encoder=h264_vulkan | egrep -i 'pix|nv|yuv' Supported pixel formats: vulkan ffmpeg -hide_banner -h encoder=hevc_vulkan | egrep -i 'pix|nv|yuv' Supported pixel formats: vulkan
participants (5)
-
Andrea paz -
Andrew Randrianasulu -
Phyllis Smith -
Terje J. Hanssen -
terjejhanssen@gmail.com