export spu palette; part of a patch by Otvos Attila

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21554 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
nicodvb 2006-12-09 19:23:35 +00:00
parent 29ec343e07
commit 266f5de2bb
2 changed files with 13 additions and 0 deletions

View File

@ -179,6 +179,11 @@ static int dvdnav_stream_read(dvdnav_priv_t * priv, unsigned char *buf, int *len
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 @@ int dvdnav_number_of_subs(stream_t *stream) {
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;

View File

@ -24,6 +24,7 @@ typedef struct {
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 dvdnav_sid_from_lang(stream_t *stream, unsigned char *language);
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