diff options
Diffstat (limited to 'src/spu_dec')
| -rw-r--r-- | src/spu_dec/spudvb_decoder.c | 2 | ||||
| -rw-r--r-- | src/spu_dec/spuhdmv_decoder.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/spu_dec/spudvb_decoder.c b/src/spu_dec/spudvb_decoder.c index 553431ae5..1c58c0c97 100644 --- a/src/spu_dec/spudvb_decoder.c +++ b/src/spu_dec/spudvb_decoder.c @@ -1051,6 +1051,8 @@ static void draw_subtitles (dvb_spu_decoder_t * this) reg = this->dvbsub->regions[r].img; reg_width = this->dvbsub->regions[r].width; } + /* All DVB subs I have seen so far use same color matrix as main video. */ + _X_SET_CLUT_CM (&this->dvbsub->colours[this->dvbsub->regions[r].CLUT_id*256].u32, 4); this->stream->osd_renderer->set_palette( this->dvbsub->regions[r].osd, &this->dvbsub->colours[this->dvbsub->regions[r].CLUT_id*256].u32, &this->dvbsub->trans[this->dvbsub->regions[r].CLUT_id*256]); diff --git a/src/spu_dec/spuhdmv_decoder.c b/src/spu_dec/spuhdmv_decoder.c index 9ad912e14..2d457b85a 100644 --- a/src/spu_dec/spuhdmv_decoder.c +++ b/src/spu_dec/spuhdmv_decoder.c @@ -378,6 +378,9 @@ static subtitle_clut_t *segbuf_decode_palette(segment_buffer_t *buf) clut->trans[index] = alpha >> 4; } + /* HDMV subs always use same color matrix as main video. */ + _X_SET_CLUT_CM (clut->color, 4); + return clut; } |
