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