]> git.sesse.net Git - movit/blobdiff - ycbcr_input.frag
Support interleaved (chunky) 4:4:4 in YCbCrInput.
[movit] / ycbcr_input.frag
index c57c6d184441445d57b1d0892f83dfc059383eec..29f809d06e858752964df24ec7beba4d2e7b57d1 100644 (file)
@@ -11,17 +11,21 @@ vec4 FUNCNAME(vec2 tc) {
        tc.y = 1.0 - tc.y;
 
        vec3 ycbcr;
+#if Y_CB_CR_SAME_TEXTURE
+       ycbcr = tex2D(PREFIX(tex_y), tc).xyz;
+#else
        ycbcr.x = tex2D(PREFIX(tex_y), tc).x;
-#if CB_CR_SAME_TEXTURE
-#if CB_CR_OFFSETS_EQUAL
+  #if CB_CR_SAME_TEXTURE
+    #if CB_CR_OFFSETS_EQUAL
        ycbcr.yz = tex2D(PREFIX(tex_cbcr), tc + PREFIX(cb_offset)).xy;
-#else
+    #else
        ycbcr.y = tex2D(PREFIX(tex_cbcr), tc + PREFIX(cb_offset)).x;
        ycbcr.z = tex2D(PREFIX(tex_cbcr), tc + PREFIX(cr_offset)).x;
-#endif
-#else
+    #endif
+  #else
        ycbcr.y = tex2D(PREFIX(tex_cb), tc + PREFIX(cb_offset)).x;
        ycbcr.z = tex2D(PREFIX(tex_cr), tc + PREFIX(cr_offset)).x;
+  #endif
 #endif
 
        ycbcr -= PREFIX(offset);