Update Android to use limited range YCbCr.
Limited range seems to be more used than full range and many Android components already use limited range. This includes FileVideoCapturer, VideoFileRenderer and HW codecs. Bug: webrtc:9638 Change-Id: Iadd9b2f19020c6a25bde5e43a28e26a6230dde42 Reviewed-on: https://webrtc-review.googlesource.com/94543 Commit-Queue: Sami Kalliomäki <sakal@webrtc.org> Reviewed-by: Magnus Jedvert <magjed@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24576}
This commit is contained in:
committed by
Commit Bot
parent
548dec4a81
commit
8ccddff6ac
@ -102,12 +102,14 @@ class GlGenericDrawer implements RendererCommon.GlDrawer {
|
||||
stringBuilder.append("uniform sampler2D v_tex;\n");
|
||||
|
||||
// Add separate function for sampling texture.
|
||||
// yuv_to_rgb_mat is inverse of the matrix defined in YuvConverter.
|
||||
stringBuilder.append("vec4 sample(vec2 p) {\n");
|
||||
stringBuilder.append(" float y = texture2D(y_tex, p).r;\n");
|
||||
stringBuilder.append(" float u = texture2D(u_tex, p).r - 0.5;\n");
|
||||
stringBuilder.append(" float v = texture2D(v_tex, p).r - 0.5;\n");
|
||||
stringBuilder.append(
|
||||
" return vec4(y + 1.403 * v, y - 0.344 * u - 0.714 * v, y + 1.77 * u, 1);\n");
|
||||
stringBuilder.append(" float y = texture2D(y_tex, p).r * 1.16438;\n");
|
||||
stringBuilder.append(" float u = texture2D(u_tex, p).r;\n");
|
||||
stringBuilder.append(" float v = texture2D(v_tex, p).r;\n");
|
||||
stringBuilder.append(" return vec4(y + 1.59603 * v - 0.874202,\n");
|
||||
stringBuilder.append(" y - 0.391762 * u - 0.812968 * v + 0.531668,\n");
|
||||
stringBuilder.append(" y + 2.01723 * u - 1.08563, 1);\n");
|
||||
stringBuilder.append("}\n");
|
||||
stringBuilder.append(genericFragmentSource);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user