📄 tbl1622a.h
字号:
/*
* Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
* Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sub license,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the
* next paragraph) shall be included in all copies or substantial portions
* of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
* VIA, S3 GRAPHICS, AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
#ifndef __TBL1622A_H__
#define __TBL1622A_H__
#include "share.h"
/***************************/
/* VT1622A TV Encoder Table*/
/***************************/
typedef struct _vt1622a_func_table {
int tv_func_index;
u16 *tv_underscan;
u16 *tv_fitscan;
u16 *tv_overscan;
} vt1622a_func_table;
struct vt1622a_table {
int tv_index;
vt1622a_func_table *tv_mode_ntsc;
vt1622a_func_table *tv_mode_pal;
};
/* Underscan table */
static u16 VT1622A_N640x480_VN[] = {
//
0x0400, 0x0001, 0x0002, 0x0603, 0x0304, // TV.00-04
0x0005, 0x2006, 0x2707, 0x9A08, 0x0C09, // Tv.05-09
0x550A, 0x000B, 0x520C, 0x3B0D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0xF812, 0x3E13, // TV.0F-13
0x8114, 0x5615, 0xF116, 0x9117, 0x2418, // TV.14-18
0x2519, 0xEA1A, 0x101B, 0x001C, 0x801D, // TV.19-1D
0x001E, 0x111F, 0x1520, 0x0C21, 0x5F22, // TV.1E-22
0x7523, 0x0824, // TV.23-24
//
0x5625, 0x2F26, 0x9027, 0x5028, 0x0029, // TV.25-29
0x002A, 0xA32B, 0x292C, 0x5B2D, 0xBF2E, // TV.2A-2E
0x002F, // TV.2F
// Filter registers
0x004A, 0x004B, 0x004C, 0x044D, 0x004E, // TV.4A-4E
0x3B4F, // TV.4F
// Set Video Timing (TV Timing Regsiter )
0x0F50, 0x7F51, 0x2352, 0x5753, 0x0254, // TV.50-54
0x0F55, 0x2756, 0x7357, 0x6358, 0x8659, // TV.55-59
0xC45A, 0xDD5B, 0xD35C, 0x055D, // TV.5A-5D
// Set Video Timing (TV CRTC Regsiter )
0x925E, 0xA45F, 0x0460, 0x0061, 0x0062, // TV.5E-62
0x7F63, 0x0364, // TV.63-64
//HT, HA, HBS, HBE, HSS, HSE, VT, VA, VBS, VBE, VSS, VSE
784, 640, 640, 144, 688, 56, 600, 480, 480, 120, 488, 7
};
#define NUM_TOTAL_VT1622A_REG ARRAY_SIZE(VT1622A_N640x480_VN) -NUM_CRTC_TIMING
static u16 VT1622A_N800x600_VN[] = {
//
0x8400, 0x0001, 0x0002, 0x0403, 0x0304, // TV.00-04
0x0005, 0x2006, 0x5707, 0xD408, 0x0909, // TV.05-09
0x520A, 0x000B, 0x510C, 0x3B0D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0x6A12, 0x0D13, // TV.0F-13
0x4C14, 0x1C15, 0x9616, 0x5017, 0x5E18, // TV.14-18
0x1B19, 0x3E1A, 0x101B, 0x011C, 0x801D, // TV.19-1D
0x001E, 0x441F, 0x1020, 0x0A21, 0x9C22, // TV.1E-22
0x7523, 0x0424, // TV.23-24
//
0x5625, 0x4126, 0x9027, 0x6B28, 0x0029, // TV.25-29
0x002A, 0xA32B, 0x292C, 0x862D, 0x102E, // TV.2A-2E
0x102F, // TV.2F
// Filter registers
0x004A, 0x004B, 0x004C, 0x044D, 0x004E, // TV.4A-4E
0x3A4F, // TV.4F
// Set Video Timing (TV Timing Regsiter )
0x2750, 0x1F51, 0x3452, 0xED53, 0x0254, // TV.50-54
0x2755, 0xF556, 0x9D57, 0x6458, 0xB759, // TV.55-59
0x0D5A, 0x215B, 0xF15C, 0x575D, // TV.5A-5D
// Set Video Timing (TV CRTC Regsiter )
0xB65E, 0x3B5F, 0x0560, 0x0061, 0x0162, // TV.5E-62
0xEF63, 0x0564, // TV.63-64
//HT, HA, HBS, HBE, HSS, HSE, VT, VA, VBS, VBE, VSS, VSE
1064,800, 800, 264, 840, 136, 750, 600, 600, 150, 606, 16
};
static u16 VT1622A_N1024x768_VN[] = {
//
0x8400, 0x0001, 0x0002, 0x0403, 0x0304, // TV.00-04
0x0005, 0x2006, 0x4707, 0x1208, 0x0809, // TV.05-09
0x500A, 0x000B, 0x500C, 0x3A0D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0xEF12, 0x3713, // TV.0F-13
0x7714, 0x2A15, 0xD616, 0x6617, 0xEB18, // TV.14-18
0x1419, 0xA11A, 0x101B, 0x051C, 0x801D, // TV.19-1D
0x001E, 0x771F, 0x0D20, 0x0521, 0xEF22, // TV.1E-22
0x7323, 0x0C24, // TV.23-24
//
0x5625, 0x5626, 0x9027, 0x8B28, 0x0029, // TV.25-29
0x002A, 0xA32B, 0x292C, 0xB92D, 0x6A2E, // TV.2A-2E
0x102F, // TV.2F
// Filter registers
0x004A, 0x004B, 0x004C, 0x044D, 0x004E, // TV.4A-4E
0x394F, // TV.4F
// Set Video Timing (TV Timing Regsiter )
0x8750, 0xFF51, 0x3452, 0xB053, 0x0354, // TV.50-54
0x6F55, 0xDC56, 0xCD57, 0x3558, 0xF159, // TV.55-59
0x5E5A, 0x9A5B, 0x705C, 0x5A5D, // TV.5A-5D
// Set Video Timing (TV CRTC Regsiter )
0x335E, 0x265F, 0x0760, 0x0061, 0x0162, // TV.5E-62
0x2763, 0x0864, // TV.63-64
//HT, HA, HBS, HBE, HSS, HSE, VT, VA, VBS, VBE, VSS, VSE
1160,1024,1024,136, 1032,56, 945, 768, 768, 177, 789, 6
};
static u16 VT1622A_N848x480_VN[] = {
//
0x8400, 0x0001, 0x0002, 0x0403, 0x0304, // TV.00-04
0x0005, 0x2006, 0xa707, 0xc108, 0x0709, // TV.05-09
0x500A, 0x000B, 0x500C, 0x390D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0xF012, 0x2913, // TV.0F-13
0x6714, 0x3115, 0x6316, 0xA817, 0x3C18, // TV.14-18
0x1D19, 0x2A1A, 0x101B, 0x031C, 0x801D, // TV.19-1D
0x001E, 0x331F, 0x1120, 0x0821, 0x4722, // TV.1E-22
0x7323, 0x0C24, // TV.23-24
//
0x5625, 0x3C26, 0x9027, 0x6528, 0x0029, // TV.25-29
0x002A, 0xA32B, 0x292C, 0x7C2D, 0x002E, // TV.2A-2E
0x102F, // TV.2F
// Filter registers
0x004A, 0x004B, 0x004C, 0x044D, 0x004E, // TV.4A-4E
0x394F, // TV.4F
// Set Video Timing (TV Timing Regsiter )
0xAF50, 0x4F51, 0x3452, 0x4453, 0x0254, // TV.50-54
0xE355, 0xBF56, 0x9357, 0x6358, 0xAD59, // TV.55-59
0xFD5A, 0x1B5B, 0x6F5C, 0x175D, // TV.5A-5D
// Set Video Timing (TV CRTC Regsiter )
0x6D5E, 0xD45F, 0x0460, 0x0061, 0x0162, // TV.5E-62
0x2F63, 0x0564, // TV.63-64
//HT, HA, HBS, HBE, HSS, HSE, VT, VA, VBS, VBE, VSS, VSE
1200,848, 848, 352, 968, 64, 581, 480, 480, 101, 496, 13
};
static u16 VT1622A_N720x480_VN[] = {
//
0x0400, 0x0001, 0x0002, 0x0603, 0x0304, // TV.00-04
0x0005, 0x2006, 0x3F07, 0xB608, 0x0709, // TV.05-09
0x520A, 0x000B, 0x510C, 0x3A0D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0xED12, 0x3113, // TV.0F-13
0x5014, 0x3515, 0x1816, 0x5517, 0x5518, // TV.14-18
0x1E19, 0x1E1A, 0x101B, 0x031C, 0x801D, // TV.19-1D
0x001E, 0x331F, 0x1220, 0x0821, 0x5722, // TV.1E-22
0x7523, 0x0024, // TV.23-24
//
0x5625, 0x3A26, 0x9027, 0x6128, 0x0029, // TV.25-29
0x002A, 0xA32B, 0x292C, 0x762D, 0xF12E, // TV.2A-2E
0x002F, // TV.2F
// Filter registers
0x004A, 0x004B, 0x004C, 0x044D, 0x004E, // TV.4A-4E
0x3A4F, // TV.4F
// Set Video Timing (TV Timing Regsiter )
0x4750, 0xCF51, 0x2352, 0x5753, 0x0254, // TV.50-54
0xBF55, 0xAD56, 0x8D57, 0x6358, 0xA459, // TV.55-59
0xF35A, 0x1E5B, 0x285C, 0x175D, // TV.5A-5D
// Set Video Timing (TV CRTC Regsiter )
0x925E, 0x335F, 0x0460, 0x0061, 0x0062, // TV.5E-62
0xBF63, 0x0364, // TV.63-64
//HT, HA, HBS, HBE, HSS, HSE, VT, VA, VBS, VBE, VSS, VSE
840, 720, 720, 120, 728, 48, 600, 480, 480, 120, 512, 7
};
static u16 VT1622A_P640x480_VN[] = {
//
0x0400, 0x0001, 0x0002, 0x0603, 0x0004, // TV.00-04
0x0005, 0x2006, 0xBF07, 0x9F08, 0x3709, // TV.05-09
0x5D0A, 0x000B, 0x4F0C, 0x420D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0xAC12, 0x1513, // TV.0F-13
0x6E14, 0x2815, 0x2D16, 0x7717, 0x6618, // TV.14-18
0x2D19, 0xED1A, 0x101B, 0x021C, 0x801D, // TV.19-1D
0x001E, 0x991F, 0x1720, 0x0C21, 0x3122, // TV.1E-22
0x7A23, 0x0424, // TV.23-24
//
0x6225, 0x3026, 0x8E27, 0x4A28, 0x5B29, // TV.25-29
0x152A, 0xA02B, 0x222C, 0x5C2D, 0xCC2E, // TV.2A-2E
0x002F, // TV.2F
// Filter registers
0x004A, 0x004B, 0x004C, 0x044D, 0x004E, // TV.4A-4E
0x434F, // TV.4F
// Set Video Timing (TV Timing Regsiter )
0xE750, 0x7F51, 0x2352, 0x5753, 0x0254, // TV.50-54
0x1F55, 0x2F56, 0x7557, 0x6358, 0x8A59, // TV.55-59
0xC85A, 0xDB5B, 0xF55C, 0x055D, // TV.5A-5D
// Set Video Timing (TV CRTC Regsiter )
0xD75E, 0x8E5F, 0x0360, 0x7F61, 0xCF62, // TV.5E-62
0xBF63, 0x0364, // TV.63-64
//HT, HA, HBS, HBE, HSS, HSE, VT, VA, VBS, VBE, VSS, VSE
1000,640, 640, 360, 736, 72, 600, 480, 480, 120, 521, 5
};
static u16 VT1622A_P800x600_VN[] = {
//
0x8400, 0x0001, 0x0002, 0x0403, 0x0004, // TV.00-04
0x0005, 0x2006, 0x2707, 0xB808, 0x0D09, // TV.05-09
0x5C0A, 0x000B, 0x4E0C, 0x400D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0xEC12, 0x2A13, // TV.0F-13
0xFD14, 0x2815, 0xE416, 0x7D17, 0x7A18, // TV.14-18
0x2719, 0x111A, 0x101B, 0x011C, 0x801D, // TV.19-1D
0x001E, 0xAA1F, 0x1320, 0x0C21, 0x9F22, // TV.1E-22
0x7923, 0x0C24, // TV.23-24
//
0x6225, 0x3726, 0x8E27, 0x5428, 0x5B29, // TV.25-29
0x152A, 0xA02B, 0x222C, 0x702D, 0xF42E, // TV.2A-2E
0x002F, // TV.2F
// Filter registers
0x004A, 0x004B, 0x004C, 0x044D, 0x004E, // TV.4A-4E
0x414F, // TV.4F
// Set Video Timing (TV Timing Regsiter )
0x9750, 0x1F51, 0x3352, 0xED53, 0x0254, // TV.50-54
0x9755, 0x8756, 0x8757, 0x6358, 0x9F59, // TV.55-59
0xE75A, 0xF35B, 0xE15C, 0x065D, // TV.5A-5D
// Set Video Timing (TV CRTC Regsiter )
0xCC5E, 0xF35F, 0x0460, 0x0061, 0x0162, // TV.5E-62
0x4F63, 0x0464, // TV.63-64
//HT, HA, HBS, HBE, HSS, HSE, VT, VA, VBS, VBE, VSS, VSE
920, 800, 800, 120, 816, 64, 750, 600, 600, 150, 606, 16
};
static u16 VT1622A_P1024x768_VN[] = {
//
0x8400, 0x0001, 0x0002, 0x0403, 0x0004, // TV.00-04
0x0005, 0x2006, 0x5707, 0x2508, 0x4009, // TV.05-09
0x5A0A, 0x000B, 0x4D0C, 0x400D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0xE812, 0x2313, // TV.0F-13
0xD114, 0x1815, 0x7216, 0xC317, 0x8C18, // TV.14-18
0x1A19, 0x961A, 0x101B, 0x071C, 0x801D, // TV.19-1D
0x001E, 0xFF1F, 0x0F20, 0x0C21, 0x8722, // TV.1E-22
0x7923, 0x0024, // TV.23-24
//
0x6225, 0x5326, 0x8E27, 0x7B28, 0x5B29, // TV.25-29
0x152A, 0xA02B, 0x222C, 0xB62D, 0x5A2E, // TV.2A-2E
0x102F, // TV.2F
// Filter registers
0x004A, 0x004B, 0x004C, 0x044D, 0x004E, // TV.4A-4E
0x404F, // TV.4F
// Set Video Timing (TV Timing Regsiter )
0xAF50, 0xFF51, 0x3452, 0xB553, 0x0354, // TV.50-54
0x5755, 0xA856, 0xC857, 0x3558, 0xEC59, // TV.55-59
0x4C5A, 0x9A5B, 0x415C, 0x5A5D, // TV.5A-5D
// Set Video Timing (TV CRTC Regsiter )
0x145E, 0x5C5F, 0x0660, 0x0061, 0x0162, // TV.5E-62
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -