Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-108403

FFmpeg backend doesn't work as expected

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • P2: Important
    • None
    • 6.5
    • Multimedia
    • Windows 11 22H2
      RTX 3070 w/ driver v526.86
      Ryzen 5 3600
    • Windows
    • 1e8653062 (dev), 254836ec8 (6.5), 4a3df7223 (6.4), 0b8ce3cca (dev), a73e7b8ee (6.5), f0c75fafa (dev), ab46759ee (6.6), 1f01fdd6b (6.5)

    Description

      I'm using last dev Qt version installed on a Windows 11 22H2 platform from online installer and forcing FFmpeg with QT_MEDIA_BACKEND env.

      I made a simple test program built in MSVC to gather frames and show them in a QLabel to test alpha channel. 

      All provided files can be opened without any problem with FFmpeg v5.1.2-LGPL Windows build.

      This is HW decoding frameworks printed by debug and encode/decode supported file format:

      Available HW decoding frameworks:
           dxva2
           d3d11va
      ENCODE
               QList(QMediaFormat::WMV, QMediaFormat::Matroska, QMediaFormat::MPEG4, QMediaFormat::Ogg, QMediaFormat::FLAC, QMediaFormat::AAC, QMediaFormat::QuickTime, QMediaFormat::Wave, QMediaFormat::WebM, QMediaFormat::Mpeg4Audio, QMediaFormat::WMA, QMediaFormat::AVI)
      
      DECODE
               QList(QMediaFormat::WMV, QMediaFormat::Matroska, QMediaFormat::MPEG4, QMediaFormat::Ogg, QMediaFormat::FLAC, QMediaFormat::AAC, QMediaFormat::QuickTime, QMediaFormat::Wave, QMediaFormat::WebM, QMediaFormat::Mpeg4Audio, QMediaFormat::WMA, QMediaFormat::AVI)

      What I tested are the following:

       

      File Ext FFmpeg PixelFormat QVideoFrame PixelFormat Test
      MOV argb ARGB8888 Frame with alpha but has some artifact near edges.
      WEBM yuv420p (vp9) NV12 FFmpeg uses vp9 instead of libvpx-vp9 to load alpha channel (you can test it on chrome).
      Frames are shown without alpha and print error: "failed to get textures for frame true" in debug
      GIF bgra BGRA8888 Frames are correctly shown
      PNG rgba - Unable to find a codec to open PNG. It doesn't open the media
      MP4 yuv420p N12 Frames are correctly shown but print error: "failed to get textures for frame true" in debug
      JPG yuvj444p -  Unable to find a codec to open JPG. It doesn't open the media
      WEBP argb ARGB8888 Frame with alpha but has big artifacts near edges
      AVI bgra BGRA8888 It loads a frame since it print out PixelFormat but after that app will crash without printing an error

       

      I didn't tested FFmpeg's filters since I can't find an API fori it

       

      Attachments

        1. multimedia_ffmpeg.rar
          2.03 MB
          Andrea Tessitore
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            artemiy Artem Dyomin
            theenigmist Andrea Tessitore
            Votes:
            2 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews