Index: libmpdemux/demux_mkv.c =================================================================== --- libmpdemux/demux_mkv.c (revision 25290) +++ libmpdemux/demux_mkv.c (working copy) @@ -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)) Index: vobsub.c =================================================================== --- vobsub.c (revision 25290) +++ vobsub.c (working copy) @@ -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;