| |
| XXX - Not complete. |
| |
| Name |
| |
| SGIX_ycrcb_subsample |
| |
| Name Strings |
| |
| GL_SGIX_ycrcb_subsample |
| |
| Version |
| |
| Last Modified Date: 01/16/1999 |
| $Date: 1998/01/16 21:47:41 $ $Revision: 1.2 $ |
| |
| Number |
| |
| 204 |
| |
| Dependencies |
| |
| ??? |
| |
| Overview |
| |
| (Need to construct a real extension spec based on this) |
| |
| Date: Thu, 18 Mar 1999 16:26:34 -0800 |
| From: Jason Freund <jfreund@sgi.com> |
| To: alai@esd.sgi.com |
| CC: tcrane@esd.sgi.com, minakami@esd.sgi.com, dyu@esd.sgi.com, celeste@cthulhu, |
| nance@cthulhu, bhoffman@cthulhu |
| Subject: ycrcb spec |
| |
| Basically, there is the existing "ycrcb_subsample" spec that was shipped |
| on the 320. And there is the new "subsample" spec which is a superset of |
| that and has two new pieces of functionality: (1) a new subsample enum |
| for 4224, and (2) resample xfer parameters. On Wednesday, we enumerated |
| four possible ways to reconcile the two new features in the "subsample" |
| spec with the existing "ycrcb_subsample" spec. |
| |
| 1) Keep the existing "ycrcb_subsample" spec that was shipped (but not |
| documented) on the 320, and add the new features into it. Disadvantage: |
| If someone takes advantage of the new features in the spec, those |
| features are not backward compatible to the version we have already |
| shipped in the 320. |
| |
| 2) Keep existing "ycrcb_subsample" spec that was shipped on 320, but |
| also create a new "subsample" spec which is a superset of that. The new |
| version of the "subsample" spec would add the two new features (4224 and |
| resample params), but for everything else, keep the exact same enums |
| used in "ycrcb_subsample". Note: With this choice, we would like for |
| Oddysey/Bali to implement both specs in order to maintain compatibility. |
| |
| 3) Same as number 2, above, except the new "subsample" spec would only |
| contain the new resample xfer params and the new subsample enum for |
| 4224. Again, we would hope that Oddysey and Bali would implement both |
| specs to maintain compatibility with existing "ycrcb_subsample" code. |
| |
| 4) Three extensions: |
| a) Existing "ycrcb_subsample" spec as shipped on 320 |
| b) New "resample" spec that just has the resample xfer parameters from |
| the "subsample" spec |
| c) New "ycrcb_alpha" (or some such) spec that just has the new 4224 |
| subsample enum |
| |
| Please indicate your preferences or objections to any of the proposals |
| above. |
| |
| Thanks, |
| Jason |
| |
| From: "Nancy Cam Winget" <nance@blip> |
| Date: Tue, 16 Feb 1999 10:20:08 -0800 |
| To: hsa@blip, ljp@blip, tibet@blip |
| Subject: (Fwd) Re: about the 422 packing |
| Cc: nance@blip |
| |
| Hi Jon, Tibet and Steve, |
| |
| I'm including you as I thought this meeting may also be of interest to you: |
| |
| Jon - we've been trying to close loop on the subsample and ycrcb spec |
| (and deprecate the ycrcbformat.spec). So, I think it would be good |
| to have you there as we have had little success till now to get |
| convergence but more importantly, to get everyone to agree that |
| the spec must comply with opengl (after all, it is an extension to |
| opengl ;-) |
| |
| I've attached some further e-mails to give you a little more context to |
| this thread. |
| |
| Thanks, |
| Nance. |
| |
| |
| Date: Fri, 12 Feb 1999 14:24:41 -0800 |
| From: Jason Freund <jfreund@sgi.com> |
| To: alai@esd.sgi.com, bwilliam@sgi.com, celeste@sgi.com, nance@sgi.com, |
| bhoffman@sgi.com |
| Subject: ycrcb_subsample |
| |
| Hi, |
| |
| I wrote a description of our ycrcb expansion and conversion support |
| called "ycrcb_subsample" for 320/540. We can discuss the future of this |
| extension and how it relates to Odyssey/Bali at our meeting 1pm |
| Thursday. |
| |
| ------------------------------------------------------------------------------- |
| |
| The 320/540 does ycrcb to rgba conversion and 422 -> 444 expansion under an |
| ultra-stealth extension called "ycrcb_subsample" that uses: |
| |
| PixelStore SampleRates |
| =============================================================================== |
| GL_UNPACK_SAMPLE_RATE_SGIX GL_PIXEL_SAMPLE_4444_SGIX (default) |
| GL_PACK_SAMPLE_RATE_SGIX GL_PIXEL_SAMPLE_2424_SGIX |
| GL_PIXEL_SAMPLE_4242_SGIX |
| |
| Also, the format GL_YCRCB_SGIX is used. |
| |
| The behavior of this "ycrcb_subsample" extension is that: |
| |
| Sample rates 2424 and 4242 are only expanded when either a 4-component/ubyte |
| data is specified or GL_YCRCB_SGIX/ubyte is specified. Sample rates are |
| ignored for all other format/types. At present, we believe our hardware uses |
| replicate rather than averaging for the expansion. |
| |
| Furthermore, whenever GL_YCRCB_SGIX/ubyte is specified, the colormatrix stage |
| of the imaging pipe is used to convert the data to rgba. Any user Colormatrix/ |
| Scale/Bias is premultiplied by the conversion matrix. But for now, no stages |
| upstream of Colormatrix can be enabled, otherwise the result will be incorrect. |
| |
| We would like to keep the enums, extension string name, and mechanism used by |
| this "ycrcb_subsample" spec, but extend it for functionality required by |
| Odyssey/Bali to include from the "subsample" spec: |
| |
| PixelStore Resample Filter |
| =============================================================================== |
| GL_UNPACK_RESAMPLE_SGIX GL_RESAMPLE_AVERAGE_SGIX |
| GL_PACK_RESAMPLE_SGIX GL_RESAMPLE_REPLICATE_SGIX (default) |
| GL_RESAMPLE_ZERO_FILL_SGIX |
| |
| as well as add: |
| |
| PixelStore SampleRates |
| =============================================================================== |
| GL_UNPACK_SAMPLE_RATE_SGIX GL_PIXEL_SAMPLE_4224_SGIX |
| GL_PACK_SAMPLE_RATE_SGIX |
| |
| Note that the other enums used by the "subsample" spec for Odyssey/Bali |
| correspond to enums in this spec. |
| |
| By keeping with the "ycrcb_subsample" name and params, we won't have to bother |
| existing ISV's, and software written for the 320/540 would run on Odyssey/Bali |
| provided it only uses supported enums. |
| |
| From: alai@truth.esd.sgi.com (Angela Lai) |
| Date: Thu, 11 Feb 1999 10:51:28 -0800 |
| In-Reply-To: nance@blip.engr.sgi.com (Nancy Cam Winget) |
| "about the 422 packing" (Feb 10, 4:01pm) |
| To: jfreund@truth.esd.sgi.com, alai, bwilliam, celeste, |
| nance (Nancy Cam Winget) |
| Subject: Re: about the 422 packing |
| |
| It turns out that even though I thought we implemented the average |
| filter for up and downsample, we in fact didn't. (that's what happens |
| when you build hardware without a spec...sigh) It would appear that |
| cobalt just did replicate on upsample and point sample on downsample |
| from the experiments that Jason ran yesterday. Hopefully the hardware |
| folks can confirm what they actually did later today/tomorrow. The good |
| news is that it would be easier if we in fact do the same thing across |
| platforms. Let's do get together again next wednesday to close the issue |
| on the subsample spec. |
| |