]> git.sesse.net Git - movit/blob - footer.130.frag
Allow dual Y'CbCr/RGBA outputs.
[movit] / footer.130.frag
1 #if YCBCR_OUTPUT_PLANAR
2 out vec4 Y;
3 out vec4 Cb;
4 out vec4 Cr;
5 #elif YCBCR_OUTPUT_SPLIT_Y_AND_CBCR
6 out vec4 Y;
7 out vec4 Chroma;
8 #else
9 out vec4 FragColor;
10 #endif
11
12 #if YCBCR_ALSO_OUTPUT_RGBA
13 out vec4 RGBA;
14 #endif
15
16 void main()
17 {
18 #if YCBCR_ALSO_OUTPUT_RGBA
19         vec4 color[2] = INPUT(tc);
20         vec4 color0 = color[0];
21         vec4 color1 = color[1];
22 #else
23         vec4 color0 = INPUT(tc);
24 #endif
25
26 #if YCBCR_OUTPUT_PLANAR
27         Y = color0.rrra;
28         Cb = color0.ggga;
29         Cr = color0.bbba;
30 #elif YCBCR_OUTPUT_SPLIT_Y_AND_CBCR
31         Y = color0.rrra;
32         Chroma = color0.gbba;
33 #else
34         FragColor = color0;
35 #endif
36
37 #if YCBCR_ALSO_OUTPUT_RGBA
38         RGBA = color1;
39 #endif
40 }