15bd8deadSopenharmony_ci
25bd8deadSopenharmony_ciXXX - Not complete.
35bd8deadSopenharmony_ci
45bd8deadSopenharmony_ciName
55bd8deadSopenharmony_ci
65bd8deadSopenharmony_ci    SGIX_ycrcb_subsample
75bd8deadSopenharmony_ci
85bd8deadSopenharmony_ciName Strings
95bd8deadSopenharmony_ci
105bd8deadSopenharmony_ci    GL_SGIX_ycrcb_subsample
115bd8deadSopenharmony_ci
125bd8deadSopenharmony_ciVersion
135bd8deadSopenharmony_ci
145bd8deadSopenharmony_ci    Last Modified Date: 01/16/1999
155bd8deadSopenharmony_ci    $Date: 1998/01/16 21:47:41 $ $Revision: 1.2 $
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ciNumber
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ci    204
205bd8deadSopenharmony_ci
215bd8deadSopenharmony_ciDependencies
225bd8deadSopenharmony_ci
235bd8deadSopenharmony_ci    ???
245bd8deadSopenharmony_ci
255bd8deadSopenharmony_ciOverview
265bd8deadSopenharmony_ci
275bd8deadSopenharmony_ci    (Need to construct a real extension spec based on this)
285bd8deadSopenharmony_ci
295bd8deadSopenharmony_ciDate: Thu, 18 Mar 1999 16:26:34 -0800
305bd8deadSopenharmony_ciFrom: Jason Freund <jfreund@sgi.com>
315bd8deadSopenharmony_ciTo: alai@esd.sgi.com
325bd8deadSopenharmony_ciCC: tcrane@esd.sgi.com, minakami@esd.sgi.com, dyu@esd.sgi.com, celeste@cthulhu,
335bd8deadSopenharmony_ci	nance@cthulhu, bhoffman@cthulhu
345bd8deadSopenharmony_ciSubject: ycrcb spec
355bd8deadSopenharmony_ci
365bd8deadSopenharmony_ciBasically, there is the existing "ycrcb_subsample" spec that was shipped
375bd8deadSopenharmony_cion the 320. And there is the new "subsample" spec which is a superset of
385bd8deadSopenharmony_cithat and has two new pieces of functionality: (1) a new subsample enum
395bd8deadSopenharmony_cifor 4224, and (2) resample xfer parameters. On Wednesday, we enumerated
405bd8deadSopenharmony_cifour possible ways to reconcile the two new features in the "subsample"
415bd8deadSopenharmony_cispec with the existing "ycrcb_subsample" spec.
425bd8deadSopenharmony_ci
435bd8deadSopenharmony_ci1) Keep the existing "ycrcb_subsample" spec that was shipped (but not
445bd8deadSopenharmony_cidocumented) on the 320, and add the new features into it. Disadvantage:
455bd8deadSopenharmony_ciIf someone takes advantage of the new features in the spec, those
465bd8deadSopenharmony_cifeatures are not backward compatible to the version we have already
475bd8deadSopenharmony_cishipped in the 320.
485bd8deadSopenharmony_ci
495bd8deadSopenharmony_ci2) Keep existing "ycrcb_subsample" spec that was shipped on 320, but
505bd8deadSopenharmony_cialso create a new "subsample" spec which is a superset of that. The new
515bd8deadSopenharmony_civersion of the "subsample" spec would add the two new features (4224 and
525bd8deadSopenharmony_ciresample params), but for everything else, keep the exact same enums
535bd8deadSopenharmony_ciused in "ycrcb_subsample". Note: With this choice, we would like for
545bd8deadSopenharmony_ciOddysey/Bali to implement both specs in order to maintain compatibility.
555bd8deadSopenharmony_ci
565bd8deadSopenharmony_ci3) Same as number 2, above, except the new "subsample" spec would only
575bd8deadSopenharmony_cicontain the new resample xfer params and the new subsample enum for
585bd8deadSopenharmony_ci4224. Again, we would hope that Oddysey and Bali would implement both
595bd8deadSopenharmony_cispecs to maintain compatibility with existing "ycrcb_subsample" code.
605bd8deadSopenharmony_ci
615bd8deadSopenharmony_ci4) Three extensions:
625bd8deadSopenharmony_cia) Existing "ycrcb_subsample" spec as shipped on 320
635bd8deadSopenharmony_cib) New "resample" spec that just has the resample xfer parameters from
645bd8deadSopenharmony_cithe "subsample" spec
655bd8deadSopenharmony_cic) New "ycrcb_alpha" (or some such) spec that just has the new 4224
665bd8deadSopenharmony_cisubsample enum
675bd8deadSopenharmony_ci
685bd8deadSopenharmony_ciPlease indicate your preferences or objections to any of the proposals
695bd8deadSopenharmony_ciabove.
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ciThanks,
725bd8deadSopenharmony_ciJason
735bd8deadSopenharmony_ci
745bd8deadSopenharmony_ciFrom: "Nancy Cam Winget" <nance@blip>
755bd8deadSopenharmony_ciDate: Tue, 16 Feb 1999 10:20:08 -0800
765bd8deadSopenharmony_ciTo: hsa@blip, ljp@blip, tibet@blip
775bd8deadSopenharmony_ciSubject: (Fwd) Re: about the 422 packing
785bd8deadSopenharmony_ciCc: nance@blip
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ciHi Jon, Tibet and Steve,
815bd8deadSopenharmony_ci
825bd8deadSopenharmony_ciI'm including you as I thought this meeting may also be of interest to you:
835bd8deadSopenharmony_ci
845bd8deadSopenharmony_ciJon - we've been trying to close loop on the subsample and ycrcb spec
855bd8deadSopenharmony_ci      (and deprecate the ycrcbformat.spec). So, I think it would be good
865bd8deadSopenharmony_ci      to have you there as we have had little success till now to get
875bd8deadSopenharmony_ci      convergence but more importantly, to get everyone to agree that
885bd8deadSopenharmony_ci      the spec must comply with opengl (after all, it is an extension to
895bd8deadSopenharmony_ci      opengl ;-)
905bd8deadSopenharmony_ci
915bd8deadSopenharmony_ciI've attached some further e-mails to give you a little more context to
925bd8deadSopenharmony_cithis thread.
935bd8deadSopenharmony_ci
945bd8deadSopenharmony_ciThanks,
955bd8deadSopenharmony_ci	Nance.
965bd8deadSopenharmony_ci
975bd8deadSopenharmony_ci
985bd8deadSopenharmony_ciDate: Fri, 12 Feb 1999 14:24:41 -0800
995bd8deadSopenharmony_ciFrom: Jason Freund <jfreund@sgi.com>
1005bd8deadSopenharmony_ciTo: alai@esd.sgi.com, bwilliam@sgi.com, celeste@sgi.com, nance@sgi.com,
1015bd8deadSopenharmony_ci	bhoffman@sgi.com
1025bd8deadSopenharmony_ciSubject: ycrcb_subsample
1035bd8deadSopenharmony_ci
1045bd8deadSopenharmony_ciHi,
1055bd8deadSopenharmony_ci
1065bd8deadSopenharmony_ciI wrote a description of our ycrcb expansion and conversion support
1075bd8deadSopenharmony_cicalled "ycrcb_subsample" for 320/540.  We can discuss the future of this
1085bd8deadSopenharmony_ciextension and how it relates to Odyssey/Bali at our meeting 1pm
1095bd8deadSopenharmony_ciThursday.
1105bd8deadSopenharmony_ci
1115bd8deadSopenharmony_ci-------------------------------------------------------------------------------
1125bd8deadSopenharmony_ci
1135bd8deadSopenharmony_ciThe 320/540 does ycrcb to rgba conversion and 422 -> 444 expansion under an
1145bd8deadSopenharmony_ciultra-stealth extension called "ycrcb_subsample" that uses:
1155bd8deadSopenharmony_ci
1165bd8deadSopenharmony_ciPixelStore				SampleRates
1175bd8deadSopenharmony_ci===============================================================================
1185bd8deadSopenharmony_ciGL_UNPACK_SAMPLE_RATE_SGIX		GL_PIXEL_SAMPLE_4444_SGIX (default)
1195bd8deadSopenharmony_ciGL_PACK_SAMPLE_RATE_SGIX		GL_PIXEL_SAMPLE_2424_SGIX
1205bd8deadSopenharmony_ci					GL_PIXEL_SAMPLE_4242_SGIX
1215bd8deadSopenharmony_ci
1225bd8deadSopenharmony_ciAlso, the format GL_YCRCB_SGIX is used.
1235bd8deadSopenharmony_ci
1245bd8deadSopenharmony_ciThe behavior of this "ycrcb_subsample" extension is that:
1255bd8deadSopenharmony_ci
1265bd8deadSopenharmony_ciSample rates 2424 and 4242 are only expanded when either a 4-component/ubyte
1275bd8deadSopenharmony_cidata is specified or GL_YCRCB_SGIX/ubyte is specified.	Sample rates are
1285bd8deadSopenharmony_ciignored for all other format/types.  At present, we believe our hardware uses
1295bd8deadSopenharmony_cireplicate rather than averaging for the expansion.
1305bd8deadSopenharmony_ci
1315bd8deadSopenharmony_ciFurthermore, whenever GL_YCRCB_SGIX/ubyte is specified, the colormatrix stage
1325bd8deadSopenharmony_ciof the imaging pipe is used to convert the data to rgba.  Any user Colormatrix/
1335bd8deadSopenharmony_ciScale/Bias is premultiplied by the conversion matrix.  But for now, no stages
1345bd8deadSopenharmony_ciupstream of Colormatrix can be enabled, otherwise the result will be incorrect.
1355bd8deadSopenharmony_ci
1365bd8deadSopenharmony_ciWe would like to keep the enums, extension string name, and mechanism used by
1375bd8deadSopenharmony_cithis "ycrcb_subsample" spec, but extend it for functionality required by
1385bd8deadSopenharmony_ciOdyssey/Bali to include from the "subsample" spec:
1395bd8deadSopenharmony_ci
1405bd8deadSopenharmony_ciPixelStore				Resample Filter
1415bd8deadSopenharmony_ci===============================================================================
1425bd8deadSopenharmony_ciGL_UNPACK_RESAMPLE_SGIX			GL_RESAMPLE_AVERAGE_SGIX
1435bd8deadSopenharmony_ciGL_PACK_RESAMPLE_SGIX			GL_RESAMPLE_REPLICATE_SGIX (default)
1445bd8deadSopenharmony_ci					GL_RESAMPLE_ZERO_FILL_SGIX
1455bd8deadSopenharmony_ci
1465bd8deadSopenharmony_cias well as add:
1475bd8deadSopenharmony_ci
1485bd8deadSopenharmony_ciPixelStore				SampleRates
1495bd8deadSopenharmony_ci===============================================================================
1505bd8deadSopenharmony_ciGL_UNPACK_SAMPLE_RATE_SGIX		GL_PIXEL_SAMPLE_4224_SGIX
1515bd8deadSopenharmony_ciGL_PACK_SAMPLE_RATE_SGIX
1525bd8deadSopenharmony_ci
1535bd8deadSopenharmony_ciNote that the other enums used by the "subsample" spec for Odyssey/Bali
1545bd8deadSopenharmony_cicorrespond to enums in this spec.
1555bd8deadSopenharmony_ci
1565bd8deadSopenharmony_ciBy keeping with the "ycrcb_subsample" name and params, we won't have to bother
1575bd8deadSopenharmony_ciexisting ISV's, and software written for the 320/540 would run on Odyssey/Bali
1585bd8deadSopenharmony_ciprovided it only uses supported enums.
1595bd8deadSopenharmony_ci
1605bd8deadSopenharmony_ciFrom: alai@truth.esd.sgi.com (Angela Lai)
1615bd8deadSopenharmony_ciDate: Thu, 11 Feb 1999 10:51:28 -0800
1625bd8deadSopenharmony_ciIn-Reply-To: nance@blip.engr.sgi.com (Nancy Cam Winget)
1635bd8deadSopenharmony_ci	"about the 422 packing" (Feb 10,  4:01pm)
1645bd8deadSopenharmony_ciTo: jfreund@truth.esd.sgi.com, alai, bwilliam, celeste,
1655bd8deadSopenharmony_ci	nance (Nancy Cam Winget)
1665bd8deadSopenharmony_ciSubject: Re: about the 422 packing
1675bd8deadSopenharmony_ci
1685bd8deadSopenharmony_ciIt turns out that even though I thought we implemented the average
1695bd8deadSopenharmony_cifilter for up and downsample, we in fact didn't. (that's what happens
1705bd8deadSopenharmony_ciwhen you build hardware without a spec...sigh) It would appear that
1715bd8deadSopenharmony_cicobalt just did replicate on upsample and point sample on downsample
1725bd8deadSopenharmony_cifrom the experiments that Jason ran yesterday. Hopefully the hardware
1735bd8deadSopenharmony_cifolks can confirm what they actually did later today/tomorrow. The good
1745bd8deadSopenharmony_cinews is that it would be easier if we in fact do the same thing across
1755bd8deadSopenharmony_ciplatforms. Let's do get together again next wednesday to close the issue
1765bd8deadSopenharmony_cion the subsample spec.
1775bd8deadSopenharmony_ci
178