1 /*---------------------------------------------------------------------------* 2 Project: Dolphin GX library 3 File: GXFrameBuffer.h 4 5 Copyright 1998- 2002 Nintendo. All rights reserved. 6 7 These coded instructions, statements, and computer programs contain 8 proprietary information of Nintendo of America Inc. and/or Nintendo 9 Company Ltd., and are protected by Federal copyright law. They may 10 not be disclosed to third parties or copied or duplicated in any form, 11 in whole or in part, without the prior written consent of Nintendo. 12 13 $Log: GXFrameBuffer.h,v $ 14 Revision 1.4 2006/08/10 13:38:01 urata 15 Removed all rendermodes of progressive 50Hz. 16 17 Revision 1.3 2006/05/18 09:40:10 urata 18 Added the rendermode of progressive for PAL and MPAL. 19 20 Revision 1.2 2006/02/04 11:56:46 hashida 21 (none) 22 23 Revision 1.1.1.1 2005/12/29 06:53:28 hiratsu 24 Initial import. 25 26 Revision 1.1.1.1 2005/05/12 02:41:07 yasuh-to 27 Ported from dolphin source tree. 28 29 30 19 2002/02/12 14:29 Hirose 31 Added GXNtsc480ProgSoft mode. 32 33 18 2002/07/24 9:06 Hirose 34 Resolved version conflicts. 35 36 18 2002/04/09 15:15 Hirose 37 const type specifier support. (worked by hiratsu@IRD) 38 39 17 2001/11/15 9:24p Hirose 40 Added GXGetYScaleFactor and GXGetNumXfbLines. 41 42 16 2001/11/02 5:33p Hashida 43 Renamed eu60 -> eurgb60 44 45 15 2001/11/01 3:37p Hashida 46 Added EURGB60 mode support. 47 48 14 2001/10/18 11:54a Hashida 49 No change. 50 51 13 2001/10/14 8:05p Hashida 52 Added RenderModeObj for EU60 mode. 53 54 12 2001/09/21 3:44p Hashida 55 Fixed wrong settings for Y origin in the double strike modes. 56 57 11 2001/07/26 6:04p Carl 58 Fixed extern for GXPal524IntAa. 59 60 10 2001/04/12 3:49p Carl 61 Added stuff for NTSC progressive modes. 62 63 9 2001/01/11 4:31p Hashida 64 Added a comment to show developers what the actual settings for each 65 render mode is. 66 67 8 2000/08/10 2:39p Carl 68 Fixed GX_MAX_Z16 to equal GX_MAX_Z24. 69 Added a comment to deprecate its usage. 70 71 7 2000/06/06 1:29p Carl 72 Removed obsolete API. 73 74 6 2000/04/26 4:09p Alligator 75 mod GXSetDispCopyFrame2Field to take GXCopyMode as param 76 77 5 2000/04/08 2:47p Hirose 78 Updated GXSetCopyFilter. 79 80 4 2000/03/23 4:23p Carl 81 Added GXAdjustForOverscan prototype. 82 83 3 2000/03/13 6:18p Danm 84 Fixed AA sampling locations to use x,y pairs. 85 86 2 2000/02/12 5:16p Alligator 87 Integrate ArtX source tree changes 88 89 10 1999/10/13 5:19p Alligator 90 changed CopySrc functions to use xorig, yorig, wd, ht 91 92 9 1999/09/30 10:40p Yasu 93 Renamed some GX functions and enums 94 95 8 1999/09/24 4:23p Yasu 96 Add GX_MAX_Z24/16 macro 97 98 7 1999/09/22 6:14p Yasu 99 Changed the parameter of GXSetDispCopySrc and GXSetTexCopySrc(). 100 101 6 1999/09/21 2:33p Alligator 102 add aa flag, if aa set 16b pix format 103 104 5 1999/09/16 3:42p Alligator 105 update render mode api 106 107 4 1999/09/09 3:04p Alligator 108 move GXSetRenderMode to GX lib from emu 109 110 3 1999/09/02 3:18p Ryan 111 Made Frame Buffer Api changes 112 113 2 1999/07/28 4:07p Alligator 114 update header files and emulator for hw changes 115 116 1 1999/07/14 4:20p Alligator 117 Split gx.h into individual header files for each major section of API 118 $NoKeywords: $ 119 *---------------------------------------------------------------------------*/ 120 121 #ifndef __GXFRAMEBUFFER_H__ 122 #define __GXFRAMEBUFFER_H__ 123 124 #ifdef __cplusplus 125 extern "C" { 126 #endif 127 128 /*---------------------------------------------------------------------------*/ 129 #include <revolution/types.h> 130 #include <revolution/gx/GXEnum.h> 131 #include <revolution/gx/GXStruct.h> 132 133 /*---------------------------------------------------------------------------*/ 134 /* Render Modes */ 135 /* (see the bottom of this file for actual settings used for each */ 136 /* render mode) */ 137 /*---------------------------------------------------------------------------*/ 138 extern GXRenderModeObj GXNtsc240Ds; 139 extern GXRenderModeObj GXNtsc240DsAa; 140 extern GXRenderModeObj GXNtsc240Int; 141 extern GXRenderModeObj GXNtsc240IntAa; 142 extern GXRenderModeObj GXNtsc480IntDf; 143 extern GXRenderModeObj GXNtsc480Int; 144 extern GXRenderModeObj GXNtsc480IntAa; 145 extern GXRenderModeObj GXNtsc480Prog; 146 extern GXRenderModeObj GXNtsc480ProgSoft; 147 extern GXRenderModeObj GXNtsc480ProgAa; 148 extern GXRenderModeObj GXMpal240Ds; 149 extern GXRenderModeObj GXMpal240DsAa; 150 extern GXRenderModeObj GXMpal240Int; 151 extern GXRenderModeObj GXMpal240IntAa; 152 extern GXRenderModeObj GXMpal480IntDf; 153 extern GXRenderModeObj GXMpal480Int; 154 extern GXRenderModeObj GXMpal480IntAa; 155 extern GXRenderModeObj GXMpal480Prog; 156 extern GXRenderModeObj GXMpal480ProgSoft; 157 extern GXRenderModeObj GXMpal480ProgAa; 158 extern GXRenderModeObj GXPal264Ds; 159 extern GXRenderModeObj GXPal264DsAa; 160 extern GXRenderModeObj GXPal264Int; 161 extern GXRenderModeObj GXPal264IntAa; 162 extern GXRenderModeObj GXPal528IntDf; 163 extern GXRenderModeObj GXPal528Int; 164 extern GXRenderModeObj GXPal524IntAa; // Reduced due to overlap requirement! 165 extern GXRenderModeObj GXEurgb60Hz240Ds; 166 extern GXRenderModeObj GXEurgb60Hz240DsAa; 167 extern GXRenderModeObj GXEurgb60Hz240Int; 168 extern GXRenderModeObj GXEurgb60Hz240IntAa; 169 extern GXRenderModeObj GXEurgb60Hz480IntDf; 170 extern GXRenderModeObj GXEurgb60Hz480Int; 171 extern GXRenderModeObj GXEurgb60Hz480IntAa; 172 extern GXRenderModeObj GXEurgb60Hz480Prog; 173 extern GXRenderModeObj GXEurgb60Hz480ProgSoft; 174 extern GXRenderModeObj GXEurgb60Hz480ProgAa; 175 176 /*---------------------------------------------------------------------------*/ 177 void GXAdjustForOverscan ( const GXRenderModeObj *rmin, GXRenderModeObj *rmout, 178 u16 hor, u16 ver ); 179 void GXSetDispCopySrc ( u16 left, u16 top, u16 wd, u16 ht ); 180 void GXSetTexCopySrc ( u16 left, u16 top, u16 wd, u16 ht ); 181 void GXSetDispCopyDst ( u16 wd, u16 ht ); 182 void GXSetTexCopyDst ( u16 wd, u16 ht, GXTexFmt fmt, GXBool mipmap ); 183 184 void GXSetDispCopyFrame2Field( GXCopyMode mode ); 185 void GXSetCopyClamp( GXFBClamp clamp ); 186 u32 GXSetDispCopyYScale( f32 vscale ); 187 void GXSetCopyClear( GXColor clear_clr, u32 clear_z); 188 void GXSetCopyFilter( GXBool aa, const u8 sample_pattern[12][2], GXBool vf, const u8 vfilter[7] ); 189 void GXSetDispCopyGamma( GXGamma gamma ); 190 191 void GXCopyDisp( void *dest, GXBool clear ); 192 void GXCopyTex ( void *dest, GXBool clear ); 193 194 f32 GXGetYScaleFactor( u16 efbHeight, u16 xfbHeight ); 195 u16 GXGetNumXfbLines( u16 efbHeight, f32 yScale ); 196 197 void GXClearBoundingBox( void ); 198 void GXReadBoundingBox ( u16 *left, u16 *top, u16 *right, u16 *bottom ); 199 200 /*---------------------------------------------------------------------------*/ 201 202 // The clear Z value is always in 24-bit format, regardless of pixel fmt. 203 // Thus the GX_MAX_Z16 is not really necessary. You should not use it. 204 // It is included here only for backwards compatibility. 205 206 #define GX_MAX_Z24 0x00ffffff 207 208 #define GX_MAX_Z16 0x00ffffff 209 210 /*---------------------------------------------------------------------------*/ 211 212 // Actual settings used for each GXRenderModeObj for developers' reference 213 // 214 // The following is intentionally ifdef'ed out to show each GXRenderModeObj 215 // settings to developers. 216 // 217 218 #if 0 219 220 GXRenderModeObj GXNtsc240Ds = 221 { 222 VI_TVMODE_NTSC_DS, // viDisplayMode 223 640, // fbWidth 224 240, // efbHeight 225 240, // xfbHeight 226 (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin 227 (VI_MAX_HEIGHT_NTSC/2 - 480/2)/2, // viYOrigin 228 640, // viWidth 229 480, // viHeight 230 VI_XFBMODE_SF, // xFBmode 231 GX_FALSE, // field_rendering 232 GX_FALSE, // aa 233 234 // sample points arranged in increasing Y order 235 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 236 6, 6, 6, 6, 6, 6, // pix 1 237 6, 6, 6, 6, 6, 6, // pix 2 238 6, 6, 6, 6, 6, 6, // pix 3 239 240 // vertical filter[7], 1/64 units, 6 bits each 241 0, // line n-1 242 0, // line n-1 243 21, // line n 244 22, // line n 245 21, // line n 246 0, // line n+1 247 0 // line n+1 248 }; 249 GXRenderModeObj GXNtsc240DsAa = 250 { 251 VI_TVMODE_NTSC_DS, // viDisplayMode 252 640, // fbWidth 253 240, // efbHeight 254 240, // xfbHeight 255 (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin 256 (VI_MAX_HEIGHT_NTSC/2 - 480/2)/2, // viYOrigin 257 640, // viWidth 258 480, // viHeight 259 VI_XFBMODE_SF, // xFBmode 260 GX_FALSE, // field_rendering 261 GX_TRUE, // aa 262 263 // sample points arranged in increasing Y order 264 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each 265 3, 2, 9, 6, 3, 10, // pix 1 266 9, 2, 3, 6, 9, 10, // pix 2 267 9, 2, 3, 6, 9, 10, // pix 3 268 269 // vertical filter[7], 1/64 units, 6 bits each 270 0, // line n-1 271 0, // line n-1 272 21, // line n 273 22, // line n 274 21, // line n 275 0, // line n+1 276 0 // line n+1 277 }; 278 GXRenderModeObj GXNtsc240Int = 279 { 280 VI_TVMODE_NTSC_INT, // viDisplayMode 281 640, // fbWidth 282 240, // efbHeight 283 240, // xfbHeight 284 (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin 285 (VI_MAX_HEIGHT_NTSC - 480)/2, // viYOrigin 286 640, // viWidth 287 480, // viHeight 288 VI_XFBMODE_SF, // xFBmode 289 GX_TRUE, // field_rendering 290 GX_FALSE, // aa 291 292 // sample points arranged in increasing Y order 293 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 294 6, 6, 6, 6, 6, 6, // pix 1 295 6, 6, 6, 6, 6, 6, // pix 2 296 6, 6, 6, 6, 6, 6, // pix 3 297 298 // vertical filter[7], 1/64 units, 6 bits each 299 0, // line n-1 300 0, // line n-1 301 21, // line n 302 22, // line n 303 21, // line n 304 0, // line n+1 305 0 // line n+1 306 }; 307 GXRenderModeObj GXNtsc240IntAa = 308 { 309 VI_TVMODE_NTSC_INT, // viDisplayMode 310 640, // fbWidth 311 240, // efbHeight 312 240, // xfbHeight 313 (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin 314 (VI_MAX_HEIGHT_NTSC - 480)/2, // viYOrigin 315 640, // viWidth 316 480, // viHeight 317 VI_XFBMODE_SF, // xFBmode 318 GX_TRUE, // field_rendering 319 GX_TRUE, // aa 320 321 // sample points arranged in increasing Y order 322 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each 323 3, 2, 9, 6, 3, 10, // pix 1 324 9, 2, 3, 6, 9, 10, // pix 2 325 9, 2, 3, 6, 9, 10, // pix 3 326 327 // vertical filter[7], 1/64 units, 6 bits each 328 0, // line n-1 329 0, // line n-1 330 21, // line n 331 22, // line n 332 21, // line n 333 0, // line n+1 334 0 // line n+1 335 }; 336 GXRenderModeObj GXNtsc480IntDf = 337 { 338 VI_TVMODE_NTSC_INT, // viDisplayMode 339 640, // fbWidth 340 480, // efbHeight 341 480, // xfbHeight 342 (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin 343 (VI_MAX_HEIGHT_NTSC - 480)/2, // viYOrigin 344 640, // viWidth 345 480, // viHeight 346 VI_XFBMODE_DF, // xFBmode 347 GX_FALSE, // field_rendering 348 GX_FALSE, // aa 349 350 // sample points arranged in increasing Y order 351 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 352 6, 6, 6, 6, 6, 6, // pix 1 353 6, 6, 6, 6, 6, 6, // pix 2 354 6, 6, 6, 6, 6, 6, // pix 3 355 356 // vertical filter[7], 1/64 units, 6 bits each 357 8, // line n-1 358 8, // line n-1 359 10, // line n 360 12, // line n 361 10, // line n 362 8, // line n+1 363 8 // line n+1 364 }; 365 GXRenderModeObj GXNtsc480Int = 366 { 367 VI_TVMODE_NTSC_INT, // viDisplayMode 368 640, // fbWidth 369 480, // efbHeight 370 480, // xfbHeight 371 (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin 372 (VI_MAX_HEIGHT_NTSC - 480)/2, // viYOrigin 373 640, // viWidth 374 480, // viHeight 375 VI_XFBMODE_DF, // xFBmode 376 GX_FALSE, // field_rendering 377 GX_FALSE, // aa 378 379 // sample points arranged in increasing Y order 380 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 381 6, 6, 6, 6, 6, 6, // pix 1 382 6, 6, 6, 6, 6, 6, // pix 2 383 6, 6, 6, 6, 6, 6, // pix 3 384 385 // vertical filter[7], 1/64 units, 6 bits each 386 0, // line n-1 387 0, // line n-1 388 21, // line n 389 22, // line n 390 21, // line n 391 0, // line n+1 392 0 // line n+1 393 }; 394 GXRenderModeObj GXNtsc480IntAa = 395 { 396 VI_TVMODE_NTSC_INT, // viDisplayMode 397 640, // fbWidth 398 242, // efbHeight 399 480, // xfbHeight 400 (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin 401 (VI_MAX_HEIGHT_NTSC - 480)/2, // viYOrigin 402 640, // viWidth 403 480, // viHeight 404 VI_XFBMODE_DF, // xFBmode 405 GX_FALSE, // field_rendering 406 GX_TRUE, // aa 407 408 // sample points arranged in increasing Y order 409 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each 410 3, 2, 9, 6, 3, 10, // pix 1 411 9, 2, 3, 6, 9, 10, // pix 2 412 9, 2, 3, 6, 9, 10, // pix 3 413 414 // vertical filter[7], 1/64 units, 6 bits each 415 4, // line n-1 416 8, // line n-1 417 12, // line n 418 16, // line n 419 12, // line n 420 8, // line n+1 421 4 // line n+1 422 }; 423 GXRenderModeObj GXNtsc480Prog = 424 { 425 VI_TVMODE_NTSC_PROG, // viDisplayMode 426 640, // fbWidth 427 480, // efbHeight 428 480, // xfbHeight 429 (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin 430 (VI_MAX_HEIGHT_NTSC - 480)/2, // viYOrigin 431 640, // viWidth 432 480, // viHeight 433 VI_XFBMODE_SF, // xFBmode 434 GX_FALSE, // field_rendering 435 GX_FALSE, // aa 436 437 // sample points arranged in increasing Y order 438 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 439 6, 6, 6, 6, 6, 6, // pix 1 440 6, 6, 6, 6, 6, 6, // pix 2 441 6, 6, 6, 6, 6, 6, // pix 3 442 443 // vertical filter[7], 1/64 units, 6 bits each 444 0, // line n-1 445 0, // line n-1 446 21, // line n 447 22, // line n 448 21, // line n 449 0, // line n+1 450 0 // line n+1 451 }; 452 GXRenderModeObj GXNtsc480ProgSoft = 453 { 454 VI_TVMODE_NTSC_PROG, // viDisplayMode 455 640, // fbWidth 456 480, // efbHeight 457 480, // xfbHeight 458 (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin 459 (VI_MAX_HEIGHT_NTSC - 480)/2, // viYOrigin 460 640, // viWidth 461 480, // viHeight 462 VI_XFBMODE_SF, // xFBmode 463 GX_FALSE, // field_rendering 464 GX_FALSE, // aa 465 466 // sample points arranged in increasing Y order 467 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 468 6, 6, 6, 6, 6, 6, // pix 1 469 6, 6, 6, 6, 6, 6, // pix 2 470 6, 6, 6, 6, 6, 6, // pix 3 471 472 // vertical filter[7], 1/64 units, 6 bits each 473 8, // line n-1 474 8, // line n-1 475 10, // line n 476 12, // line n 477 10, // line n 478 8, // line n+1 479 8 // line n+1 480 }; 481 GXRenderModeObj GXNtsc480ProgAa = 482 { 483 VI_TVMODE_NTSC_PROG, // viDisplayMode 484 640, // fbWidth 485 242, // efbHeight 486 480, // xfbHeight 487 (VI_MAX_WIDTH_NTSC - 640)/2, // viXOrigin 488 (VI_MAX_HEIGHT_NTSC - 480)/2, // viYOrigin 489 640, // viWidth 490 480, // viHeight 491 VI_XFBMODE_SF, // xFBmode 492 GX_FALSE, // field_rendering 493 GX_TRUE, // aa 494 495 // sample points arranged in increasing Y order 496 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each 497 3, 2, 9, 6, 3, 10, // pix 1 498 9, 2, 3, 6, 9, 10, // pix 2 499 9, 2, 3, 6, 9, 10, // pix 3 500 501 // vertical filter[7], 1/64 units, 6 bits each 502 4, // line n-1 503 8, // line n-1 504 12, // line n 505 16, // line n 506 12, // line n 507 8, // line n+1 508 4 // line n+1 509 }; 510 511 /*---------------------------------------------------------------------------*/ 512 513 GXRenderModeObj GXMpal240Ds = 514 { 515 VI_TVMODE_MPAL_DS, // viDisplayMode 516 640, // fbWidth 517 240, // efbHeight 518 240, // xfbHeight 519 (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin 520 (VI_MAX_HEIGHT_MPAL/2 - 480/2)/2, // viYOrigin 521 640, // viWidth 522 480, // viHeight 523 VI_XFBMODE_SF, // xFBmode 524 GX_FALSE, // field_rendering 525 GX_FALSE, // aa 526 527 // sample points arranged in increasing Y order 528 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 529 6, 6, 6, 6, 6, 6, // pix 1 530 6, 6, 6, 6, 6, 6, // pix 2 531 6, 6, 6, 6, 6, 6, // pix 3 532 533 // vertical filter[7], 1/64 units, 6 bits each 534 0, // line n-1 535 0, // line n-1 536 21, // line n 537 22, // line n 538 21, // line n 539 0, // line n+1 540 0 // line n+1 541 }; 542 GXRenderModeObj GXMpal240DsAa = 543 { 544 VI_TVMODE_MPAL_DS, // viDisplayMode 545 640, // fbWidth 546 240, // efbHeight 547 240, // xfbHeight 548 (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin 549 (VI_MAX_HEIGHT_MPAL/2 - 480/2)/2, // viYOrigin 550 640, // viWidth 551 480, // viHeight 552 VI_XFBMODE_SF, // xFBmode 553 GX_FALSE, // field_rendering 554 GX_TRUE, // aa 555 556 // sample points arranged in increasing Y order 557 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each 558 3, 2, 9, 6, 3, 10, // pix 1 559 9, 2, 3, 6, 9, 10, // pix 2 560 9, 2, 3, 6, 9, 10, // pix 3 561 562 // vertical filter[7], 1/64 units, 6 bits each 563 0, // line n-1 564 0, // line n-1 565 21, // line n 566 22, // line n 567 21, // line n 568 0, // line n+1 569 0 // line n+1 570 }; 571 GXRenderModeObj GXMpal240Int = 572 { 573 VI_TVMODE_MPAL_INT, // viDisplayMode 574 640, // fbWidth 575 240, // efbHeight 576 240, // xfbHeight 577 (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin 578 (VI_MAX_HEIGHT_MPAL - 480)/2, // viYOrigin 579 640, // viWidth 580 480, // viHeight 581 VI_XFBMODE_SF, // xFBmode 582 GX_TRUE, // field_rendering 583 GX_FALSE, // aa 584 585 // sample points arranged in increasing Y order 586 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 587 6, 6, 6, 6, 6, 6, // pix 1 588 6, 6, 6, 6, 6, 6, // pix 2 589 6, 6, 6, 6, 6, 6, // pix 3 590 591 // vertical filter[7], 1/64 units, 6 bits each 592 0, // line n-1 593 0, // line n-1 594 21, // line n 595 22, // line n 596 21, // line n 597 0, // line n+1 598 0 // line n+1 599 }; 600 GXRenderModeObj GXMpal240IntAa = 601 { 602 VI_TVMODE_MPAL_INT, // viDisplayMode 603 640, // fbWidth 604 240, // efbHeight 605 240, // xfbHeight 606 (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin 607 (VI_MAX_HEIGHT_MPAL - 480)/2, // viYOrigin 608 640, // viWidth 609 480, // viHeight 610 VI_XFBMODE_SF, // xFBmode 611 GX_TRUE, // field_rendering 612 GX_TRUE, // aa 613 614 // sample points arranged in increasing Y order 615 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each 616 3, 2, 9, 6, 3, 10, // pix 1 617 9, 2, 3, 6, 9, 10, // pix 2 618 9, 2, 3, 6, 9, 10, // pix 3 619 620 // vertical filter[7], 1/64 units, 6 bits each 621 0, // line n-1 622 0, // line n-1 623 21, // line n 624 22, // line n 625 21, // line n 626 0, // line n+1 627 0 // line n+1 628 }; 629 GXRenderModeObj GXMpal480IntDf = 630 { 631 VI_TVMODE_MPAL_INT, // viDisplayMode 632 640, // fbWidth 633 480, // efbHeight 634 480, // xfbHeight 635 (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin 636 (VI_MAX_HEIGHT_MPAL - 480)/2, // viYOrigin 637 640, // viWidth 638 480, // viHeight 639 VI_XFBMODE_DF, // xFBmode 640 GX_FALSE, // field_rendering 641 GX_FALSE, // aa 642 643 // sample points arranged in increasing Y order 644 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 645 6, 6, 6, 6, 6, 6, // pix 1 646 6, 6, 6, 6, 6, 6, // pix 2 647 6, 6, 6, 6, 6, 6, // pix 3 648 649 // vertical filter[7], 1/64 units, 6 bits each 650 8, // line n-1 651 8, // line n-1 652 10, // line n 653 12, // line n 654 10, // line n 655 8, // line n+1 656 8 // line n+1 657 }; 658 GXRenderModeObj GXMpal480Int = 659 { 660 VI_TVMODE_MPAL_INT, // viDisplayMode 661 640, // fbWidth 662 480, // efbHeight 663 480, // xfbHeight 664 (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin 665 (VI_MAX_HEIGHT_MPAL - 480)/2, // viYOrigin 666 640, // viWidth 667 480, // viHeight 668 VI_XFBMODE_DF, // xFBmode 669 GX_FALSE, // field_rendering 670 GX_FALSE, // aa 671 672 // sample points arranged in increasing Y order 673 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 674 6, 6, 6, 6, 6, 6, // pix 1 675 6, 6, 6, 6, 6, 6, // pix 2 676 6, 6, 6, 6, 6, 6, // pix 3 677 678 // vertical filter[7], 1/64 units, 6 bits each 679 0, // line n-1 680 0, // line n-1 681 21, // line n 682 22, // line n 683 21, // line n 684 0, // line n+1 685 0 // line n+1 686 }; 687 GXRenderModeObj GXMpal480IntAa = 688 { 689 VI_TVMODE_MPAL_INT, // viDisplayMode 690 640, // fbWidth 691 242, // efbHeight 692 480, // xfbHeight 693 (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin 694 (VI_MAX_HEIGHT_MPAL - 480)/2, // viYOrigin 695 640, // viWidth 696 480, // viHeight 697 VI_XFBMODE_DF, // xFBmode 698 GX_FALSE, // field_rendering 699 GX_TRUE, // aa 700 701 // sample points arranged in increasing Y order 702 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each 703 3, 2, 9, 6, 3, 10, // pix 1 704 9, 2, 3, 6, 9, 10, // pix 2 705 9, 2, 3, 6, 9, 10, // pix 3 706 707 // vertical filter[7], 1/64 units, 6 bits each 708 4, // line n-1 709 8, // line n-1 710 12, // line n 711 16, // line n 712 12, // line n 713 8, // line n+1 714 4 // line n+1 715 }; 716 GXRenderModeObj GXMpal480Prog = 717 { 718 VI_TVMODE_MPAL_PROG, // viDisplayMode 719 640, // fbWidth 720 480, // efbHeight 721 480, // xfbHeight 722 (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin 723 (VI_MAX_HEIGHT_MPAL - 480)/2, // viYOrigin 724 640, // viWidth 725 480, // viHeight 726 VI_XFBMODE_SF, // xFBmode 727 GX_FALSE, // field_rendering 728 GX_FALSE, // aa 729 730 // sample points arranged in increasing Y order 731 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 732 6, 6, 6, 6, 6, 6, // pix 1 733 6, 6, 6, 6, 6, 6, // pix 2 734 6, 6, 6, 6, 6, 6, // pix 3 735 736 // vertical filter[7], 1/64 units, 6 bits each 737 0, // line n-1 738 0, // line n-1 739 21, // line n 740 22, // line n 741 21, // line n 742 0, // line n+1 743 0 // line n+1 744 }; 745 GXRenderModeObj GXMpal480ProgSoft = 746 { 747 VI_TVMODE_MPAL_PROG, // viDisplayMode 748 640, // fbWidth 749 480, // efbHeight 750 480, // xfbHeight 751 (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin 752 (VI_MAX_HEIGHT_MPAL - 480)/2, // viYOrigin 753 640, // viWidth 754 480, // viHeight 755 VI_XFBMODE_SF, // xFBmode 756 GX_FALSE, // field_rendering 757 GX_FALSE, // aa 758 759 // sample points arranged in increasing Y order 760 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 761 6, 6, 6, 6, 6, 6, // pix 1 762 6, 6, 6, 6, 6, 6, // pix 2 763 6, 6, 6, 6, 6, 6, // pix 3 764 765 // vertical filter[7], 1/64 units, 6 bits each 766 8, // line n-1 767 8, // line n-1 768 10, // line n 769 12, // line n 770 10, // line n 771 8, // line n+1 772 8 // line n+1 773 }; 774 GXRenderModeObj GXMpal480ProgAa = 775 { 776 VI_TVMODE_MPAL_PROG, // viDisplayMode 777 640, // fbWidth 778 242, // efbHeight 779 480, // xfbHeight 780 (VI_MAX_WIDTH_MPAL - 640)/2, // viXOrigin 781 (VI_MAX_HEIGHT_MPAL - 480)/2, // viYOrigin 782 640, // viWidth 783 480, // viHeight 784 VI_XFBMODE_SF, // xFBmode 785 GX_FALSE, // field_rendering 786 GX_TRUE, // aa 787 788 // sample points arranged in increasing Y order 789 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each 790 3, 2, 9, 6, 3, 10, // pix 1 791 9, 2, 3, 6, 9, 10, // pix 2 792 9, 2, 3, 6, 9, 10, // pix 3 793 794 // vertical filter[7], 1/64 units, 6 bits each 795 4, // line n-1 796 8, // line n-1 797 12, // line n 798 16, // line n 799 12, // line n 800 8, // line n+1 801 4 // line n+1 802 }; 803 /*---------------------------------------------------------------------------*/ 804 805 GXRenderModeObj GXPal264Ds = 806 { 807 VI_TVMODE_PAL_DS, // viDisplayMode 808 640, // fbWidth 809 264, // efbHeight 810 264, // xfbHeight 811 (VI_MAX_WIDTH_PAL - 640)/2, // viXOrigin 812 (VI_MAX_HEIGHT_PAL/2 - 528/2)/2, // viYOrigin 813 640, // viWidth 814 528, // viHeight 815 VI_XFBMODE_SF, // xFBmode 816 GX_FALSE, // field_rendering 817 GX_FALSE, // aa 818 819 // sample points arranged in increasing Y order 820 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 821 6, 6, 6, 6, 6, 6, // pix 1 822 6, 6, 6, 6, 6, 6, // pix 2 823 6, 6, 6, 6, 6, 6, // pix 3 824 825 // vertical filter[7], 1/64 units, 6 bits each 826 0, // line n-1 827 0, // line n-1 828 21, // line n 829 22, // line n 830 21, // line n 831 0, // line n+1 832 0 // line n+1 833 }; 834 GXRenderModeObj GXPal264DsAa = 835 { 836 VI_TVMODE_PAL_DS, // viDisplayMode 837 640, // fbWidth 838 264, // efbHeight 839 264, // xfbHeight 840 (VI_MAX_WIDTH_PAL - 640)/2, // viXOrigin 841 (VI_MAX_HEIGHT_PAL/2 - 528/2)/2, // viYOrigin 842 640, // viWidth 843 528, // viHeight 844 VI_XFBMODE_SF, // xFBmode 845 GX_FALSE, // field_rendering 846 GX_TRUE, // aa 847 848 // sample points arranged in increasing Y order 849 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each 850 3, 2, 9, 6, 3, 10, // pix 1 851 9, 2, 3, 6, 9, 10, // pix 2 852 9, 2, 3, 6, 9, 10, // pix 3 853 854 // vertical filter[7], 1/64 units, 6 bits each 855 0, // line n-1 856 0, // line n-1 857 21, // line n 858 22, // line n 859 21, // line n 860 0, // line n+1 861 0 // line n+1 862 }; 863 GXRenderModeObj GXPal264Int = 864 { 865 VI_TVMODE_PAL_INT, // viDisplayMode 866 640, // fbWidth 867 264, // efbHeight 868 264, // xfbHeight 869 (VI_MAX_WIDTH_PAL - 640)/2, // viXOrigin 870 (VI_MAX_HEIGHT_PAL - 528)/2, // viYOrigin 871 640, // viWidth 872 528, // viHeight 873 VI_XFBMODE_SF, // xFBmode 874 GX_TRUE, // field_rendering 875 GX_FALSE, // aa 876 877 // sample points arranged in increasing Y order 878 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 879 6, 6, 6, 6, 6, 6, // pix 1 880 6, 6, 6, 6, 6, 6, // pix 2 881 6, 6, 6, 6, 6, 6, // pix 3 882 883 // vertical filter[7], 1/64 units, 6 bits each 884 0, // line n-1 885 0, // line n-1 886 21, // line n 887 22, // line n 888 21, // line n 889 0, // line n+1 890 0 // line n+1 891 }; 892 GXRenderModeObj GXPal264IntAa = 893 { 894 VI_TVMODE_PAL_INT, // viDisplayMode 895 640, // fbWidth 896 264, // efbHeight 897 264, // xfbHeight 898 (VI_MAX_WIDTH_PAL - 640)/2, // viXOrigin 899 (VI_MAX_HEIGHT_PAL - 528)/2, // viYOrigin 900 640, // viWidth 901 528, // viHeight 902 VI_XFBMODE_SF, // xFBmode 903 GX_TRUE, // field_rendering 904 GX_TRUE, // aa 905 906 // sample points arranged in increasing Y order 907 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each 908 3, 2, 9, 6, 3, 10, // pix 1 909 9, 2, 3, 6, 9, 10, // pix 2 910 9, 2, 3, 6, 9, 10, // pix 3 911 912 // vertical filter[7], 1/64 units, 6 bits each 913 0, // line n-1 914 0, // line n-1 915 21, // line n 916 22, // line n 917 21, // line n 918 0, // line n+1 919 0 // line n+1 920 }; 921 GXRenderModeObj GXPal528IntDf = 922 { 923 VI_TVMODE_PAL_INT, // viDisplayMode 924 640, // fbWidth 925 528, // efbHeight 926 528, // xfbHeight 927 (VI_MAX_WIDTH_PAL - 640)/2, // viXOrigin 928 (VI_MAX_HEIGHT_PAL - 528)/2, // viYOrigin 929 640, // viWidth 930 528, // viHeight 931 VI_XFBMODE_DF, // xFBmode 932 GX_FALSE, // field_rendering 933 GX_FALSE, // aa 934 935 // sample points arranged in increasing Y order 936 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 937 6, 6, 6, 6, 6, 6, // pix 1 938 6, 6, 6, 6, 6, 6, // pix 2 939 6, 6, 6, 6, 6, 6, // pix 3 940 941 // vertical filter[7], 1/64 units, 6 bits each 942 8, // line n-1 943 8, // line n-1 944 10, // line n 945 12, // line n 946 10, // line n 947 8, // line n+1 948 8 // line n+1 949 }; 950 GXRenderModeObj GXPal528Int = 951 { 952 VI_TVMODE_PAL_INT, // viDisplayMode 953 640, // fbWidth 954 528, // efbHeight 955 528, // xfbHeight 956 (VI_MAX_WIDTH_PAL - 640)/2, // viXOrigin 957 (VI_MAX_HEIGHT_PAL - 528)/2, // viYOrigin 958 640, // viWidth 959 528, // viHeight 960 VI_XFBMODE_DF, // xFBmode 961 GX_FALSE, // field_rendering 962 GX_FALSE, // aa 963 964 // sample points arranged in increasing Y order 965 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 966 6, 6, 6, 6, 6, 6, // pix 1 967 6, 6, 6, 6, 6, 6, // pix 2 968 6, 6, 6, 6, 6, 6, // pix 3 969 970 // vertical filter[7], 1/64 units, 6 bits each 971 0, // line n-1 972 0, // line n-1 973 21, // line n 974 22, // line n 975 21, // line n 976 0, // line n+1 977 0 // line n+1 978 }; 979 GXRenderModeObj GXPal524IntAa = 980 { 981 VI_TVMODE_PAL_INT, // viDisplayMode 982 640, // fbWidth 983 264, // efbHeight (maximum is 528/2) 984 524, // xfbHeight (allow for required overlap of 4 lines) 985 (VI_MAX_WIDTH_PAL - 640)/2, // viXOrigin 986 (VI_MAX_HEIGHT_PAL - 528)/2, // viYOrigin 987 640, // viWidth 988 524, // viHeight 989 VI_XFBMODE_DF, // xFBmode 990 GX_FALSE, // field_rendering 991 GX_TRUE, // aa 992 993 // sample points arranged in increasing Y order 994 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each 995 3, 2, 9, 6, 3, 10, // pix 1 996 9, 2, 3, 6, 9, 10, // pix 2 997 9, 2, 3, 6, 9, 10, // pix 3 998 999 // vertical filter[7], 1/64 units, 6 bits each 1000 4, // line n-1 1001 8, // line n-1 1002 12, // line n 1003 16, // line n 1004 12, // line n 1005 8, // line n+1 1006 4 // line n+1 1007 }; 1008 1009 GXRenderModeObj GXEurgb60Hz240Ds = 1010 { 1011 VI_TVMODE_EURGB60_DS, // viTVmode 1012 640, // fbWidth 1013 240, // efbHeight 1014 240, // xfbHeight 1015 (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin 1016 (VI_MAX_HEIGHT_EURGB60/2 - 480/2)/2, // viYOrigin 1017 640, // viWidth 1018 480, // viHeight 1019 VI_XFBMODE_SF, // xFBmode 1020 GX_FALSE, // field_rendering 1021 GX_FALSE, // aa 1022 1023 // sample points arranged in increasing Y order 1024 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 1025 6, 6, 6, 6, 6, 6, // pix 1 1026 6, 6, 6, 6, 6, 6, // pix 2 1027 6, 6, 6, 6, 6, 6, // pix 3 1028 1029 // vertical filter[7], 1/64 units, 6 bits each 1030 0, // line n-1 1031 0, // line n-1 1032 21, // line n 1033 22, // line n 1034 21, // line n 1035 0, // line n+1 1036 0 // line n+1 1037 }; 1038 GXRenderModeObj GXEurgb60Hz240DsAa = 1039 { 1040 VI_TVMODE_EURGB60_DS, // viTVmode 1041 640, // fbWidth 1042 240, // efbHeight 1043 240, // xfbHeight 1044 (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin 1045 (VI_MAX_HEIGHT_EURGB60/2 - 480/2)/2, // viYOrigin 1046 640, // viWidth 1047 480, // viHeight 1048 VI_XFBMODE_SF, // xFBmode 1049 GX_FALSE, // field_rendering 1050 GX_TRUE, // aa 1051 1052 // sample points arranged in increasing Y order 1053 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each 1054 3, 2, 9, 6, 3, 10, // pix 1 1055 9, 2, 3, 6, 9, 10, // pix 2 1056 9, 2, 3, 6, 9, 10, // pix 3 1057 1058 // vertical filter[7], 1/64 units, 6 bits each 1059 0, // line n-1 1060 0, // line n-1 1061 21, // line n 1062 22, // line n 1063 21, // line n 1064 0, // line n+1 1065 0 // line n+1 1066 }; 1067 GXRenderModeObj GXEurgb60Hz240Int = 1068 { 1069 VI_TVMODE_EURGB60_INT, // viTVmode 1070 640, // fbWidth 1071 240, // efbHeight 1072 240, // xfbHeight 1073 (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin 1074 (VI_MAX_HEIGHT_EURGB60 - 480)/2, // viYOrigin 1075 640, // viWidth 1076 480, // viHeight 1077 VI_XFBMODE_SF, // xFBmode 1078 GX_TRUE, // field_rendering 1079 GX_FALSE, // aa 1080 1081 // sample points arranged in increasing Y order 1082 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 1083 6, 6, 6, 6, 6, 6, // pix 1 1084 6, 6, 6, 6, 6, 6, // pix 2 1085 6, 6, 6, 6, 6, 6, // pix 3 1086 1087 // vertical filter[7], 1/64 units, 6 bits each 1088 0, // line n-1 1089 0, // line n-1 1090 21, // line n 1091 22, // line n 1092 21, // line n 1093 0, // line n+1 1094 0 // line n+1 1095 }; 1096 GXRenderModeObj GXEurgb60Hz240IntAa = 1097 { 1098 VI_TVMODE_EURGB60_INT, // viTVmode 1099 640, // fbWidth 1100 240, // efbHeight 1101 240, // xfbHeight 1102 (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin 1103 (VI_MAX_HEIGHT_EURGB60 - 480)/2, // viYOrigin 1104 640, // viWidth 1105 480, // viHeight 1106 VI_XFBMODE_SF, // xFBmode 1107 GX_TRUE, // field_rendering 1108 GX_TRUE, // aa 1109 1110 // sample points arranged in increasing Y order 1111 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each 1112 3, 2, 9, 6, 3, 10, // pix 1 1113 9, 2, 3, 6, 9, 10, // pix 2 1114 9, 2, 3, 6, 9, 10, // pix 3 1115 1116 // vertical filter[7], 1/64 units, 6 bits each 1117 0, // line n-1 1118 0, // line n-1 1119 21, // line n 1120 22, // line n 1121 21, // line n 1122 0, // line n+1 1123 0 // line n+1 1124 }; 1125 GXRenderModeObj GXEurgb60Hz480IntDf = 1126 { 1127 VI_TVMODE_EURGB60_INT, // viTVmode 1128 640, // fbWidth 1129 480, // efbHeight 1130 480, // xfbHeight 1131 (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin 1132 (VI_MAX_HEIGHT_EURGB60 - 480)/2, // viYOrigin 1133 640, // viWidth 1134 480, // viHeight 1135 VI_XFBMODE_DF, // xFBmode 1136 GX_FALSE, // field_rendering 1137 GX_FALSE, // aa 1138 1139 // sample points arranged in increasing Y order 1140 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 1141 6, 6, 6, 6, 6, 6, // pix 1 1142 6, 6, 6, 6, 6, 6, // pix 2 1143 6, 6, 6, 6, 6, 6, // pix 3 1144 1145 // vertical filter[7], 1/64 units, 6 bits each 1146 8, // line n-1 1147 8, // line n-1 1148 10, // line n 1149 12, // line n 1150 10, // line n 1151 8, // line n+1 1152 8 // line n+1 1153 }; 1154 GXRenderModeObj GXEurgb60Hz480Int = 1155 { 1156 VI_TVMODE_EURGB60_INT, // viTVmode 1157 640, // fbWidth 1158 480, // efbHeight 1159 480, // xfbHeight 1160 (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin 1161 (VI_MAX_HEIGHT_EURGB60 - 480)/2, // viYOrigin 1162 640, // viWidth 1163 480, // viHeight 1164 VI_XFBMODE_DF, // xFBmode 1165 GX_FALSE, // field_rendering 1166 GX_FALSE, // aa 1167 1168 // sample points arranged in increasing Y order 1169 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 1170 6, 6, 6, 6, 6, 6, // pix 1 1171 6, 6, 6, 6, 6, 6, // pix 2 1172 6, 6, 6, 6, 6, 6, // pix 3 1173 1174 // vertical filter[7], 1/64 units, 6 bits each 1175 0, // line n-1 1176 0, // line n-1 1177 21, // line n 1178 22, // line n 1179 21, // line n 1180 0, // line n+1 1181 0 // line n+1 1182 }; 1183 GXRenderModeObj GXEurgb60Hz480IntAa = 1184 { 1185 VI_TVMODE_EURGB60_INT, // viTVmode 1186 640, // fbWidth 1187 242, // efbHeight 1188 480, // xfbHeight 1189 (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin 1190 (VI_MAX_HEIGHT_EURGB60 - 480)/2, // viYOrigin 1191 640, // viWidth 1192 480, // viHeight 1193 VI_XFBMODE_DF, // xFBmode 1194 GX_FALSE, // field_rendering 1195 GX_TRUE, // aa 1196 1197 // sample points arranged in increasing Y order 1198 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each 1199 3, 2, 9, 6, 3, 10, // pix 1 1200 9, 2, 3, 6, 9, 10, // pix 2 1201 9, 2, 3, 6, 9, 10, // pix 3 1202 1203 // vertical filter[7], 1/64 units, 6 bits each 1204 4, // line n-1 1205 8, // line n-1 1206 12, // line n 1207 16, // line n 1208 12, // line n 1209 8, // line n+1 1210 4 // line n+1 1211 }; 1212 GXRenderModeObj GXEurgb60Hz480Prog = 1213 { 1214 VI_TVMODE_EURGB60_PROG, // viDisplayMode 1215 640, // fbWidth 1216 480, // efbHeight 1217 480, // xfbHeight 1218 (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin 1219 (VI_MAX_HEIGHT_EURGB60 - 480)/2, // viYOrigin 1220 640, // viWidth 1221 480, // viHeight 1222 VI_XFBMODE_SF, // xFBmode 1223 GX_FALSE, // field_rendering 1224 GX_FALSE, // aa 1225 1226 // sample points arranged in increasing Y order 1227 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 1228 6, 6, 6, 6, 6, 6, // pix 1 1229 6, 6, 6, 6, 6, 6, // pix 2 1230 6, 6, 6, 6, 6, 6, // pix 3 1231 1232 // vertical filter[7], 1/64 units, 6 bits each 1233 0, // line n-1 1234 0, // line n-1 1235 21, // line n 1236 22, // line n 1237 21, // line n 1238 0, // line n+1 1239 0 // line n+1 1240 }; 1241 GXRenderModeObj GXEurgb60Hz480ProgSoft = 1242 { 1243 VI_TVMODE_EURGB60_PROG, // viDisplayMode 1244 640, // fbWidth 1245 480, // efbHeight 1246 480, // xfbHeight 1247 (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin 1248 (VI_MAX_HEIGHT_EURGB60 - 480)/2, // viYOrigin 1249 640, // viWidth 1250 480, // viHeight 1251 VI_XFBMODE_SF, // xFBmode 1252 GX_FALSE, // field_rendering 1253 GX_FALSE, // aa 1254 1255 // sample points arranged in increasing Y order 1256 6, 6, 6, 6, 6, 6, // pix 0, 3 sample points, 1/12 units, 4 bits each 1257 6, 6, 6, 6, 6, 6, // pix 1 1258 6, 6, 6, 6, 6, 6, // pix 2 1259 6, 6, 6, 6, 6, 6, // pix 3 1260 1261 // vertical filter[7], 1/64 units, 6 bits each 1262 8, // line n-1 1263 8, // line n-1 1264 10, // line n 1265 12, // line n 1266 10, // line n 1267 8, // line n+1 1268 8 // line n+1 1269 }; 1270 GXRenderModeObj GXEurgb60Hz480ProgAa = 1271 { 1272 VI_TVMODE_EURGB60_PROG, // viDisplayMode 1273 640, // fbWidth 1274 242, // efbHeight 1275 480, // xfbHeight 1276 (VI_MAX_WIDTH_EURGB60 - 640)/2, // viXOrigin 1277 (VI_MAX_HEIGHT_EURGB60 - 480)/2, // viYOrigin 1278 640, // viWidth 1279 480, // viHeight 1280 VI_XFBMODE_SF, // xFBmode 1281 GX_FALSE, // field_rendering 1282 GX_TRUE, // aa 1283 1284 // sample points arranged in increasing Y order 1285 3, 2, 9, 6, 3, 10, // pix 0, 3 sample points, 1/12 units, 4 bits each 1286 3, 2, 9, 6, 3, 10, // pix 1 1287 9, 2, 3, 6, 9, 10, // pix 2 1288 9, 2, 3, 6, 9, 10, // pix 3 1289 1290 // vertical filter[7], 1/64 units, 6 bits each 1291 4, // line n-1 1292 8, // line n-1 1293 12, // line n 1294 16, // line n 1295 12, // line n 1296 8, // line n+1 1297 4 // line n+1 1298 }; 1299 1300 1301 #endif // #if 0 1302 /*---------------------------------------------------------------------------*/ 1303 1304 #ifdef __cplusplus 1305 } 1306 #endif 1307 1308 #endif // __GXFRAMEBUFFER_H__ 1309