diff -Naur vdr-1.5.10/dvbsubtitle.c vdr-1.5.10-new/dvbsubtitle.c --- vdr-1.5.10/dvbsubtitle.c 2007-10-14 17:02:35.000000000 +0300 +++ vdr-1.5.10-new/dvbsubtitle.c 2007-11-04 13:17:19.000000000 +0200 @@ -982,13 +982,13 @@ return; tArea *Areas = Page->GetAreas(); int NumAreas = Page->regions.Count(); - int Bpp = 8; + int Bpp = 4; bool Reduced = false; - while (osd->CanHandleAreas(Areas, NumAreas) != oeOk) { +// while (osd->CanHandleAreas(Areas, NumAreas) != oeOk) { int HalfBpp = Bpp / 2; if (HalfBpp >= 2) { for (int i = 0; i < NumAreas; i++) { - if (Areas[i].bpp >= Bpp) { + while (Areas[i].bpp >= Bpp) { Areas[i].bpp = HalfBpp; Reduced = true; } @@ -997,7 +997,7 @@ } else return; // unable to draw bitmaps - } +// } if (Reduced) { for (int i = 0; i < NumAreas; i++) { cSubtitleRegion *sr = Page->regions.Get(i);