mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed reduced bpp support for DVB subtitles
This commit is contained in:
parent
c8b0ee3289
commit
6504e55b76
@ -1139,6 +1139,7 @@ Rolf Ahrenberg <rahrenbe@cc.hut.fi>
|
||||
texts of its own
|
||||
for suggesting to change the Green button in the "Edit timer" menu from "Once"
|
||||
to "Single"
|
||||
for fixing reduced bpp support for DVB subtitles
|
||||
|
||||
Ralf Klueber <ralf.klueber@vodafone.com>
|
||||
for reporting a bug in cutting a recording if there is only a single editing mark
|
||||
|
1
HISTORY
1
HISTORY
@ -7046,3 +7046,4 @@ Video Disk Recorder Revision History
|
||||
- Moved setting LC_NUMERIC further up to make sure any floating point numbers use a
|
||||
decimal point (suggested by Tobias Grimm).
|
||||
- Added missing channel locking to cEIT.
|
||||
- Fixed reduced bpp support for DVB subtitles (thanks to Rolf Ahrenberg).
|
||||
|
@ -7,7 +7,7 @@
|
||||
* Original author: Marco Schluessler <marco@lordzodiac.de>
|
||||
* With some input from the "subtitle plugin" by Pekka Virtanen <pekka.virtanen@sci.fi>
|
||||
*
|
||||
* $Id: dvbsubtitle.c 2.30 2012/03/13 15:37:03 kls Exp $
|
||||
* $Id: dvbsubtitle.c 2.31 2012/03/16 11:56:56 kls Exp $
|
||||
*/
|
||||
|
||||
|
||||
@ -1281,9 +1281,16 @@ void cDvbSubtitleConverter::FinishPage(cDvbSubtitlePage *Page)
|
||||
else
|
||||
return; // unable to draw bitmaps
|
||||
}
|
||||
if (Reduced) {
|
||||
for (int i = 0; i < NumAreas; i++) {
|
||||
cSubtitleRegion *sr = Page->regions.Get(i);
|
||||
cDvbSubtitleBitmaps *Bitmaps = new cDvbSubtitleBitmaps(Page->Pts(), Page->Timeout(), Areas, NumAreas, osdFactorX, osdFactorY);
|
||||
bitmaps->Add(Bitmaps);
|
||||
for (int i = 0; i < NumAreas; i++) {
|
||||
cSubtitleRegion *sr = Page->regions.Get(i);
|
||||
cSubtitleClut *clut = Page->GetClutById(sr->ClutId());
|
||||
if (!clut)
|
||||
continue;
|
||||
sr->Replace(*clut->GetPalette(sr->Bpp()));
|
||||
sr->UpdateTextData(clut);
|
||||
if (Reduced) {
|
||||
if (sr->Bpp() != Areas[i].bpp) {
|
||||
if (sr->Level() <= Areas[i].bpp) {
|
||||
//TODO this is untested - didn't have any such subtitle stream
|
||||
@ -1299,15 +1306,6 @@ void cDvbSubtitleConverter::FinishPage(cDvbSubtitlePage *Page)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
cDvbSubtitleBitmaps *Bitmaps = new cDvbSubtitleBitmaps(Page->Pts(), Page->Timeout(), Areas, NumAreas, osdFactorX, osdFactorY);
|
||||
bitmaps->Add(Bitmaps);
|
||||
for (cSubtitleRegion *sr = Page->regions.First(); sr; sr = Page->regions.Next(sr)) {
|
||||
cSubtitleClut *clut = Page->GetClutById(sr->ClutId());
|
||||
if (!clut)
|
||||
continue;
|
||||
sr->Replace(*clut->GetPalette(sr->Bpp()));
|
||||
sr->UpdateTextData(clut);
|
||||
int posX = sr->HorizontalAddress();
|
||||
int posY = sr->VerticalAddress();
|
||||
if (sr->Width() > 0 && sr->Height() > 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user