changeset 5474:a303ae797429

spudec_update_palette() added - dvdnav patch by Kees Cook <mplayer@outflux.net>
author arpi
date Wed, 03 Apr 2002 18:14:21 +0000
parents 39dae98304af
children 5d2aa5a4d8cb
files spudec.c spudec.h
diffstat 2 files changed, 16 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/spudec.c	Wed Apr 03 17:58:17 2002 +0000
+++ b/spudec.c	Wed Apr 03 18:14:21 2002 +0000
@@ -206,6 +206,9 @@
       case 0x00:
 	/* Menu ID, 1 byte */
 	mp_msg(MSGT_SPUDEC,MSGL_DBG2,"Menu ID\n");
+        /* shouldn't a Menu ID type force display start? */
+	//this->start_pts = pts100 + date;
+	//this->end_pts = UINT_MAX;
 	break;
       case 0x01:
 	/* Start display */
@@ -651,6 +654,18 @@
 		   spu->scaled_image, spu->scaled_aimage, spu->scaled_stride);
     }
   }
+  else
+  {
+    mp_msg(MSGT_SPUDEC,MSGL_DBG2,"SPU not displayed: start_pts=%d  end_pts=%d  now_pts=%d\n",
+        spu->start_pts, spu->end_pts, spu->now_pts);
+  }
+}
+
+void spudec_update_palette(void * this, unsigned int *palette)
+{
+  spudec_handle_t *spu = (spudec_handle_t *) this;
+  if (spu && palette)
+    memcpy(spu->global_palette, palette, sizeof(spu->global_palette));
 }
 
 void *spudec_new_scaled(unsigned int *palette, unsigned int frame_width, unsigned int frame_height)
--- a/spudec.h	Wed Apr 03 17:58:17 2002 +0000
+++ b/spudec.h	Wed Apr 03 18:14:21 2002 +0000
@@ -5,6 +5,7 @@
 void spudec_assemble(void *this, unsigned char *packet, unsigned int len, unsigned int pts100);
 void spudec_draw(void *this, void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride));
 void spudec_draw_scaled(void *this, unsigned int dxs, unsigned int dys, void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride));
+void spudec_update_palette(void *this, unsigned int *palette);
 void *spudec_new_scaled(unsigned int *palette, unsigned int frame_width, unsigned int frame_height);
 void *spudec_new(unsigned int *palette);
 void spudec_free(void *this);