[Webkit-unassigned] [Bug 226326] New: [GTK][WPE] Add support to render video frames with non RGBA/BGRA/ARGB formats through cairo

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu May 27 05:31:02 PDT 2021


https://bugs.webkit.org/show_bug.cgi?id=226326

            Bug ID: 226326
           Summary: [GTK][WPE] Add support to render video frames with non
                    RGBA/BGRA/ARGB formats through cairo
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKitGTK
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: magomez at igalia.com
                CC: bugs-noreply at webkitgtk.org

There are 2 situations where we need to render video frames with cairo:
- AC disabled: in this case we use VideoSinkGStreamer, which accepts only BGRA/BGRx (or ARGB/xRGB on big endian). Inside ImageGStreamerCairo we create a cairo surface from that data, and then paint that surface into the appropriate context. No issues here.
- Render video frames into a non accelerated canvas: if we are in non AC mode, this is similar to the previous case. But if we are in AC mode, then we're using GLVideoSinkGStreamer, which accepts several formats besides RGBA and friends (I420, Y444, YV12, Y41B, Y42B, NV12, NV21 and VUYA). This means that inside ImageGStreamerCairo we should be converting those formats into RGBA so cairo can render then, and this step is missing.


At the current revision (r278153) drawing video frames into a non accelerated is not supported at all (MediaPlayerPrivateGStreamer::nativeImageForCurrentTime returns nullptr). I guess the support was removed because of these new formats. Also, this is related to need to rotate the video frame according to the orientation flags and removing the dependency of videoflip (which is being handled here https://bugs.webkit.org/show_bug.cgi?id=225456).

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210527/80e342c2/attachment.htm>


More information about the webkit-unassigned mailing list