summaryrefslogtreecommitdiffstats
path: root/mplayer.c
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-01-26 23:47:25 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-01-26 23:47:25 +0000
commitf2cfee65ccc9ff70086383624ffb75ab75b4e1f3 (patch)
treea6e743152fc99ea3fd8cc0a670c1523644959f52 /mplayer.c
parent0e75f48aca25baed5e4a962718d92dfe13031237 (diff)
downloadmpv-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
Diffstat (limited to 'mplayer.c')
-rw-r--r--mplayer.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/mplayer.c b/mplayer.c
index 54f77a5ac4..8d779d682d 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -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";