# HG changeset patch # User reimar # Date 1201391245 0 # Node ID 6b01c546c5c31ba8a31ba829ff5d32d56069e770 # Parent 245e2ffbb2d5d7a18e69a9f565aae3cfa044bd0f Support vobsub palette in extradata, as exported by libavformat diff -r 245e2ffbb2d5 -r 6b01c546c5c3 mplayer.c --- a/mplayer.c Sat Jan 26 22:25:47 2008 +0000 +++ b/mplayer.c Sat Jan 26 23:47:25 2008 +0000 @@ -49,6 +49,8 @@ #include "cfg-mplayer-def.h" +#include "libavutil/intreadwrite.h" + #include "subreader.h" #include "libvo/video_out.h" @@ -1119,6 +1121,12 @@ if (vo_spudec==NULL) { sh_sub_t *sh = (sh_sub_t *)mpctx->d_sub->sh; unsigned int *palette = NULL; + if (sh && !sh->has_palette && sh->extradata_len == 16*4) { + int i; + for (i = 0; i < 16; i++) + sh->palette[i] = AV_RB32(sh->extradata + i*4); + sh->has_palette = 1; + } if (sh && sh->has_palette) palette = sh->palette; current_module="spudec_init_normal";