diff options
-rw-r--r-- | CONTRIBUTORS | 1 | ||||
-rw-r--r-- | HISTORY | 1 | ||||
-rw-r--r-- | dvbspu.c | 7 | ||||
-rw-r--r-- | dvbspu.h | 4 |
4 files changed, 9 insertions, 4 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index f60678d9..a9875cd5 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2477,6 +2477,7 @@ Johann Friedrichs <johann.friedrichs@web.de> -D_LARGEFILE64_SOURCE" should be added to Make.config. for adding stream type 11172 AUDIO to cPatPmtParser::ParsePmt() for removing the workaround for short channel names of "Kabel Deutschland" + for some fixes to dvbspu.[hc] Timo Helkio <timolavi@mbnet.fi> for reporting a hangup when replaying a TS recording with subtitles activated @@ -6217,3 +6217,4 @@ Video Disk Recorder Revision History - Removed the workaround for short channel names of "Kabel Deutschland", because apparently they now have their data according to the DVB standard (thanks to Johann Friedrichs). +- Some fixes to dvbspu.[hc] (thanks to Johann Friedrichs). @@ -8,7 +8,7 @@ * * parts of this file are derived from the OMS program. * - * $Id: dvbspu.c 2.4 2009/12/05 16:06:12 kls Exp $ + * $Id: dvbspu.c 2.5 2009/12/13 12:10:03 kls Exp $ */ #include "dvbspu.h" @@ -348,7 +348,7 @@ int cDvbSpuBitmap::getMinBpp(const aDvbSpuPalDescr paldescr) col++; } } - return col > 2 ? 2 : 1; + return col > 2 ? 4 : 1; } int cDvbSpuDecoder::CalcAreaBpp(cBitmap *fgbmp, cBitmap *bgbmp) @@ -386,6 +386,9 @@ void cDvbSpuDecoder::Draw(void) if (spubmp->getMinSize(palDescr, bgsize)) bg = spubmp->getBitmap(palDescr, palette, bgsize); + if (!fg || !bg || !osd) + Hide(); + if (osd == NULL) { restricted_osd = false; osd = cOsdProvider::NewOsd(0, 0); @@ -8,7 +8,7 @@ * * parts of this file are derived from the OMS program. * - * $Id: dvbspu.h 2.3 2009/12/05 15:17:08 kls Exp $ + * $Id: dvbspu.h 2.4 2009/12/13 12:07:00 kls Exp $ */ #ifndef __DVBSPU_H @@ -197,7 +197,7 @@ inline uint32_t cDvbSpuPalette::yuv2rgb(uint32_t yuv_color) inline uint32_t cDvbSpuPalette::getColor(uint8_t idx, uint8_t trans) const { - return palette[idx] | (trans == 0x0f) ? 0xff000000 : (trans << 28); + return palette[idx] | ((trans == 0x0f) ? 0xff000000 : (trans << 28)); } #endif // __DVBSPU_H |