X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=libhb%2Fmuxmkv.c;h=073b39f450f1623072731c4b16b6eb2e162de3c1;hb=814438ce8ec7b400d211ef9050278e283d2bba5f;hp=d30e7c01dfad66e983521cc730702088744f4fea;hpb=87387ff8aa2eb8b2daab625b9aec25d2b94c2b79;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/libhb/muxmkv.c b/libhb/muxmkv.c index d30e7c01..073b39f4 100644 --- a/libhb/muxmkv.c +++ b/libhb/muxmkv.c @@ -34,27 +34,6 @@ struct hb_mux_data_s int sub_format; }; -static int yuv2rgb(int yuv) -{ - double y, Cr, Cb; - int r, g, b; - - y = (yuv >> 16) & 0xff; - Cb = (yuv >> 8) & 0xff; - Cr = (yuv ) & 0xff; - - r = 1.164 * (y - 16) + 2.018 * (Cb - 128); - g = 1.164 * (y - 16) - 0.813 * (Cr - 128) - 0.391 * (Cb - 128); - b = 1.164 * (y - 16) + 1.596 * (Cr - 128); - r = (r < 0) ? 0 : r; - g = (g < 0) ? 0 : g; - b = (b < 0) ? 0 : b; - r = (r > 255) ? 255 : r; - g = (g > 255) ? 255 : g; - b = (b > 255) ? 255 : b; - return (r << 16) | (g << 8) | b; -} - /********************************************************************** * MKVInit ********************************************************************** @@ -188,11 +167,13 @@ static int MKVInit( hb_mux_object_t * m ) switch (audio->config.out.codec) { case HB_ACODEC_DCA: + case HB_ACODEC_DCA_PASS: track->codecPrivate = NULL; track->codecPrivateSize = 0; track->codecID = MK_ACODEC_DTS; break; case HB_ACODEC_AC3: + case HB_ACODEC_AC3_PASS: track->codecPrivate = NULL; track->codecPrivateSize = 0; track->codecID = MK_ACODEC_AC3; @@ -249,8 +230,8 @@ static int MKVInit( hb_mux_object_t * m ) track->trackType = MK_TRACK_AUDIO; track->language = audio->config.lang.iso639_2; track->extra.audio.samplingFreq = (float)audio->config.out.samplerate; - if (audio->config.out.codec == HB_ACODEC_AC3 || - audio->config.out.codec == HB_ACODEC_DCA) + if (audio->config.out.codec == HB_ACODEC_AC3_PASS || + audio->config.out.codec == HB_ACODEC_DCA_PASS) { track->extra.audio.channels = HB_INPUT_CH_LAYOUT_GET_DISCRETE_COUNT(audio->config.in.channel_layout); } @@ -296,9 +277,9 @@ static int MKVInit( hb_mux_object_t * m ) case PICTURESUB: track->codecID = MK_SUBTITLE_VOBSUB; for (j = 0; j < 16; j++) - rgb[j] = yuv2rgb(title->palette[j]); + rgb[j] = hb_yuv2rgb(subtitle->palette[j]); len = snprintf(subidx, 2048, subidx_fmt, - title->width, title->height, + subtitle->width, subtitle->height, 0, 0, "OFF", rgb[0], rgb[1], rgb[2], rgb[3], rgb[4], rgb[5], rgb[6], rgb[7],