# HG changeset patch # User ulion # Date 1197081482 0 # Node ID 4bbc9ad3124c802c0910b60f5ce7ba6d744a17cc # Parent 831fbe89f76b115141bfca831c91f36f5c5706a7 Restore y of palette into the same value range as it was in the .ifo file. diff -r 831fbe89f76b -r 4bbc9ad3124c libmpdemux/demux_mkv.c --- a/libmpdemux/demux_mkv.c Fri Dec 07 15:30:12 2007 +0000 +++ b/libmpdemux/demux_mkv.c Sat Dec 08 02:38:02 2007 +0000 @@ -320,6 +320,7 @@ 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; start += 6; while ((*start == ',') || isspace(*start)) diff -r 831fbe89f76b -r 4bbc9ad3124c vobsub.c --- a/vobsub.c Fri Dec 07 15:30:12 2007 +0000 +++ b/vobsub.c Sat Dec 08 02:38:02 2007 +0000 @@ -825,6 +825,7 @@ 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; vob->palette[n++] = y << 16 | u << 8 | v; if (n == 16) break;