blob: 323ad2fbd180fdbd339c56b9f0f6de158e717ce8 [file] [log] [blame]
XXX - Not complete.
Name
SGIX_ycrcb
Name Strings
GL_SGIX_ycrcb
Version
$Date: 1996/11/21 00:52:30 $ $Revision: 1.2 $
Number
101
Dependencies
EXT_texture3D affects the definition of this extension
EXT_subtexture affects the definition of this extension
EXT_histogram affects the definition of this extension
EXT_convolution affects the definition of this extension
SGI_color_table affects the definition of this extension
Overview
This extension provides a method for OpenGL to read and store
images that are defined in standard YCRCB 422 and 444 video formats.
As with the CYMK extension, conversion to RGBA takes place immediately
following the unpack pixel store, and preceding the pack pixel store
operations, and is only available on transfers to and from memory.
The algorithms that convert between YCRCB and RGBA are "black-box"
in nature, and left undefined by the extension.
Two new formats are added, YCRCB_422_SGIX and YCRCB_444_SGIX.
To handle the difference in sampling rate for 422 video, the pixel
storage operations treat YCRCB_422_SGIX as a 2 component format,
where the first component represents chroma, and the second luma.
The chroma component alternates between Cb and Cr values on
a per pixel basis. If the specified image <width> parameter is not
a multiple of 2, then fragments or texels that result from processing
the <width>th column of pixels will have undefined color value.
YCRCB_444_SGIX is defined as a 3 component format representing
the Cb, Y, and Cr values per pixel.
As with the CMYK extension, this extension doesn't preclude the
possiblity of other higher quality conversion methods.
Issues
* What is standard packing for 444 YCRCB pixels?
Does the 601 standard specify pixel alignment?
* YCRCB_420_SGIX and other formats?
* should there be conversion quality hint?
New Procedures and Functions
None
New Tokens
Accepted by the <format> parameter of DrawPixels, ReadPixels,
TexImage1D, TexImage2D, TexImage3DEXT, TexImage4DSGIS, TexSubImage1DEXT,
TexSubImage2DEXT, TexSubImage3DEXT, TexSubImage4DSGIS, GetTexImage,
ColorTableSGI, GetColorTableSGI, ConvolutionFilter1DEXT,
ConvolutionFilter2DEXT, ConvolutionFilter3DEXT, GetConvolutionFilterEXT,
SeparableFilter2DEXT, SeparableFilter3DEXT, GetSeparableFilterEXT,
GetHistogramEXT, and GetMinmaxEXT:
YCRCB_422_SGIX
YCRCB_444_SGIX
Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
None
Additions to Chapter 3 of the 1.0 Specification (Rasterization)
Two entries are added to table 3.5 (DrawPixels and ReadPixels formats):
Target
Name Type Elements Buffer
---- ---- -------- ------
YCRCB_422_SGIX Component [Cb,Cr] chroma value, Color
Y luminance value
YCRCB_444_SGIX Component Cb chroma value, Color
Y luminance value,
Cr chroma value
Table 3.5: DrawPixels and ReadPixels formats. The third column
gives a description of and the number and order of elements in a
group.
The new formats YCRCB_422_SGIX and YCRCB_444_SGIX are added to the
discussion of Conversion to RGB. If the format is either of these two
values, then the chroma and luminance values in each group are converted
to R, G, and B values using an undefined algorithm.
If the format is YCRCB_422_SGIX, the conversion algorithm may produce
undefined RGB values for final pixel of any row where the rowlength
is not a multiple of 2.
Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations
and the Framebuffer)
The new formats are added to the discussion of Obtaining Pixels from the
Framebuffer.
The new formats are added to the discussion of Index Lookup.
A new section, "Conversion to YCrCb," is added immediately following the
section "Conversion to L."
Additions to Chapter 5 of the 1.0 Specification (Special Functions)
None
Additions to Chapter 6 of the 1.0 Specification (State and State Requests)
None
Additions to the GLX Specification
None
GLX Protocol
None
Errors
None
New State
None
New Implementation Dependent State
None