--- dvbsubtitle.c.orig 2008-03-06 21:38:45.698657000 +0100 +++ dvbsubtitle.c 2008-03-06 21:41:58.308657000 +0100 @@ -983,8 +983,15 @@ return; tArea *Areas = Page->GetAreas(); int NumAreas = Page->regions.Count(); - int Bpp = 8; + //int Bpp = 8; bool Reduced = false; + for (int i = 0; i < NumAreas; i++) { + if (Areas[i].bpp > 2) { + Areas[i].bpp = 2; + Reduced = true; + } + } + /* while (osd->CanHandleAreas(Areas, NumAreas) != oeOk) { int HalfBpp = Bpp / 2; if (HalfBpp >= 2) { @@ -999,6 +1006,7 @@ else return; // unable to draw bitmaps } + */ if (Reduced) { for (int i = 0; i < NumAreas; i++) { cSubtitleRegion *sr = Page->regions.Get(i);