1 2XXX - Not complete. 3 4Name 5 6 SGIX_ycrcb 7 8Name Strings 9 10 GL_SGIX_ycrcb 11 12Version 13 14 $Date: 1996/11/21 00:52:30 $ $Revision: 1.2 $ 15 16Number 17 18 101 19 20Dependencies 21 22 EXT_texture3D affects the definition of this extension 23 EXT_subtexture affects the definition of this extension 24 EXT_histogram affects the definition of this extension 25 EXT_convolution affects the definition of this extension 26 SGI_color_table affects the definition of this extension 27 28 29Overview 30 31 This extension provides a method for OpenGL to read and store 32 images that are defined in standard YCRCB 422 and 444 video formats. 33 As with the CYMK extension, conversion to RGBA takes place immediately 34 following the unpack pixel store, and preceding the pack pixel store 35 operations, and is only available on transfers to and from memory. 36 The algorithms that convert between YCRCB and RGBA are "black-box" 37 in nature, and left undefined by the extension. 38 39 Two new formats are added, YCRCB_422_SGIX and YCRCB_444_SGIX. 40 41 To handle the difference in sampling rate for 422 video, the pixel 42 storage operations treat YCRCB_422_SGIX as a 2 component format, 43 where the first component represents chroma, and the second luma. 44 The chroma component alternates between Cb and Cr values on 45 a per pixel basis. If the specified image <width> parameter is not 46 a multiple of 2, then fragments or texels that result from processing 47 the <width>th column of pixels will have undefined color value. 48 49 YCRCB_444_SGIX is defined as a 3 component format representing 50 the Cb, Y, and Cr values per pixel. 51 52 As with the CMYK extension, this extension doesn't preclude the 53 possiblity of other higher quality conversion methods. 54 55Issues 56 57 * What is standard packing for 444 YCRCB pixels? 58 Does the 601 standard specify pixel alignment? 59 60 * YCRCB_420_SGIX and other formats? 61 62 * should there be conversion quality hint? 63 64 65New Procedures and Functions 66 67 None 68 69New Tokens 70 71 Accepted by the <format> parameter of DrawPixels, ReadPixels, 72 TexImage1D, TexImage2D, TexImage3DEXT, TexImage4DSGIS, TexSubImage1DEXT, 73 TexSubImage2DEXT, TexSubImage3DEXT, TexSubImage4DSGIS, GetTexImage, 74 ColorTableSGI, GetColorTableSGI, ConvolutionFilter1DEXT, 75 ConvolutionFilter2DEXT, ConvolutionFilter3DEXT, GetConvolutionFilterEXT, 76 SeparableFilter2DEXT, SeparableFilter3DEXT, GetSeparableFilterEXT, 77 GetHistogramEXT, and GetMinmaxEXT: 78 79 YCRCB_422_SGIX 80 YCRCB_444_SGIX 81 82Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation) 83 84 None 85 86Additions to Chapter 3 of the 1.0 Specification (Rasterization) 87 88 Two entries are added to table 3.5 (DrawPixels and ReadPixels formats): 89 90 Target 91 Name Type Elements Buffer 92 ---- ---- -------- ------ 93 YCRCB_422_SGIX Component [Cb,Cr] chroma value, Color 94 Y luminance value 95 96 YCRCB_444_SGIX Component Cb chroma value, Color 97 Y luminance value, 98 Cr chroma value 99 100 Table 3.5: DrawPixels and ReadPixels formats. The third column 101 gives a description of and the number and order of elements in a 102 group. 103 104 The new formats YCRCB_422_SGIX and YCRCB_444_SGIX are added to the 105 discussion of Conversion to RGB. If the format is either of these two 106 values, then the chroma and luminance values in each group are converted 107 to R, G, and B values using an undefined algorithm. 108 If the format is YCRCB_422_SGIX, the conversion algorithm may produce 109 undefined RGB values for final pixel of any row where the rowlength 110 is not a multiple of 2. 111 112Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations 113and the Framebuffer) 114 115 The new formats are added to the discussion of Obtaining Pixels from the 116 Framebuffer. 117 118 The new formats are added to the discussion of Index Lookup. 119 120 A new section, "Conversion to YCrCb," is added immediately following the 121 section "Conversion to L." 122 123 124Additions to Chapter 5 of the 1.0 Specification (Special Functions) 125 126 None 127 128Additions to Chapter 6 of the 1.0 Specification (State and State Requests) 129 130 None 131 132Additions to the GLX Specification 133 134 None 135 136GLX Protocol 137 138 None 139 140Errors 141 142 None 143 144New State 145 146 None 147 148New Implementation Dependent State 149 150 None 151 152