From 151e8cceec6bc6803fb29685b4f95b2ed0e0ca8c Mon Sep 17 00:00:00 2001 From: ulion Date: Sat, 8 Dec 2007 12:15:03 +0000 Subject: Move vobsub palette->yuv convert code into a common function. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25320 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_mkv.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'libmpdemux/demux_mkv.c') diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c index 3c6df0c61e..c383872518 100644 --- a/libmpdemux/demux_mkv.c +++ b/libmpdemux/demux_mkv.c @@ -22,6 +22,7 @@ #include "mp_msg.h" #include "help_mp.h" +#include "vobsub.h" #include "subreader.h" #include "libvo/sub.h" @@ -305,7 +306,7 @@ vobsub_parse_size (sh_sub_t *sh, const char *start) static int vobsub_parse_palette (sh_sub_t *sh, const char *start) { - int i, r, g, b, y, u, v, tmp; + int i, tmp; start += 8; while (isspace(*start)) @@ -314,14 +315,7 @@ vobsub_parse_palette (sh_sub_t *sh, const char *start) { if (sscanf(start, "%06x", &tmp) != 1) break; - r = tmp >> 16 & 0xff; - g = tmp >> 8 & 0xff; - b = tmp & 0xff; - y = av_clip_uint8( 0.1494 * r + 0.6061 * g + 0.2445 * b); - u = av_clip_uint8( 0.6066 * r - 0.4322 * g - 0.1744 * b + 128); - v = av_clip_uint8(-0.08435 * r - 0.3422 * g + 0.4266 * b + 128); - y = y * 219 / 255 + 16; - sh->palette[i] = y << 16 | u << 8 | v; + sh->palette[i] = vobsub_palette_to_yuv(tmp); start += 6; while ((*start == ',') || isspace(*start)) start++; -- cgit v1.2.3