Opened 18 months ago

#11509 new defect

Failed setup for format videotoolbox_vld - Video Decoding (H264 yuv420p)

Reported by: David Franco Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: videotoolbox
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
This bug can be reproduced in both the 5.4 and the latest ffmpeg version.
While trying to decode the video time_cut.mp4 (I transmuxed this and cut it to 5s to prevent copyright issues), the videotoolbox hardware acceleration fails to initialize.

The video specs are:

  • H264
  • 1920x1080
  • yuv420p
  • The video contains some NON-IDR I Frames

My system specs are:

  • Mac Book Pro 2022
  • Apple M2
  • 16GB
  • Sonoma 14.1

I tried this video with VLC and it also produces a "vt session error: 'kVTVideoDecoderMalfunctionErr'" in the logs.
The decoding by CPU works as it should.

I am unaware if this is an issue with the parameters passed to the decoder or a videotoolbox library issue. I apologize if it's the last one.

Video download:
https://drive.google.com/file/d/1IxTyGoVCJ8EQEbyhyZRBKyokZB4ioMBm/view?usp=sharing

How to reproduce:

% ./ffmpeg -hwaccel videotoolbox -i time_cut.mp4 -f null -                    
ffmpeg version 7.1 Copyright (c) 2000-2024 the FFmpeg developers
  built with Apple clang version 13.1.6 (clang-1316.0.21.2.5)
  configuration: --prefix=/Volumes/tempdisk/sw --extra-cflags=-fno-stack-check --arch=arm64 --cc=/usr/bin/clang --enable-gpl --enable-libvmaf --enable-libopenjpeg --enable-libopus --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libvpx --enable-libwebp --enable-libass --enable-libfreetype --enable-fontconfig --enable-libtheora --enable-libvorbis --enable-libsnappy --enable-libaom --enable-libvidstab --enable-libzimg --enable-libsvtav1 --enable-libharfbuzz --enable-libkvazaar --pkg-config-flags=--static --enable-ffplay --enable-postproc --enable-neon --enable-runtime-cpudetect --disable-indev=qtkit --disable-indev=x11grab_xcb
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.100 / 61. 19.100
  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, mov,mp4,m4a,3gp,3g2,mj2, from 'time_cut.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomdby1iso2avc1mp41
    encoder         : Lavf61.7.100
  Duration: 00:00:05.02, start: 0.000000, bitrate: 12240 kb/s
  Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], 12097 kb/s, 25 fps, 25 tbr, 16k tbn (default)
      Metadata:
        handler_name    : VideoHandler
        vendor_id       : [0][0][0][0]
  Stream #0:1[0x2](chi): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, stereo, fltp, 192 kb/s (default)
      Metadata:
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]
      Side data:
        audio service type: main
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> wrapped_avframe (native))
  Stream #0:1 -> #0:1 (ac3 (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
[h264 @ 0x159606140] Failed setup for format videotoolbox_vld: hwaccel initialisation returned error.
Output #0, null, to 'pipe:':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomdby1iso2avc1mp41
    encoder         : Lavf61.7.100
  Stream #0:0(und): Video: wrapped_avframe, yuv420p(tv, top coded first (swapped)), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn (default)
      Metadata:
        handler_name    : VideoHandler
        vendor_id       : [0][0][0][0]
        encoder         : Lavc61.19.100 wrapped_avframe
  Stream #0:1(chi): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s (default)
      Metadata:
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]
        encoder         : Lavc61.19.100 pcm_s16le
      Side data:
        audio service type: main

Change History (0)

Note: See TracTickets for help on using tickets.