[Bug 739695] New: assrender poorly handles transparency

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Nov 5 15:21:38 PST 2014


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

           Summary: assrender poorly handles transparency
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: fraxinas at opendreambox.org
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=290061)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=290061)
this is how the ass images look like (BGRA) before blending

i'm trying to render ass subtitles on top of "empty" frames so that i can blit
them afterwards, expecting that the pixels that actually have subtitles
rendered become visible, and the rest ("the background") stays transparent.

currently, the output frames keep the input alpha everywhere in the image, so i
can either blit nothing, or mask my video with the background color.

the problem may be that the assrender blitting function tries to create a
premultiplied bitmap. i did some funny ascii art output though ^_^ 
it looks like in case of a fully transparent input pixel (alpha = 0x00), it
doesn't do premultiplication but instead keeps the alpha.
that's visible in the log
(i'm simply doing a 
printf("%02x%02x%02x%02x ",dst[0],dst[1],dst[2],dst[3]);
in the blit function)

however, the transparency byte of the ass images seems to get overwritten
somewhere later on during the composition process, maybe the
gst_video_overlay_composition_blend operation

-- 
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