[Bug 735391] New: mpeg2dec: fix decoding into hardware-mapped buffers

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Aug 25 08:35:19 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=735391
  GStreamer | gst-plugins-ugly | git

           Summary: mpeg2dec: fix decoding into hardware-mapped buffers
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-ugly
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: gb.devel at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Make sure to commit decoded contents into hardware mapped buffers. In some
situations, and for performance reasons actually, we might not be able to
directly write into buffers backed by 3rdparty hardware. So, this means that we
need to maintain some temporary surface/buffers and those are what are being
exposed through GstVideoMeta info. Then, internally, the implementation may
decide to efficiently convert that into a native format instead.

More precisely, VA-API exposes a vaDeriveImage() API but it might not always be
efficient to directly expose GPU memory buffers. So, a temporary surface
suitable for CPU interop is being exposed instead. This same happens for VDPAU
where there is no direct rendering API, so a temporary image is being used and
exposed.

In practice, we just need to carefully maintain map/unmap chains. On map, a
clean writable memory buffer is being exposed. On unmap, the contents written
by the SW decoder is to be committed. Then, if the frame is to be used again
(as reference for example), then it can be mapped again, but with read-only
flags this time.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list