GL_NVX_ycrcb spec?

Any ideas where I could find specification for GL_NVX_ycrcb extension?

It sounds like a way to use YUV images as a textures… without converting them to RGB first.

Link from delphi3d.net does not work (http://oss.sgi.com/projects/ogl-sample/registry/NVX/ycrcb.txt)

Thanks!

Originally posted by nrg:
[b]
Any ideas where I could find specification for GL_NVX_ycrcb extension?

It sounds like a way to use YUV images as a textures… without converting them to RGB first.

Link from delphi3d.net does not work (http://oss.sgi.com/projects/ogl-sample/registry/NVX/ycrcb.txt)

Thanks![/b]

Is this the same as GL_APPLE_ycbcr_422?
See http://oss.sgi.com/projects/ogl-sample/registry/APPLE/ycbcr_422.txt

Originally posted by marcus256:
[b] Is this the same as GL_APPLE_ycbcr_422?
See http://oss.sgi.com/projects/ogl-sample/registry/APPLE/ycbcr_422.txt

[/b]

I don’t know if it’s the same…

at least I can find these from the nvidia’s glext.h:

#ifndef GL_SGIX_ycrcb
#define GL_YCRCB_422_SGIX 0x81BB
#define GL_YCRCB_444_SGIX 0x81BC
#endif

Maybe I should just try those values for
NVX extension

I don’t see any other extensions in the extensions list (gf4) related to
yuv-textures than this

I suppose the “X” in GL_NVX_ycrcb stands for experimental, so there may not be a proper (official) specification yet (before the X is removed).

…why didn’t they use GL_SGIX_ycrcb instead?

Uhm?

Anyway, I’m a bit confused that no alternate colorspace support, such as YCrCb, YIQ or YUV has been added to OpenGL yet. Voodoo / Glide 2.x had YIQ_422. I’m sure most hardware can support it (if not, it’s a super easy addition).

If by most hardware supporting it you mean that it could get converted to rgb somewhere in the pipeline then yes you’re right, that should also explain some of what’s going on here.

Broadcast markets want this for various things, mainly video streaming without software getting in the way. 422 is a related issue and I’d argue that it isn’t a virtuous thing unless that happens to be how your data is getting fed to you as digital video and you need to decode it (yea I know it’s trying to save space in the color domain). These things don’t necessarily have innate value, sometimes they’re just necessary for integration (input or output).

The tying of these features to broadcast markets and their other related needs for things like genlock and destination alpha channel output tend to make it the preserve of extensions on high end cards running professional applications. For other markets it just hasn’t been a factor.

[This message has been edited by dorbie (edited 05-06-2003).]

I have same problem… but I found somwhere on the net following:

#define GL_YCRCB 0x600B

If I use this constant in glTexImage2D I got grayscale or green picture in half X resolution.
After many trying I giveup of this extension.

yooyo

Is it possible to convert to/from ycrcb using the colour matrix functions in the imaging subset?

Originally posted by Adrian67:
Is it possible to convert to/from ycrcb using the colour matrix functions in the imaging subset?

Should be possible. Google gave me this matrix.

ycrcb_to_rgb =
1.0000 1.0000 1.0000 0
0 -0.3441 1.7730 0
1.4020 -0.7141 0 0
0 0 0 1.0000

However, the page mentioned YCrCb everywhere but where the matrix was, there it said YCbCr instead. Dunno if it was a typo or if the matrix actually is YCbCr to RGB. Try swap some rows if it doesn’t work with YCrCb. Was a little bit too quick quith my mouse though and lost the page before I could note the adress.

Inverting it for RGB to YCrCb.

rgb_to_ycrcb =
0.2990 -0.1687 0.5000 0
0.5870 -0.3311 -0.4187 0
0.1139 0.4998 -0.0813 0
0 0 0 1.0000

Originally posted by Bob:
[b] [quote]

ycrcb_to_rgb =
1.0000 1.0000 1.0000 0
0 -0.3441 1.7730 0
1.4020 -0.7141 0 0
0 0 0 1.0000

However, the page mentioned YCrCb everywhere but where the matrix was, there it said YCbCr instead. Dunno if it was a typo or if the matrix actually is YCbCr to RGB. Try swap some rows if it doesn’t work with YCrCb. Was a little bit too quick quith my mouse though and lost the page before I could note the adress.

Inverting it for RGB to YCrCb.

rgb_to_ycrcb =
0.2990 -0.1687 0.5000 0
0.5870 -0.3311 -0.4187 0
0.1139 0.4998 -0.0813 0
0 0 0 1.0000

[/b][/QUOTE]

If somebody finds out that this matrix works, please tell about it!

I think I’m going to try it someday…

btw. Is imaging-subset accelerated on gf4? I suppose yes.

I’m planning to use realtime-video as a texture… and there’s not much sense in converting from yuv->rgb in software/cpu if card/gpu is able to do this.

nrg,

> btw. Is imaging-subset accelerated on gf4? I suppose yes.

I don’t think so. At least not the entire imaging subset. I’m pretty syre the color matrix is not accelerated (give it a try and see what speed you get).