# HG changeset patch # User arpi # Date 1017857661 0 # Node ID a303ae797429d39cdef2ef13420fc49662ea8940 # Parent 39dae98304af78303567627f5f4fde9716025175 spudec_update_palette() added - dvdnav patch by Kees Cook diff -r 39dae98304af -r a303ae797429 spudec.c --- 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) diff -r 39dae98304af -r a303ae797429 spudec.h --- 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);