summaryrefslogtreecommitdiff
path: root/src/spu_dec
diff options
context:
space:
mode:
Diffstat (limited to 'src/spu_dec')
-rw-r--r--src/spu_dec/spudvb_decoder.c2
-rw-r--r--src/spu_dec/spuhdmv_decoder.c3
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;
}