changeset 21538:c9b6588932b5

export spu palette; part of a patch by Otvos Attila
author nicodvb
date Sat, 09 Dec 2006 19:23:35 +0000
parents 21263c9ddd87
children ad7616b01560
files stream/stream_dvdnav.c stream/stream_dvdnav.h
diffstat 2 files changed, 13 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/stream/stream_dvdnav.c	Sat Dec 09 19:12:51 2006 +0000
+++ b/stream/stream_dvdnav.c	Sat Dec 09 19:23:35 2006 +0000
@@ -179,6 +179,11 @@
           priv->duration = ev->pgc_length/90;
         break;
       }
+      case DVDNAV_SPU_CLUT_CHANGE: {
+        memcpy(priv->spu_clut, buf, 16*sizeof(unsigned int));
+        priv->spu_set = 1;
+        break;
+      }
       case DVDNAV_WAIT:
         dvdnav_wait_skip(priv->dvdnav);
         break;
@@ -511,6 +516,12 @@
   return n;
 }
 
+unsigned int *mp_dvdnav_get_spu_clut(stream_t *stream) {
+    dvdnav_priv_t *priv=(dvdnav_priv_t*)stream->priv;
+    if(!priv->spu_set) return NULL;
+    return priv->spu_clut;
+}
+
 void mp_dvdnav_get_highlight (stream_t *stream, nav_highlight_t *hl) {
   dvdnav_priv_t *priv = (dvdnav_priv_t *) stream->priv;
   dvdnav_highlight_event_t hlev = priv->hlev;
--- a/stream/stream_dvdnav.h	Sat Dec 09 19:12:51 2006 +0000
+++ b/stream/stream_dvdnav.h	Sat Dec 09 19:23:35 2006 +0000
@@ -24,6 +24,7 @@
   unsigned int     duration;            /* in milliseconds */
   int              mousex, mousey;
   int              title;
+  unsigned int     spu_clut[16], spu_set;
   dvdnav_highlight_event_t hlev;
 } dvdnav_priv_t;
 
@@ -33,5 +34,6 @@
 int mp_dvdnav_handle_input(stream_t *stream, int cmd, int *button);
 void mp_dvdnav_update_mouse_pos(stream_t *stream, int32_t x, int32_t y, int* button);
 void mp_dvdnav_get_highlight (stream_t *stream, nav_highlight_t *hl);
+unsigned int *mp_dvdnav_get_spu_clut(stream_t *stream);
 
 #endif