feat: double buffered video input
This commit is contained in:
+9
-5
@@ -2,8 +2,8 @@
|
||||
|
||||
// VIDEO 1
|
||||
// -----------
|
||||
// IN: 1 (RAW IN A)
|
||||
// OUT: 3 (IN A)
|
||||
// IN: 1+3 (RAW IN A)
|
||||
// OUT: 5 (IN A)
|
||||
|
||||
in vec2 vUV;
|
||||
out vec4 fragColor;
|
||||
@@ -12,14 +12,18 @@ out vec4 fragColor;
|
||||
|
||||
uniform sampler2D iTex0;
|
||||
uniform sampler2D iTex1;
|
||||
uniform sampler2D iTex3;
|
||||
uniform int iInputFormat1;
|
||||
uniform int iInputSwap1;
|
||||
uniform vec2 iInputResolution1;
|
||||
|
||||
void main() {
|
||||
if (iInputFormat1 == YUYV_FOURCC) {
|
||||
fragColor = yuyvTex(iTex1, vUV, int(iInputResolution1.x));
|
||||
} else if (iInputResolution1.x > 0) {
|
||||
fragColor = texture(iTex1, vUV);
|
||||
if (iInputSwap1 > 0) {
|
||||
fragColor = yuyvTex(iTex3, vUV, int(iInputResolution1.x));
|
||||
} else {
|
||||
fragColor = yuyvTex(iTex1, vUV, int(iInputResolution1.x));
|
||||
}
|
||||
} else {
|
||||
fragColor = texture(iTex0, vUV);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user