Cross Reference: cconvYV12.c
xref
: /
vbox
/
src
/
VBox
/
Frontends
/
VirtualBox
/
shaders
/
cconvYV12.c
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
cconvYV12.c revision 073b23b4ae48ce7c105b28442f47c9a0c7a1110f
#
extension
GL_ARB_texture_rectangle
:
enable
uniform
sampler2DRect
uSrcTex
;
uniform
sampler2DRect
uVTex
;
uniform
sampler2DRect
uUTex
;
float
vboxSplitBGRA
(
vec4
color
,
float
coord
);
void
vboxCConvApplyAYUV
(
vec4
color
);
void
vboxCConv
()
{
vec2
clrCoordY
=
vec2
(
gl_TexCoord
[0]);
vec2
clrCoordV
=
vec2
(
gl_TexCoord
[
1
]);
int
ix
=
int
(
clrCoordY
.x);
vec2
coordY
=
vec2
(
float
(
ix
),
clrCoordY
.y);
ix
=
int
(
clrCoordV
.x);
vec2
coordV
=
vec2
(
float
(
ix
),
clrCoordV
.y);
vec4
clrY
=
texture2DRect
(
uSrcTex
,
vec2
(
coordY
));
vec4
clrV
=
texture2DRect
(
uVTex
,
vec2
(
coordV
));
vec4
clrU
=
texture2DRect
(
uUTex
,
vec2
(
coordV
));
float
y =
vboxSplitBGRA
(
clrY
,
clrCoordY
.x);
float
v =
vboxSplitBGRA
(
clrV
,
clrCoordV
.x);
float
u =
vboxSplitBGRA
(
clrU
,
clrCoordV
.x);
vboxCConvApplyAYUV
(
vec4
(u, y,
0.0
, v));
}