On Sun, Apr 17, 2016 at 09:08:45PM +0200, Carl Eugen Hoyos wrote: > - YUV_TO_RGB1(cb, cr); > - YUV_TO_RGB2(r, g, b, y); > + if (ctx->hdtv > 0) { > + YUV_TO_RGB1_CCIR(cb, cr); > + YUV_TO_RGB2_CCIR(r, g, b, y); > + } else { > + YUV_TO_RGB1(cb, cr); > + YUV_TO_RGB2(r, g, b, y); > + }
That is actually more wrong :) YUV_TO_RGB1_CCIR is Rec.609, so what should be used for SD. For HD, it still should use the *255.0/224.0, but the other coefficients need to be tweaked. MPlayer seems to be a bit off, plus we already have fixed-point coefficients in libswscale we might want to match, but something like: r_add = FIX(1.5701*255.0/224.0) * cr + ONE_HALF;\ g_add = - FIX(0.1870*255.0/224.0) * cb - FIX(0.4664*255.0/224.0) * cr + \ ONE_HALF;\ b_add = FIX(1.8556*255.0/224.0) * cb + ONE_HALF;\ _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel