| |
| 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 |
| |