📄 register.h
字号:
//// Copyright (c) 2004 by Istv醤 V醨adi//// This file is part of dxr3Player, a DVD player written specifically // for the DXR3 (aka Hollywood+) decoder card, but now handles other// hardware as well. These files contain a (mostly) user-space driver // for the Unichrome board found on Via's EPIA motherboards.//// The information for implementing this driver has been gathered// from the following sources://// - The DirectFB Unichrome driver// Copyright (c) 2003 Andreas Robinson, All rights reserved.//// - Andreas Robinson's MPEG-2 decoder for the Unichrome board.// Copyright (c) 2003 Andreas Robinson, All rights reserved.//// - Via's Unichrome Framebuffer driver// Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.// Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved.// This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.//// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA#ifndef DXR3PLAYER_UNICHROME_REGISTER_H#define DXR3PLAYER_UNICHROME_REGISTER_H//------------------------------------------------------------------------------namespace unichrome {//------------------------------------------------------------------------------/** * Constants for registers of the Unichrome board. */class Register{public: /** * Command register. */ static const size_t COMMAND = 0x000; /** * Mode register. */ static const size_t MODE = 0x004; /** * Source position register. */ static const size_t SRCPOS = 0x008; /** * Line parameter register */ static const size_t LINE_K1K2 = 0x008; /** * Destination position register. */ static const size_t DSTPOS = 0x00c; /** * Line parameter register. */ static const size_t LINE_XY = 0x00c; /** * Dimension register. */ static const size_t DIMENSION = 0x010; /** * Pattern address */ static const size_t PATADDR = 0x014; /** * Foreground color. */ static const size_t FGCOLOR = 0x018; /** * Background color. */ static const size_t BGCOLOR = 0x01c; /** * Source colour key. */ static const size_t SRCCOLORKEY = 0x01c; /** * Bottom right of the clipping area. */ static const size_t CLIPBR = 0x024; /** * Line error register */ static const size_t LINE_ERROR = 0x028; /** * Key control */ static const size_t KEYCONTROL = 0x02c; /** * Source base address */ static const size_t SRCBASE = 0x030; /** * Destination base address */ static const size_t DSTBASE = 0x034; /** * Pitch. */ static const size_t PITCH = 0x038; /** * Mono pattern 0 */ static const size_t MONOPAT0 = 0x03c; /** * Mono pattern 1 */ static const size_t MONOPAT1 = 0x040; /** * Status */ static const size_t STATUS = 0x400; /** * Transet. */ static const size_t TRANSET = 0x43c; /** * Transpace. */ static const size_t TRANSPACE = 0x440; /** * Video1 control. */ static const size_t V1_CONTROL = 0x230; /** * Video FIFO control. */ static const size_t V_FIFO_CONTROL = 0x258; /** * Video1 window start. */ static const size_t V1_WIN_START_Y = 0x240; /** * Video1 window end */ static const size_t V1_WIN_END_Y = 0x244; /** * Video1 source height */ static const size_t V1_SOURCE_HEIGHT = 0x26c; /** * Video1 qword/line */ static const size_t V12_QWORD_PER_LINE = 0x234; /** * Video1 stride */ static const size_t V1_STRIDE = 0x23c; /** * Video1 minimization control */ static const size_t V1_MINI_CONTROL = 0x250; /** * Video1 zoom control */ static const size_t V1_ZOOM_CONTROL = 0x24c; /** * Video: color key */ static const size_t V_COLOR_KEY = 0x220; /** * Video1: start address of the Y-plane of the 0th plane */ static const size_t V1_STARTADDR_Y0 = 0x254; /** * Video1: start address of the Cb-plane of the 0th plane */ static const size_t V1_STARTADDR_CB0 = 0x28c; /** * Video1: start address of the Cr-plane of the 0th plane */ static const size_t V1_STARTADDR_CR0 = 0x2f0; /** * Video1: start address of the Y-plane of the 1st plane */ static const size_t V1_STARTADDR_Y1 = 0x238; /** * Video1: start address of the Cb-plane of the 1st plane */ static const size_t V1_STARTADDR_CB1 = 0x2e4; /** * Video1: start address of the Cr-plane of the 1st plane */ static const size_t V1_STARTADDR_CR1 = 0x2f4; /** * Video alpha control */ static const size_t V_ALPHA_CONTROL = 0x210; /** * Video1 colorspace 1 */ static const size_t V1_COLORSPACE1 = 0x284; /** * Video1 colorspace 2 */ static const size_t V1_COLORSPACE2 = 0x288; /** * Video: compose mode */ static const size_t V_COMPOSE_MODE = 0x298; /** * HQV control */ static const size_t HQV_CONTROL = 0x3d0; /** * HQV: start address of the Y source plane */ static const size_t HQV_SRC_STARTADDR_Y = 0x3d4; /** * HQV: start address of the U source plane */ static const size_t HQV_SRC_STARTADDR_CB = 0x3d8; /** * HQV: start address of the V source plane */ static const size_t HQV_SRC_STARTADDR_CR = 0x3dc; /** * HQV: fetch count for the source */ static const size_t HQV_SRC_FETCH_LINE = 0x3e0; /** * HQV: filter control */ static const size_t HQV_FILTER_CONTROL = 0x3e4; /** * HQV: minify control */ static const size_t HQV_MINIFY_CONTROL = 0x3e8; /** * HQV: 0th destination address */ static const size_t HQV_DST_STARTADDR0 = 0x3ec; /** * HQV: 1st destination address */ static const size_t HQV_DST_STARTADDR1 = 0x3f0; /** * HQV: 2nd destination address */ static const size_t HQV_DST_STARTADDR2 = 0x3fc; /** * HQV: destination stride address */ static const size_t HQV_DST_STRIDE = 0x3f4; /** * HQV: source stride address */ static const size_t HQV_SRC_STRIDE = 0x3f8; /** * MPEG: base of registers */ static const size_t MPEG_BASE = 0xc00; /** * MPEG: picture coding */ static const size_t MPEG_PICTURE_CODING = 0xc00; /** * MPEG: unknown??? */ static const size_t MPEG_REGISTER1 = 0xc08; /** * MPEG: unknown??? */ static const size_t MPEG_REGISTER2 = 0xc0c; /** * MPEG: Y destination offset */ static const size_t MPEG_DEST_Y = 0xc20; /** * MPEG: Cb destination offset */ static const size_t MPEG_DEST_CB = 0xc24; /** * MPEG: Cr destination offset */ static const size_t MPEG_DEST_CR = 0xc28; /** * MPEG: Y backward reference offset */ static const size_t MPEG_BW_Y = 0xc2c; /** * MPEG: Cb backward reference offset */ static const size_t MPEG_BW_CB = 0xc30; /** * MPEG: Cr backward reference offset */ static const size_t MPEG_BW_CR = 0xc34; /** * MPEG: Y forward reference offset */ static const size_t MPEG_FW_Y = 0xc38; /** * MPEG: Cb forward reference offset */ static const size_t MPEG_FW_CB = 0xc3c; /** * MPEG: Cr forward reference offset */ static const size_t MPEG_FW_CR = 0xc40; /** * MPEG: stride */ static const size_t MPEG_STRIDE = 0xc50; /** * MPEG: status */ static const size_t MPEG_STATUS = 0xc54; /** * MPEG: quantization matrix type */ static const size_t MPEG_QM_TYPE = 0xc5c; /** * MPEG: quantization matrix data */ static const size_t MPEG_QM_DATA = 0xc60; /** * MPEG: macroblock info */ static const size_t MPEG_MBLOCK_INFO = 0xc90; /** * MPEG: motion compensation info */ static const size_t MPEG_MCOMP_INFO = 0xc94; /** * MPEG: F-Code */ static const size_t MPEG_FCODE = 0xc98; /** * MPEG: slice length */ static const size_t MPEG_SLICE_LENGTH = 0xc9c; /** * MPEG: slice data */ static const size_t MPEG_SLICE_DATA = 0xca0; /** * Subpicture control. */ static const size_t SUBP_CONTROL = 0x3c0; /** * Subpicture starting address; */ static const size_t SUBP_STARTADDR = 0x3c4; /** * Subpicture: RAM table control */ static const size_t SUBP_RAM_TABLE_CONTROL = 0x3c8; /** * Subpicture: RAM table read */ static const size_t SUBP_RAM_TABLE_READ = 0x3cc;};//------------------------------------------------------------------------------} /* namespace unichrome *///------------------------------------------------------------------------------#endif // DXR3PLAYER_UNICHROME_REGISTER_H// Local variables:// mode: c++// End:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -