diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2008-01-26 23:47:25 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2008-01-26 23:47:25 +0000 |
commit | f2cfee65ccc9ff70086383624ffb75ab75b4e1f3 (patch) | |
tree | a6e743152fc99ea3fd8cc0a670c1523644959f52 | |
parent | 0e75f48aca25baed5e4a962718d92dfe13031237 (diff) | |
download | mpv-f2cfee65ccc9ff70086383624ffb75ab75b4e1f3.tar.bz2 mpv-f2cfee65ccc9ff70086383624ffb75ab75b4e1f3.tar.xz |
Support vobsub palette in extradata, as exported by libavformat
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25872 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | mplayer.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -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 @@ void init_vo_spudec(void) { 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"; |