1 2XXX - Not complete. 3 4Name 5 6 SGIX_ycrcb_subsample 7 8Name Strings 9 10 GL_SGIX_ycrcb_subsample 11 12Version 13 14 Last Modified Date: 01/16/1999 15 $Date: 1998/01/16 21:47:41 $ $Revision: 1.2 $ 16 17Number 18 19 204 20 21Dependencies 22 23 ??? 24 25Overview 26 27 (Need to construct a real extension spec based on this) 28 29Date: Thu, 18 Mar 1999 16:26:34 -0800 30From: Jason Freund <jfreund@sgi.com> 31To: alai@esd.sgi.com 32CC: tcrane@esd.sgi.com, minakami@esd.sgi.com, dyu@esd.sgi.com, celeste@cthulhu, 33 nance@cthulhu, bhoffman@cthulhu 34Subject: ycrcb spec 35 36Basically, there is the existing "ycrcb_subsample" spec that was shipped 37on the 320. And there is the new "subsample" spec which is a superset of 38that and has two new pieces of functionality: (1) a new subsample enum 39for 4224, and (2) resample xfer parameters. On Wednesday, we enumerated 40four possible ways to reconcile the two new features in the "subsample" 41spec with the existing "ycrcb_subsample" spec. 42 431) Keep the existing "ycrcb_subsample" spec that was shipped (but not 44documented) on the 320, and add the new features into it. Disadvantage: 45If someone takes advantage of the new features in the spec, those 46features are not backward compatible to the version we have already 47shipped in the 320. 48 492) Keep existing "ycrcb_subsample" spec that was shipped on 320, but 50also create a new "subsample" spec which is a superset of that. The new 51version of the "subsample" spec would add the two new features (4224 and 52resample params), but for everything else, keep the exact same enums 53used in "ycrcb_subsample". Note: With this choice, we would like for 54Oddysey/Bali to implement both specs in order to maintain compatibility. 55 563) Same as number 2, above, except the new "subsample" spec would only 57contain the new resample xfer params and the new subsample enum for 584224. Again, we would hope that Oddysey and Bali would implement both 59specs to maintain compatibility with existing "ycrcb_subsample" code. 60 614) Three extensions: 62a) Existing "ycrcb_subsample" spec as shipped on 320 63b) New "resample" spec that just has the resample xfer parameters from 64the "subsample" spec 65c) New "ycrcb_alpha" (or some such) spec that just has the new 4224 66subsample enum 67 68Please indicate your preferences or objections to any of the proposals 69above. 70 71Thanks, 72Jason 73 74From: "Nancy Cam Winget" <nance@blip> 75Date: Tue, 16 Feb 1999 10:20:08 -0800 76To: hsa@blip, ljp@blip, tibet@blip 77Subject: (Fwd) Re: about the 422 packing 78Cc: nance@blip 79 80Hi Jon, Tibet and Steve, 81 82I'm including you as I thought this meeting may also be of interest to you: 83 84Jon - we've been trying to close loop on the subsample and ycrcb spec 85 (and deprecate the ycrcbformat.spec). So, I think it would be good 86 to have you there as we have had little success till now to get 87 convergence but more importantly, to get everyone to agree that 88 the spec must comply with opengl (after all, it is an extension to 89 opengl ;-) 90 91I've attached some further e-mails to give you a little more context to 92this thread. 93 94Thanks, 95 Nance. 96 97 98Date: Fri, 12 Feb 1999 14:24:41 -0800 99From: Jason Freund <jfreund@sgi.com> 100To: alai@esd.sgi.com, bwilliam@sgi.com, celeste@sgi.com, nance@sgi.com, 101 bhoffman@sgi.com 102Subject: ycrcb_subsample 103 104Hi, 105 106I wrote a description of our ycrcb expansion and conversion support 107called "ycrcb_subsample" for 320/540. We can discuss the future of this 108extension and how it relates to Odyssey/Bali at our meeting 1pm 109Thursday. 110 111------------------------------------------------------------------------------- 112 113The 320/540 does ycrcb to rgba conversion and 422 -> 444 expansion under an 114ultra-stealth extension called "ycrcb_subsample" that uses: 115 116PixelStore SampleRates 117=============================================================================== 118GL_UNPACK_SAMPLE_RATE_SGIX GL_PIXEL_SAMPLE_4444_SGIX (default) 119GL_PACK_SAMPLE_RATE_SGIX GL_PIXEL_SAMPLE_2424_SGIX 120 GL_PIXEL_SAMPLE_4242_SGIX 121 122Also, the format GL_YCRCB_SGIX is used. 123 124The behavior of this "ycrcb_subsample" extension is that: 125 126Sample rates 2424 and 4242 are only expanded when either a 4-component/ubyte 127data is specified or GL_YCRCB_SGIX/ubyte is specified. Sample rates are 128ignored for all other format/types. At present, we believe our hardware uses 129replicate rather than averaging for the expansion. 130 131Furthermore, whenever GL_YCRCB_SGIX/ubyte is specified, the colormatrix stage 132of the imaging pipe is used to convert the data to rgba. Any user Colormatrix/ 133Scale/Bias is premultiplied by the conversion matrix. But for now, no stages 134upstream of Colormatrix can be enabled, otherwise the result will be incorrect. 135 136We would like to keep the enums, extension string name, and mechanism used by 137this "ycrcb_subsample" spec, but extend it for functionality required by 138Odyssey/Bali to include from the "subsample" spec: 139 140PixelStore Resample Filter 141=============================================================================== 142GL_UNPACK_RESAMPLE_SGIX GL_RESAMPLE_AVERAGE_SGIX 143GL_PACK_RESAMPLE_SGIX GL_RESAMPLE_REPLICATE_SGIX (default) 144 GL_RESAMPLE_ZERO_FILL_SGIX 145 146as well as add: 147 148PixelStore SampleRates 149=============================================================================== 150GL_UNPACK_SAMPLE_RATE_SGIX GL_PIXEL_SAMPLE_4224_SGIX 151GL_PACK_SAMPLE_RATE_SGIX 152 153Note that the other enums used by the "subsample" spec for Odyssey/Bali 154correspond to enums in this spec. 155 156By keeping with the "ycrcb_subsample" name and params, we won't have to bother 157existing ISV's, and software written for the 320/540 would run on Odyssey/Bali 158provided it only uses supported enums. 159 160From: alai@truth.esd.sgi.com (Angela Lai) 161Date: Thu, 11 Feb 1999 10:51:28 -0800 162In-Reply-To: nance@blip.engr.sgi.com (Nancy Cam Winget) 163 "about the 422 packing" (Feb 10, 4:01pm) 164To: jfreund@truth.esd.sgi.com, alai, bwilliam, celeste, 165 nance (Nancy Cam Winget) 166Subject: Re: about the 422 packing 167 168It turns out that even though I thought we implemented the average 169filter for up and downsample, we in fact didn't. (that's what happens 170when you build hardware without a spec...sigh) It would appear that 171cobalt just did replicate on upsample and point sample on downsample 172from the experiments that Jason ran yesterday. Hopefully the hardware 173folks can confirm what they actually did later today/tomorrow. The good 174news is that it would be easier if we in fact do the same thing across 175platforms. Let's do get together again next wednesday to close the issue 176on the subsample spec. 177 178