From 78cd406a76c71b2ebe5457e838471cd209afd6d0 Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Thu, 21 May 2009 15:22:58 +0100 Subject: dvdspu: Add a simple default colour table. When we're not provided with a palette in advance, draw with a grey colour or two, instead of YUV green. --- gst/dvdspu/gstdvdspu.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gst/dvdspu') diff --git a/gst/dvdspu/gstdvdspu.c b/gst/dvdspu/gstdvdspu.c index dc606d21..45e64cd0 100644 --- a/gst/dvdspu/gstdvdspu.c +++ b/gst/dvdspu/gstdvdspu.c @@ -79,6 +79,13 @@ GST_STATIC_PAD_TEMPLATE ("subpicture", GST_STATIC_CAPS ("video/x-dvd-subpicture") ); +static const guint32 default_clut[16] = { + 0xb48080, 0x248080, 0x628080, 0xd78080, + 0x808080, 0x808080, 0x808080, 0x808080, + 0x808080, 0x808080, 0x808080, 0x808080, + 0x808080, 0x808080, 0x808080, 0x808080 +}; + GST_BOILERPLATE (GstDVDSpu, gst_dvd_spu, GstElement, GST_TYPE_ELEMENT); static void gst_dvd_spu_dispose (GObject * object); @@ -183,6 +190,7 @@ gst_dvd_spu_clear (GstDVDSpu * dvdspu) { gst_dvd_spu_flush_spu_info (dvdspu, FALSE); gst_segment_init (&dvdspu->subp_seg, GST_FORMAT_UNDEFINED); + memcpy (dvdspu->spu_state.current_clut, default_clut, sizeof (guint32) * 16); gst_buffer_replace (&dvdspu->ref_frame, NULL); gst_buffer_replace (&dvdspu->pending_frame, NULL); -- cgit v1.2.1