[vdr] Trouble with softdevice -vo dfb:mgatv OSD with vdr 2.0.4

VDR User user.vdr at gmail.com
Mon Nov 4 02:25:36 CET 2013


Have you tried softhddevice for output?
http://projects.vdr-developer.org/git/vdr-plugin-softhddevice.git/

On Sun, Nov 3, 2013 at 2:42 PM, Marko Mäkelä <marko.makela at iki.fi> wrote:
> On Sun, Nov 03, 2013 at 10:01:54PM +0200, Marko Mäkelä wrote:
>>
>> On Fri, Nov 01, 2013 at 11:19:48PM +0200, Marko Mäkelä wrote:
>>>
>>> If I change the assignment to isTrueColor=false, the square goes away and
>>> I will get the familiar gray rectangles on the screen (from the "else" block
>>> that I omitted above).
>>
>>
>> I did some further studying. The truecolor OSD was implemented early 2011.
>> As far as I understand, the softdevice plugin is converting palette-based
>> bitmaps into an ARGB layer. There is a comment at the end of the definition
>> of class cOsd in osd.h that shows how the conversion should be done.
>>
>> It looks like I should simply follow this example, possibly implementing
>> some kind of threshold mapping on the Alpha channel in case the Matrox does
>> not implement 8-bit translucency but just a 1-bit transparency flag. So, I
>> will try to remove the palette mapping from SoftOsd.c and replace the
>> GetBitmap() call with the RenderPixmaps() loop.
>
>
> I figured this out for the most part. The pixmap gets first converted to an
> ARGB buffer cSoftOsd::OSD_Bitmap in FlushPixmaps() and DrawConvertPixmap().
> From OSD_Bitmap it gets converted to the screen memory. I did not change the
> latter conversion.
>
> Maybe I did something wrong regarding DirtyDrawPort and DirtyViewport,
> because I got occasional crashes when activating the OSD. When using a
> full-screen OSD (filling the entire 1280×1024 panel) the bottom 4 or so
> lines were never erased.
>
> I did not get to see DVB subtitles yet, either due to them not being present
> in the live sendings at the moment I tested, or due to misconfiguration. I
> guess that VDR 2.0 would allow the subtitles to be alpha-blended with the
> OSD layer.
>
> My patch against softdevice-cvs is attached. I compiled it with the
> following:
>
> vdr 2.0.4
> ffmpeg 0.5.13
> DirectFB 1.0.1
> DFB++ 1.0.0
>
> Best regards,
>
>         Marko
>
> _______________________________________________
> vdr mailing list
> vdr at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>



More information about the vdr mailing list