📄 tbl1622.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 __TBL1622_H__
#define __TBL1622_H__
#include "share.h"
/***************************/
/* VT1622 TV Encoder Table*/
/***************************/
typedef struct _vt1622_func_table {
int tv_func_index;
u16 *tv_underscan;
u16 *tv_fitscan;
u16 *tv_overscan;
} vt1622_func_table;
struct vt1622_table {
int tv_index;
vt1622_func_table *tv_mode_ntsc;
vt1622_func_table *tv_mode_pal;
};
/* Underscan table */
static u16 VT1622_N640x480_VN[] = {
//
0x0400, 0x0001, 0x0002, 0x0203, 0x0304, // TV.00-04
0x0005, 0x1006, 0x7E07, 0x9D08, 0x0D09, // Tv.05-09
0x600A, 0x170B, 0x520C, 0x450D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0xD012, 0x3313, // TV.0F-13
0xBF14, 0x3A15, 0xF116, 0x9117, 0x2418, // TV.14-18
0x2519, 0xE91A, 0x031B, 0x001C, 0x801D, // TV.19-1D
0x001E, 0x051F, 0x1220, 0x0C21, 0x0422, // TV.1E-22
0x7423, 0x0024, // TV.23-24
//
0x5A25, 0x2F26, 0x9727, 0x5028, 0x0029, // TV.5-29
0x002A, 0xAA2B, 0x2B2C, 0x7A2D, 0xD82E, // TV.2A-2E
0x002F, // TV.2F
// Filter registers
0xDC4A, 0x504B, 0x044C, 0x004D, 0x004E, // TV.4A-4E
0x404F, // TV.4F
// Set Video Timing (TV Timing Regsiter )
0x0F50, 0x8151, 0x2352, 0x5753, 0x0254, // TV.50-54
0x0F55, 0x2956, 0x7357, 0x2358, 0x8659, // TV.55-59
0xC45A, 0xEA5B, 0xDF5C, 0x055D, // TV.5A-5D
// Set Video Timing (TV CRTC Regsiter )
0x925E, 0xA15F, 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, 656, 56, 600, 480, 480, 120, 488, 7
};
#define NUM_TOTAL_VT1622_REG ARRAY_SIZE(VT1622_N640x480_VN) -NUM_CRTC_TIMING
static u16 VT1622_N800x600_VN[] = {
//
0x8400, 0x0001, 0x0002, 0x2403, 0x0304, // TV.00-04
0x0005, 0x1006, 0xDE07, 0xD408, 0x0E09, // TV.05-09
0x590A, 0x170B, 0x460C, 0x400D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0xEA12, 0x0D13, // TV.0F-13
0x9814, 0x1C15, 0x9616, 0x5017, 0x5E18, // TV.14-18
0x1B19, 0x3D1A, 0x031B, 0x011C, 0x801D, // TV.19-1D
0x001E, 0x851F, 0x0D20, 0x0A21, 0x0422, // TV.1E-22
0x7423, 0x0024, // TV.23-24
//
0x5A25, 0x4126, 0x9627, 0x6B28, 0x0029, // TV.25-29
0x002A, 0xAA2B, 0x2B2C, 0xA62D, 0x1E2E, // TV.2A-2E
0x102F, // TV.2F
// Filter registers
0xE44A, 0x694B, 0x044C, 0x004D, 0x004E, // TV.4A-4E
0x3F4F, // TV.4F
// Set Video Timing (TV Timing Regsiter )
0x2750, 0x2151, 0x3452, 0xED53, 0x0254, // TV.50-54
0x2755, 0xF556, 0x9D57, 0x2458, 0xB759, // TV.55-59
0x0D5A, 0x405B, 0x005C, 0x585D, // 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 VT1622_N1024x768_VN[] = {
//
0x8400, 0x0001, 0x0002, 0x4403, 0x0304, // TV.00-04
0x0005, 0x1006, 0x8007, 0x1508, 0x0A09, // TV.05-09
0x580A, 0x170B, 0x5B0C, 0x400D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0xE912, 0x1E13, // TV.0F-13
0x9D14, 0x1915, 0xD616, 0x6617, 0xEB18, // TV.14-18
0x1419, 0x9C1A, 0x031B, 0x051C, 0x801D, // TV.19-1D
0x001E, 0x851F, 0x0A20, 0x0521, 0x0422, // TV.1E-22
0x7423, 0x0024, // TV.23-24
//
0x5A25, 0x5626, 0x9627, 0x8B28, 0x0029, // TV.25-29
0x002A, 0xAA2B, 0x2B2C, 0xDA2D, 0x792E, // TV.2A-2E
0x102F, // TV.2F
// Filter registers
0xDA4A, 0x504B, 0x044C, 0x004D, 0x004E, // TV.4A-4E
0x3F4F, // TV.4F
// Set Video Timing (TV Timing Regsiter )
0x8750, 0xFF51, 0x3452, 0xB053, 0x0354, // TV.50-54
0x6F55, 0xDB56, 0xCD57, 0x3558, 0xF159, // TV.55-59
0x5E5A, 0xA55B, 0x7E5C, 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 VT1622_N848x480_VN[] = {
//
0x8400, 0x0001, 0x0002, 0x2403, 0x0304, // TV.00-04
0x0005, 0x1006, 0x4607, 0xCC08, 0x0E09, // TV.05-09
0x560A, 0x170B, 0x430C, 0x3E0D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0xE812, 0x2913, // TV.0F-13
0x6714, 0x1915, 0x6316, 0xA817, 0x3C18, // TV.14-18
0x1D19, 0x291A, 0x031B, 0x0B1C, 0x801D, // TV.19-1D
0x001E, 0x851F, 0x0E20, 0x0821, 0x0422, // TV.1E-22
0x7423, 0x0024, // TV.23-24
//
0x5A25, 0x3D26, 0x9627, 0x6428, 0x0029, // TV.25-29
0x002A, 0xAA2B, 0x2B2C, 0x9C2D, 0x172E, // TV.2A-2E
0x102F, // TV.2F
// Filter registers
0xDC4A, 0x504B, 0x004C, 0x004D, 0x004E, // TV.4A-4E
0x404F, // TV.4F
// Set Video Timing (TV Timing Regsiter )
0xAF50, 0x5151, 0x3452, 0x4453, 0x0254, // TV.50-54
0xE355, 0xC156, 0x9357, 0x2358, 0xAD59, // TV.55-59
0xFD5A, 0x2B5B, 0x7C5C, 0x175D, // TV.5A-5D
// Set Video Timing (TV CRTC Regsiter )
0x6D5E, 0xCA5F, 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, 872, 64, 581, 480, 480, 101, 496, 13
};
static u16 VT1622_N720x480_VN[] = {
//
0x0400, 0x0001, 0x0002, 0x2603, 0x0304, // TV.00-04
0x0005, 0x1006, 0x6D07, 0xC308, 0x0809, // TV.05-09
0x560A, 0x170B, 0x430C, 0x3E0D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0x0D12, 0x0713, // TV.0F-13
0x6014, 0x3415, 0x1816, 0x5517, 0x5518, // TV.14-18
0x1E19, 0x1E1A, 0x031B, 0x031C, 0x801D, // TV.19-1D
0x001E, 0x851F, 0x0F20, 0x0821, 0x0422, // TV.1E-22
0x7423, 0x0024, // TV.23-24
//
0x5A25, 0x3926, 0x9527, 0x5E28, 0x0029, // TV.25-29
0x002A, 0xAA2B, 0x2B2C, 0x922D, 0xFF2E, // TV.2A-2E
0x002F, // TV.2F
// Filter registers
0xE44A, 0x694B, 0x044C, 0x004D, 0x004E, // TV.4A-4E
0x404F, // TV.4F
// Set Video Timing (TV Timing Regsiter )
0x4750, 0xD151, 0x2352, 0x5753, 0x0254, // TV.50-54
0xBF55, 0xAF56, 0x8D57, 0x2358, 0xA459, // TV.55-59
0xF35A, 0x205B, 0x365C, 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 VT1622_P640x480_VN[] = {
//
0x0400, 0x0001, 0x0002, 0x8203, 0x0004, // TV.00-04
0x0005, 0x1006, 0x3E07, 0xA408, 0x3709, // TV.05-09
0x670A, 0x000B, 0x490C, 0x490D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0xEC12, 0x2A13, // TV.0F-13
0xB814, 0x2915, 0x2D16, 0x7717, 0x6618, // TV.14-18
0x2D19, 0xED1A, 0x031B, 0x0A1C, 0x801D, // TV.19-1D
0x001E, 0x041F, 0x1220, 0x0C21, 0x0422, // TV.1E-22
0x7B23, 0x0024, // TV.23-24
//
0x6425, 0x3026, 0x9327, 0x4928, 0x5F29, // TV.25-29
0x152A, 0xA52B, 0x232C, 0x7A2D, 0xCC2E, // TV.2A-2E
0x002F, // TV.2F
// Filter registers
0xF94A, 0x504B, 0x044C, 0x004D, 0x004E, // TV.4A-4E
0x454F, // TV.4F
// Set Video Timing (TV Timing Regsiter )
0xE750, 0x8151, 0x2352, 0x5753, 0x0254, // TV.50-54
0x1F55, 0x3156, 0x7557, 0x2358, 0x8A59, // TV.55-59
0xC85A, 0xF05B, 0xFF5C, 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, 680, 72, 600, 480, 480, 120, 521, 5
};
static u16 VT1622_P800x600_VN[] = {
//
0x8400, 0x0001, 0x0002, 0xA403, 0x0004, // TV.00-04
0x0005, 0x1906, 0x6607, 0xBF08, 0x1209, // TV.05-09
0x600A, 0x000B, 0x560C, 0x450D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0xEC12, 0x1513, // TV.0F-13
0xFD14, 0x2815, 0xE416, 0x7D17, 0x7A18, // TV.14-18
0x2719, 0x161A, 0x031B, 0x011C, 0x801D, // TV.19-1D
0x001E, 0x851F, 0x1020, 0x0C21, 0x0422, // TV.1E-22
0x7B23, 0x0024, // TV.23-24
//
0x6425, 0x3726, 0x9327, 0x5428, 0x5F29, // TV.25-29
0x152A, 0xA52B, 0x232C, 0x8F2D, 0xF42E, // TV.2A-2E
0x002F, // TV.2F
// Filter registers
0xE74A, 0x454B, 0x044C, 0x004D, 0x004E, // TV.4A-4E
0x444F, // TV.4F
// Set Video Timing (TV Timing Regsiter )
0x9750, 0x2151, 0x3352, 0xED53, 0x0254, // TV.50-54
0x9755, 0x8756, 0x8757, 0x2358, 0x9F59, // TV.55-59
0xE75A, 0x165B, 0xE75C, 0x165D, // 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 VT1622_P1024x768_VN[] = {
//
0x8400, 0x0001, 0x0002, 0x0C03, 0x0004, // TV.00-04
0x0005, 0x1006, 0xA007, 0x2A08, 0x3809, // TV.05-09
0x700A, 0x000B, 0x4E0C, 0x500D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0xE412, 0x2313, // TV.0F-13
0xD114, 0x0C15, 0x7216, 0xC317, 0x8C18, // TV.14-18
0x1A19, 0x961A, 0x031B, 0x071C, 0x801D, // TV.19-1D
0x001E, 0x851F, 0x0C20, 0x0C21, 0x0422, // TV.1E-22
0x7B23, 0x0024, // TV.23-24
//
0x6425, 0x5326, 0x9027, 0x7B28, 0x5B29, // TV.25-29
0x152A, 0xA02B, 0x222C, 0xD12D, 0x712E, // TV.2A-2E
0x102F, // TV.2F
// Filter registers
0xDD4A, 0x604B, 0x044C, 0x004D, 0x004E, // TV.4A-4E
0x454F, // 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, 0xCC5B, 0x675C, 0x5A5D, // TV.5A-5D
// Set Video Timing (TV CRTC Regsiter )
0x145E, 0x5C5F, 0x0660, 0x0061, 0x0162, // TV.5E-62
0x1F63, 0x0764, // TV.63-64
//HT, HA, HBS, HBE, HSS, HSE, VT, VA, VBS, VBE, VSS, VSE
1200,1024,1024,176, 1032,80, 950, 768, 768, 182, 802, 3
};
static u16 VT1622_P848x480_VN[] = {
//
0x0400, 0x0001, 0x0002, 0xC203, 0x0004, // TV.00-04
0x0005, 0x1006, 0x4707, 0xE408, 0x0909, // TV.05-09
0x640A, 0x000B, 0x4F0C, 0x480D, 0x0F0E, // TV.0A-0E
0x000F, 0x0010, 0x0011, 0xE712, 0x0513, // TV.0F-13
0x2C14, 0x1C15, 0x1816, 0x2817, 0x8718, // TV.14-18
0x1F19, 0x5E1A, 0x031B, 0x091C, 0x801D, // TV.19-1D
0x001E, 0x841F, 0x0A20, 0x0C21, 0x0422, // TV.1E-22
0x7B23, 0x0024, // TV.23-24
//
0x6425, 0x4626, 0x9327, 0x6828, 0x5F29, // TV.25-29
0x152A, 0xA52B, 0x232C, 0xB42D, 0x2A2E, // TV.2A-2E
0x102F, // TV.2F
// Filter registers
0xE74A, 0x454B, 0x044C, 0x004D, 0x004E, // TV.4A-4E
0x434F, // TV.4F
// Set Video Timing (TV Timing Regsiter )
0xAF50, 0x5151, 0x3452, 0x5753, 0x0254, // TV.50-54
0x7F55, 0x4F56, 0xA957, 0x3458, 0xD159, // TV.55-59
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -