чт, 18 дек. 2025 г., 23:20 Phyllis Smith <[email protected]>:

> I would like to check Andrew's 3 attached patches in as: ffmpeg-8.0.V1 ...
> V2 ... V3 so that they do not get lost.  I built 3 different distros with
> them in WITHOUT any vulkan stuff installed just to make sure no impact to
> normalcy.  What do you think?
>

I think this encoder still under development (as in - version I found
*will* hang GPU if used for prores with alpha channel encoding ) and it
probably will not apply itself clearly  to our 8.0? Or did it?

Place to watch now seems to be

https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20477

but due to some long-running compile job (building packages for
NetBSD/sparc via qemu) I am  a bit afraid to test it right now ;)





> On Tue, Dec 2, 2025 at 6:34 PM Andrew Randrianasulu via Cin <
> [email protected]> wrote:
>
>> On Mon, Dec 1, 2025 at 8:09 PM Andrew Randrianasulu
>> <[email protected]> wrote:
>> >
>> > Probably at patchwork also, but GSoC page links to this
>> >
>> > https://github.com/raphaelthegreat/FFmpeg/tree/prores-vk-encode
>> >
>> > page itself:
>> >
>> > https://summerofcode.withgoogle.com/archive/2025/projects/PHTgRqGg
>> >
>> > so I pulled tree into separate folder, switched to branch, extracted 3
>> last commits, git am them to ffmpeg.git (there was host copy vulkan fix in
>> meantime)
>> >
>> > And ....
>> >
>> > it seems to work.
>> >
>> > At least for HQ profile ...
>> >
>> > at 4.5 fps, but this is faster than ffv1 (but not lossless, obviously).
>> >
>> > ./ffmpeg  -init_hw_device vulkan=vulkan -hwaccel vulkan
>> -filter_hw_device vulkan -i /dev/shm/Nature072-A006C0035_230328_4U1Q.mov
>> -vf libplacebo  -c:v prores_ks_vulkan -f matroska -noautoscale -pix_fmt
>> vulkan  4k.mov
>> > ffmpeg version N-120782-gc12bca52f8 Copyright (c) 2000-2025 the FFmpeg
>> developers
>> >   built with gcc 11.2.0 (GCC)
>> >   configuration: --enable-opencl --disable-debug --enable-libx265
>> --enable-libx264 --enable-gpl --enable-libplacebo --enable-vulkan
>> --enable-libshaderc --enable-libzimg --enable-libaom --enable-libdav1d
>> --enable-libsoxr --enable-libfontconfig --enable-libfreetype
>> --enable-libfribidi --enable-gnutls --enable-libass --enable-libbluray
>> --enable-libcdio --enable-frei0r --enable-libgsm --enable-openal
>> --enable-libopus --enable-librtmp --enable-libsnappy --enable-libspeex
>> --enable-libssh --enable-libtheora --enable-libtwolame --enable-libv4l2
>> --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp
>> >   libavutil      60. 19.101 / 60. 19.101
>> >   libavcodec     62. 21.100 / 62. 21.100
>> >   libavformat    62.  6.103 / 62.  6.103
>> >   libavdevice    62.  2.100 / 62.  2.100
>> >   libavfilter    11. 10.101 / 11. 10.101
>> >   libswscale      9.  3.100 /  9.  3.100
>> >   libswresample   6.  2.100 /  6.  2.100
>> > Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
>> '/dev/shm/Nature072-A006C0035_230328_4U1Q.mov':
>> >   Metadata:
>> >     major_brand     : qt
>> >     minor_version   : 512
>> >     compatible_brands: qt
>> >     creation_time   : 2023-04-07T18:41:32.000000Z
>> >     encoder         : Blackmagic Design DaVinci Resolve Studio
>> >   Duration: 00:00:08.00, start: 0.000000, bitrate: 1787424 kb/s
>> >   Stream #0:0[0x1]: Video: prores (HQ) (apch / 0x68637061),
>> yuv422p10le(tv, bt709, progressive), 3840x2160, 1787418 kb/s, SAR 1:1 DAR
>> 16:9, 60 fps, 60 tbr, 15360 tbn (default)
>> >     Metadata:
>> >       creation_time   : 2023-04-07T18:41:32.000000Z
>> >       handler_name    : VideoHandler
>> >       vendor_id       : appl
>> >       encoder         : Apple ProRes 422 HQ
>> >       timecode        : 21:22:52:12
>> >   Stream #0:1[0x2](eng): Data: none (tmcd / 0x64636D74), 0 kb/s
>> >     Metadata:
>> >       creation_time   : 2023-04-07T18:41:32.000000Z
>> >       handler_name    : TimeCodeHandler
>> >       timecode        : 21:22:52:12
>> > File '4k.mov' already exists. Overwrite? [y/N] y
>> > Stream mapping:
>> >   Stream #0:0 -> #0:0 (prores (native) -> prores (prores_ks_vulkan))
>> > Press [q] to stop, [?] for help
>> > [prores_ks_vulkan @ 0xb299440] Autoselected HQ profile to keep best
>> quality. It can be overridden through -profile option.
>> > Output #0, matroska, to '4k.mov':
>> >   Metadata:
>> >     major_brand     : qt
>> >     minor_version   : 512
>> >     compatible_brands: qt
>> >     encoder         : Lavf62.6.103
>> >   Stream #0:0: Video: prores (HQ) (apch / 0x68637061), vulkan(tv,
>> bt709, progressive), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 60
>> fps, 1k tbn (default)
>> >     Metadata:
>> >       encoder         : Lavc62.21.100 prores_ks_vulkan
>> >       creation_time   : 2023-04-07T18:41:32.000000Z
>> >       handler_name    : VideoHandler
>> >       vendor_id       : appl
>> >       timecode        : 21:22:52:12
>> > [out#0/matroska @ 0xb29ddc0] video:1770722KiB audio:0KiB subtitle:0KiB
>> other streams:0KiB global headers:0KiB muxing overhead: 0.001071%
>> > frame=  480 fps=4.5 q=-0.0 Lsize= 1770741KiB time=00:00:08.00
>> bitrate=1813239.1kbits/s speed=0.0755x elapsed=0:01:45.90
>> >
>> >
>> > testing:
>> >
>> > bash-5.1$ mplayer 4k.mov
>> > MPlayer SVN-r38660-11.2.0 (C) 2000-2024 MPlayer Team
>> > 227 audio & 468 video codecs
>> > do_connect: could not connect to socket
>> > connect: No such file or directory
>> > Failed to open LIRC support. You will not be able to use your remote
>> control.
>> >
>> > Playing 4k.mov.
>> > libavformat version 61.6.100 (internal)
>> > libavformat file format detected.
>> > [lavf] stream 0: video (prores), -vid 0
>> > VIDEO:  [apch]  3840x2160  0bpp  60.000 fps    0.0 kbps ( 0.0 kbyte/s)
>> >
>> ==========================================================================
>> > Opening video decoder: [qtvideo] Quicktime Video decoder
>> > sh->ImageDesc not set, try -demuxer mov if this fails.
>> > QuickTime6.3 DLLs found
>> > QuickTime.qts patched!!! old entry=0x6693c3e0
>> > theQuickTimeDispatcher catched -> 0x6693c3e0
>> > WARNING! Invalid Ptr handle!
>> > theQuickTimeDispatcher catched -> 0x6693c3e0
>> > theQuickTimeDispatcher catched -> 0x6693c3e0
>> > Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
>> > VO: [vdpau] 3840x2160 => 3840x2160 Packed YUY2
>> > DecompressSequenceBegin result=-8961
>> > VDecoder init failed :(
>> > Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
>> > libavcodec version 61.17.100 (internal)
>> > Selected video codec: [ffprores] vfm: ffmpeg (FFmpeg Apple ProRes)
>> >
>> ==========================================================================
>> > Clip info:
>> >  COMPATIBLE_BRANDS: qt
>> >  MAJOR_BRAND: qt
>> >  MINOR_VERSION: 512
>> >  ENCODER: Lavf62.6.103
>> > Load subtitles in ./
>> > Audio: no sound
>> > Starting playback...
>> > Could not find matching colorspace - retrying with -vf scale...
>> > Opening video filter: [scale]
>> > Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
>> > [swscaler @ 0x57a10180]bicubic scaler, from yuv422p10le to yuv420p
>> using MMXEXT
>> > VO: [vdpau] 3840x2160 => 3840x2160 Planar YV12
>> > [VD_FFMPEG] DRI failure.
>> > Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
>> > VO: [vdpau] 3840x2160 => 3840x2160 Planar YV12
>> > V:   0.0   0/  0 ??% ??% ??,?% 0 0
>> > [VD_FFMPEG] DRI failure.
>> > V:   0.3   0/  0 ??% ??% ??,?% 0 0
>> > [ASPECT] Warning: No suitable new res found!
>> > [ASPECT] Warning: No suitable new res found!
>> > V:   1.9   0/  0 47% 460%  0.0% 0 0
>> >
>> > Exiting... (Quit)
>> >
>> >
>> >
>> > I wonder if Terje can replicate those results? Do not forgot to check
>> if libplacebo was compiled in for your ffmpeg version ...
>>
>> It works with combination of two ffmpeg lines:
>>
>>
>> ./ffmpeg  -init_hw_device vulkan=vulkan -hwaccel vulkan
>> -filter_hw_device vulkan -hwaccel_output_format vulkan -i
>> /dev/shm/Nature072-A006C0035_230328_4U1Q.mov   -c:v prores_ks_vulkan
>> -f matroska -noautoscale -pix_fmt vulkan  4k.mov
>>
>> ffmpeg version N-120782-gc12bca52f8 Copyright (c) 2000-2025 the FFmpeg
>> developers
>>   built with gcc 11.2.0 (GCC)
>>   configuration: --enable-opencl --disable-debug --enable-libx265
>> --enable-libx264 --enable-gpl --enable-libplacebo --enable-vulkan
>> --enable-libshaderc --enable-libzimg --enable-libaom --enable-libdav1d
>> --enable-libsoxr --enable-libfontconfig --enable-libfreetype
>> --enable-libfribidi --enable-gnutls --enable-libass --enable-libbluray
>> --enable-libcdio --enable-frei0r --enable-libgsm --enable-openal
>> --enable-libopus --enable-librtmp --enable-libsnappy --enable-libspeex
>> --enable-libssh --enable-libtheora --enable-libtwolame
>> --enable-libv4l2 --enable-libvidstab --enable-libvorbis
>> --enable-libvpx --enable-libwebp
>>   libavutil      60. 19.101 / 60. 19.101
>>   libavcodec     62. 21.100 / 62. 21.100
>>   libavformat    62.  6.103 / 62.  6.103
>>   libavdevice    62.  2.100 / 62.  2.100
>>   libavfilter    11. 10.101 / 11. 10.101
>>   libswscale      9.  3.100 /  9.  3.100
>>   libswresample   6.  2.100 /  6.  2.100
>> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
>> '/dev/shm/Nature072-A006C0035_230328_4U1Q.mov':
>>   Metadata:
>>     major_brand     : qt
>>     minor_version   : 512
>>     compatible_brands: qt
>>     creation_time   : 2023-04-07T18:41:32.000000Z
>>     encoder         : Blackmagic Design DaVinci Resolve Studio
>>   Duration: 00:00:08.00, start: 0.000000, bitrate: 1787424 kb/s
>>   Stream #0:0[0x1]: Video: prores (HQ) (apch / 0x68637061),
>> yuv422p10le(tv, bt709, progressive), 3840x2160, 1787418 kb/s, SAR 1:1
>> DAR 16:9, 60 fps, 60 tbr, 15360 tbn (default)
>>     Metadata:
>>       creation_time   : 2023-04-07T18:41:32.000000Z
>>       handler_name    : VideoHandler
>>       vendor_id       : appl
>>       encoder         : Apple ProRes 422 HQ
>>       timecode        : 21:22:52:12
>>   Stream #0:1[0x2](eng): Data: none (tmcd / 0x64636D74), 0 kb/s
>>     Metadata:
>>       creation_time   : 2023-04-07T18:41:32.000000Z
>>       handler_name    : TimeCodeHandler
>>       timecode        : 21:22:52:12
>> Stream mapping:
>>   Stream #0:0 -> #0:0 (prores (native) -> prores (prores_ks_vulkan))
>> Press [q] to stop, [?] for help
>> [prores_ks_vulkan @ 0xc9c7400] Autoselected HQ profile to keep best
>> quality. It can be overridden through -profile option.
>> Output #0, matroska, to '4k.mov':
>>   Metadata:
>>     major_brand     : qt
>>     minor_version   : 512
>>     compatible_brands: qt
>>     encoder         : Lavf62.6.103
>>   Stream #0:0: Video: prores (HQ) (apch / 0x68637061), vulkan(tv,
>> bt709, progressive), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s,
>> 60 fps, 1k tbn (default)
>>     Metadata:
>>       encoder         : Lavc62.21.100 prores_ks_vulkan
>>       creation_time   : 2023-04-07T18:41:32.000000Z
>>       handler_name    : VideoHandler
>>       vendor_id       : appl
>>       timecode        : 21:22:52:12
>> [out#0/matroska @ 0xc9cbb80] video:1744362KiB audio:0KiB subtitle:0KiB
>> other streams:0KiB global headers:0KiB muxing overhead: 0.001087%
>> frame=  480 fps=5.4 q=-0.0 Lsize= 1744381KiB time=00:00:08.00
>> bitrate=1786246.0kbits/s speed=0.0907x elapsed=0:01:28.16
>>
>> testing:
>>
>> bash-5.1$ mpv 4k.mov
>> Video --vid=1  (*) (prores 3840x2160 60 fps)
>> [ffmpeg/video] prores: Unknown prores profile 0
>> [ffmpeg/video] prores: Unknown prores profile 0
>> [ffmpeg/video] prores: Unknown prores profile 0
>> [ffmpeg/video] prores: Unknown prores profile 0
>> [ffmpeg/video] prores: Unknown prores profile 0
>> VO: [gpu] 3840x2160 yuv422p10
>> V: 00:00:07.967 / 00:00:08.000 (100%) Dropped: 148
>>
>> so, a bit faster than with libplacebo.
>>
>>
>> Patches (git am) for ffmpeg git from
>>
>> git://git.videolan.org/ffmpeg.git
>>
>> at commit
>>
>> commit 413346bd06c33226254dacc829f128a6b6c337d7 (origin/master,
>> origin/HEAD)
>>
>> attached ....
>> _______________________________________________
>> Cin mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
>>
>
_______________________________________________
Cin mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to