On Wed, Dec 3, 2025 at 1:07 AM Andrew Randrianasulu
<[email protected]> wrote:
>
> https://www.videezy.com/free-video/prores-4444
>
> well, some 10 sec video can weight 547 Mb!
>
> Now, trying THIS instead of just 422 I see "device lost" on my end too!

ah, switching encoder to ffv1_vulkan fixes this (so it was just prores
vulkan encoder trying to push 12 bit for all channels at 4k that died
..I even tried  scale it back to 640x360 and encoding started but
after just few frames also died ..so for 4444 prores encoding this
very experimental Vulkan encoder may not work well)

Apparently ffv1 can hold data with up to 12 bits per channel!

bash-5.1$ ~/bin/ffmpeg711 -i /dev/shm/4k.mov -frames 1 OUT.png
ffmpeg version 7.1.1 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
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.100 / 61.  7.100
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  4.100 / 10.  4.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, matroska,webm, from '/dev/shm/4k.mov':
  Metadata:
    COMPATIBLE_BRANDS: qt
    MAJOR_BRAND     : qt
    MINOR_VERSION   : 537199360
    ENCODER         : Lavf62.6.103
  Duration: 00:00:10.00, start: 0.000000, bitrate: 494458 kb/s
  Stream #0:0(eng): Video: ffv1, yuva444p12le(tv, bt709, progressive),
3840x2160, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn (default)
      Metadata:
        ENCODER         : Lavc62.21.100 ffv1_vulkan
        HANDLER_NAME    : Apple Video Media Handler
        VENDOR_ID       : appl
        TIMECODE        : 00:00:00:00
        DURATION        : 00:00:10.000000000
Stream mapping:
  Stream #0:0 -> #0:0 (ffv1 (native) -> png (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'OUT.png':
  Metadata:
    COMPATIBLE_BRANDS: qt
    MAJOR_BRAND     : qt
    MINOR_VERSION   : 537199360
    encoder         : Lavf61.7.100
  Stream #0:0(eng): Video: png, rgba64be(pc, gbr/bt709/bt709,
progressive), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 30 fps,
30 tbn (default)
      Metadata:
        DURATION        : 00:00:10.000000000
        HANDLER_NAME    : Apple Video Media Handler
        VENDOR_ID       : appl
        TIMECODE        : 00:00:00:00
        encoder         : Lavc61.19.101 png
[image2 @ 0xb826140] The specified filename 'OUT.png' does not contain
an image sequence pattern or a pattern is invalid.
[image2 @ 0xb826140] Use a pattern such as %03d for an image sequence
or use the -update option (with -frames:v 1 if needed) to write a
single image.
[out#0/image2 @ 0xb826080] video:3692KiB audio:0KiB subtitle:0KiB
other streams:0KiB global headers:0KiB muxing overhead: unknown
frame=    1 fps=0.3 q=-0.0 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=0.0115x

resulting png looks ok in old old gqview ...

so i guess Vulkan decoder in ffmpeg.git is ok even for 4444 12bit
(real?) prores - nice


>
> ./ffmpeg  -init_hw_device vulkan=vulkan -hwaccel vulkan
> -filter_hw_device vulkan -hwaccel_output_format vulkan -i
> ~/200818_LoopAlphaThankYouGoldText.mov   -c:v prores_ks_vulkan -f
> matroska  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
> '/home/guest/200818_LoopAlphaThankYouGoldText.mov':
>   Metadata:
>     major_brand     : qt
>     minor_version   : 537199360
>     compatible_brands: qt
>     creation_time   : 2020-08-24T17:07:38.000000Z
>   Duration: 00:00:10.00, start: 0.000000, bitrate: 459164 kb/s
>   Stream #0:0[0x1](eng): Video: prores (4444) (ap4h / 0x68347061),
> yuva444p12le(tv, bt709, progressive), 3840x2160, 458325 kb/s, SAR 1:1
> DAR 16:9, 30 fps, 30 tbr, 30 tbn (default)
>     Metadata:
>       creation_time   : 2020-08-24T17:07:38.000000Z
>       handler_name    : Apple Video Media Handler
>       vendor_id       : appl
>       encoder         : Apple ProRes 4444
>       timecode        : 00:00:00:00
>   Stream #0:1[0x2](eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
>     Metadata:
>       creation_time   : 2020-08-24T17:07:38.000000Z
>       handler_name    : Time Code Media Handler
>       timecode        : 00:00:00:00
> 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 @ 0xbd54600] Autoselected 4:4:4:4 profile because of
> the used input colorspace. It can be overridden through -profile
> option.
> Output #0, matroska, to '4k.mov':
>   Metadata:
>     major_brand     : qt
>     minor_version   : 537199360
>     compatible_brands: qt
>     encoder         : Lavf62.6.103
>   Stream #0:0(eng): Video: prores (4444) (ap4h / 0x68347061),
> vulkan(tv, bt709, progressive), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31,
> 200 kb/s, 30 fps, 1k tbn (default)
>     Metadata:
>       encoder         : Lavc62.21.100 prores_ks_vulkan
>       creation_time   : 2020-08-24T17:07:38.000000Z
>       handler_name    : Apple Video Media Handler
>       vendor_id       : appl
>       timecode        : 00:00:00:00
> radv/amdgpu: The CS has been cancelled because the context is lost.
> This context is guilty of a soft recovery.
> [prores_ks_vulkan @ 0xbd54600] [vk @ 0xbd6d240] Unable to submit
> command buffer: VK_ERROR_DEVICE_LOST
> [vost#0:0/prores_ks_vulkan @ 0xbd65bc0] [enc:prores_ks_vulkan @
> 0xbd54580] Error submitting video frame to the encoder
> [vost#0:0/prores_ks_vulkan @ 0xbd65bc0] [enc:prores_ks_vulkan @
> 0xbd54580] Error encoding a frame: Generic error in an external
> library
> [vost#0:0/prores_ks_vulkan @ 0xbd65bc0] Task finished with error code:
> -542398533 (Generic error in an external library)
> [vost#0:0/prores_ks_vulkan @ 0xbd65bc0] Terminating thread with return
> code -542398533 (Generic error in an external library)
> [prores @ 0xbd57700] [vk @ 0xe4600dc0] Unable to submit command
> buffer: VK_ERROR_DEVICE_LOST
> [out#0/matroska @ 0xbd63e40] video:0KiB audio:0KiB subtitle:0KiB other
> streams:0KiB global headers:0KiB muxing overhead: unknown
> [out#0/matroska @ 0xbd63e40] Output file is empty, nothing was
> encoded(check -ss / -t / -frames parameters if used)
> frame=    0 fps=0.0 q=0.0 Lsize=       1KiB time=N/A bitrate=N/A
> speed=N/A elapsed=0:01:01.94
> Conversion failed!
>
> I have 4 Gb vram, but 32-bit system.
>
> Testing just decoding with
>
> ./ffmpeg  -init_hw_device vulkan=vulkan -hwaccel none
> -filter_hw_device vulkan -hwaccel_output_format vulkan -i
> ~/200818_LoopAlphaThankYouGoldText.mov   -f null /dev/null -benchmark
>
> gives me
>
> frame=  300 fps= 15 q=-0.0 Lsize=N/A time=00:00:10.00 bitrate=N/A
> speed=0.502x elapsed=0:00:19.91
> bench: utime=72.167s stime=0.745s rtime=19.911s
> bench: maxrss=693980KiB
>
> ./ffmpeg  -init_hw_device vulkan=vulkan -hwaccel vulkan
> -filter_hw_device vulkan -hwaccel_output_format vulkan -i
> ~/200818_LoopAlphaThankYouGoldText.mov   -f null /dev/null -benchmark
>
> frame=  300 fps= 69 q=-0.0 Lsize=N/A time=00:00:10.00 bitrate=N/A
> speed=2.31x elapsed=0:00:04.32
> bench: utime=0.771s stime=1.278s rtime=4.327s
> bench: maxrss=146296KiB
>
> So it works .... I think? At least when using ffmpeg from git ...
_______________________________________________
Cin mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to