📄 constant.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_CONSTANT_H#define DXR3PLAYER_UNICHROME_CONSTANT_H//------------------------------------------------------------------------------namespace unichrome {//------------------------------------------------------------------------------/** * Various constants. */class Constant{public: /** * 16-bit mode (for Register::MODE). */ static const uint32_t MODE_16BPP = 0x00000100; /** * 32-bit mode (for Register::MODE). */ static const uint32_t MODE_32BPP = 0x00000300; /** * Mask for enabling the pitch (for Register::PITCH) */ static const uint32_t MASK_ENABLE_PITCH = 0x80000000; /** * Status mask: command regulator is busy. */ static const uint32_t MASK_STATUS_CMD_REG_BUSY = 0x00000080; /** * Status mask: 2D engine is busy. */ static const uint32_t MASK_STATUS_2D_BUSY = 0x00000001; /** * Status mask: 3D engine is busy. */ static const uint32_t MASK_STATUS_3D_BUSY = 0x00000002; /** * Status mask: virtual queue is busy. */ static const uint32_t MASK_STATUS_VQ_BUSY = 0x00020000; /** * Command: header 1. */ static const uint32_t CMD_HEADER1 = 0xf0000000; /** * Command mask: header 1. */ static const uint32_t MASK_HEADER1 = 0xffffff00; /** * Command mask: address. */ static const uint32_t MASK_ADDRESS = 0x0000001f; /** * Command: fire */ static const uint32_t CMD_FIRE = 0xee100000; /** * Command mask: fire */ static const uint32_t MASK_FIRE = 0xfff00000; /** * Command: B */ static const uint32_t CMD_B = 0xec000000; /** * Command mask: B */ static const uint32_t MASK_B = 0xfffe0000; /** * Command: header 2. */ static const uint32_t CMD_HEADER2 = 0xf210f110; /** * Command: sub-address 0. */ static const uint32_t CMD_SUB_ADDR0 = 0x00000000; /** * Command: dummy */ static const uint32_t CMD_DUMMY = 0xcccccccc; /** * Command parameter type: not texture. */ static const uint32_t CMD_PARATYPE_NOTTEX = 0x00010000; /** * GE command: NOP */ static const uint32_t GECMD_NOP = 0x00000000; /** * GE command: blit */ static const uint32_t GECMD_BLT = 0x00000001; /** * GE command: draw line */ static const uint32_t GECMD_LINE = 0x00000005; /** * GE command: source is mono */ static const uint32_t GECMD_SRC_MONO = 0x00000100; /** * GE command: pattern is monochrome */ static const uint32_t GECMD_PAT_MONO = 0x00000200; /** * GE command: monochrome source is transparent */ static const uint32_t GECMD_MSRC_TRANS = 0x00000400; /** * GE command: pattern is coming from registers */ static const uint32_t GECMD_PAT_REG = 0x00000800; /** * GE command: clipping is enabled */ static const uint32_t GECMD_CLIP_ENABLED = 0x00001000; /** * GE command: pattern is fixed color */ static const uint32_t GECMD_FIXCOLOR_PAT = 0x00002000; /** * GE command: source Y is smaller than destination */ static const uint32_t GECMD_DECY = 0x00004000; /** * GE command: source X is smaller than destination */ static const uint32_t GECMD_DECX = 0x00008000; /** * GE command: mono pattern is transparent */ static const uint32_t GECMD_MPAT_TRANS = 0x00010000; /** * GE command: line is higher than wider */ static const uint32_t GECMD_Y_MAJOR = 0x00200000; /** * ROP: P */ static const uint32_t ROP_P = 0xf0000000; /** * ROP: S */ static const uint32_t ROP_S = 0xcc000000; /** * ROP: DPx */ static const uint32_t ROP_DPX = 0x5a000000; /** * ROP: DSx */ static const uint32_t ROP_DSX = 0x66000000; /** * Enable source colour keying. */ static const uint32_t KEY_ENABLE_SRCKEY = 0x00004000; /** * Invert the colour key. */ static const uint32_t KEY_INVERT_KEY = 0x00002000; /** * Disable the copying of the red channel. */ static const uint32_t KEY_MASK_RED = 0x40000000; /** * Disable the copying of the green channel. */ static const uint32_t KEY_MASK_GREEN = 0x20000000; /** * Disable the copying of the blue channel. */ static const uint32_t KEY_MASK_BLUE = 0x10000000; /** * Video1 control: ??? */ static const uint32_t V1_EXPIRE_NUM = 0x00050000; /** * Video1 control: ??? */ static const uint32_t V1_EXPIRE_NUM_F = 0x000f0000; /** * Video1 control: enable */ static const uint32_t V1_ENABLE = 0x00000001; /** * Video1 control: enable BOB */ static const uint32_t V1_BOB_ENABLE = 0x00400000; /** * Video1 control: colorspace sign */ static const uint32_t V1_COLORSPACE_SIGN = 0x00000080; /** * Video1 control: format is YUV 4:2:0 */ static const uint32_t V1_YUV_420 = 0x00000010; /** * Video1 control: swap frames by HQV */ static const uint32_t V1_SWAP_HW_HQV = 0x02000000; /** * Video1 zoom: enable vertical zoom */ static const uint32_t V1_Y_ZOOM_ENABLE = 0x00008000; /** * Video1 zoom: enable horizontal zoom */ static const uint32_t V1_X_ZOOM_ENABLE = 0x80000000; /** * Video1 minify: enable vertical interpolation */ static const uint32_t V1_Y_INTERPOLY = 0x00000001; /** * Video1 minify: enable horizontal interpolation */ static const uint32_t V1_X_INTERPOLY = 0x00000002; /** * Video1 minify: enable interpolation of all components */ static const uint32_t V1_YCBCR_INTERPOLY = 0x00000004; /** * Alpha control: blend with the graphics layer */ static const uint32_t ALPHA_WIN_BLENDING_GRAPHIC = 0x00000002; /** * HQV control: enable */ static const uint32_t HQV_ENABLE = 0x08000000; /** * HQV: source is set by software */ static const uint32_t HQV_SRC_SW = 0x00000000; /** * HQV: input format is YUV 4:2:0 */ static const uint32_t HQV_YUV_420 = 0xc0000000; /** * HQV: flip status */ static const uint32_t HQV_FLIP_STATUS = 0x00000001; /** * HQV: perform a SW flip */ static const uint32_t HQV_SW_FLIP = 0x00000010; /** * HQV: perform a subpicture flip */ static const uint32_t HQV_SUBPIC_FLIP = 0x00008000; /** * HQV: flip the odd field */ static const uint32_t HQV_FLIP_ODD = 0x00000020; /** * HQV: source is interleaved */ static const uint32_t HQV_FIELD_UV = 0x00100000; /** * HQV: deinterlace */ static const uint32_t HQV_DEINTERLACE = 0x00010000; /** * HQV: display each field 2 times */ static const uint32_t HQV_FIELD_2_FRAME = 0x00020000; /** * HQV: display field */ static const uint32_t HQV_FRAME_2_FIELD = 0x00040000; /** * HQV filter: default horizontal filter. */ static const uint32_t HQV_FILTER_H_DEFAULT = 0x00000040; /** * HQV filter: horizontal filter */ static const uint32_t HQV_FILTER_H_TAP4_121 = 0x00000042; /** * HQV filter: horizontal filter */ static const uint32_t HQV_FILTER_H_TAP8_122221 = 0x00000402; /** * HQV filter: default vertical filter. */ static const uint32_t HQV_FILTER_V_DEFAULT = 0x00420000; /** * HQV minify control: enable vertical minifying. */ static const uint32_t HQV_MINIFY_V_ENABLE = 0x08000000; /** * HQV minify control: enable vertical deblocking filter. */ static const uint32_t HQV_MINIFY_V_DEBLOCK_FILTER = 0x8000000; /** * HQV minify control: enable horizontal minifying. */ static const uint32_t HQV_MINIFY_H_ENABLE = 0x00000800; /** * HQV minify control: enable horizontal deblocking. */ static const uint32_t HQV_MINIFY_H_DEBLOCK_FILTER = 0x00008000; /** * Video compose mode: fire V1 command */ static const uint32_t V1_COMMAND_FIRE = 0x80000000; /** * MPEG quantization matrix type: intra */ static const uint32_t MPEG_QM_TYPE_INTRA = 0; /** * MPEG quantization matrix type: non-intra */ static const uint32_t MPEG_QM_TYPE_NONINTRA = 1; /** * MPEG quantization matrix type: intra */ static const uint32_t MPEG_QM_TYPE_CHROMA_INTRA = 2; /** * MPEG quantization matrix type: chroma non-intra */ static const uint32_t MPEG_QM_TYPE_CHROMA_NONINTRA = 3; /** * MPEG picture coding: top field */ static const uint32_t MPEG_PICTURE_CODING_TOP = 0x00000004; /** * MPEG picture coding: bottom field */ static const uint32_t MPEG_PICTURE_CODING_BOTTOM = 0x00000008; /** * MPEG picture coding: frame picture */ static const uint32_t MPEG_PICTURE_CODING_FRAME = 0x0000000c; /** * MPEG picture coding: I-frame */ static const uint32_t MPEG_PICTURE_CODING_I = 0x00000010; /** * MPEG picture coding: P-frame */ static const uint32_t MPEG_PICTURE_CODING_P = 0x00000020; /** * MPEG picture coding: B-frame */ static const uint32_t MPEG_PICTURE_CODING_B = 0x00000030; /** * MPEG picture coding: alternate scan */ static const uint32_t MPEG_PICTURE_CODING_ALT_SCAN = 0x00000040; /** * MPEG macroblock info: only frame DCT and frame prediction is used */ static const uint32_t MPEG_MBLOCK_ONLY_FRAME_PRED_AND_DCT = 0x00004000; /** * MPEG macroblock info: top field first */ static const uint32_t MPEG_MBLOCK_TOP_FIELD_FIRST = 0x00008000; /** * MPEG macroblock info: use MPEG-2 */ static const uint32_t MPEG_MBLOCK_USE_MPEG2 = 0x00010000; /** * MPEG motion compensation info: has concealment motion vectors */ static const uint32_t MPEG_MCOMP_HAS_CONCEALMENT_MOTION_VECTORS = 0x00000001; /** * MPEG motion compensation info: quantiser scale type */ static const uint32_t MPEG_MCOMP_QUANTISER_SCALE_TYPE = 0x00000002; /** * MPEG motion compensation info: intra-VLC format */ static const uint32_t MPEG_MCOMP_INTRA_VLC_FORMAT = 0x01000000; /** * MPEG F-code: second field */ static const uint32_t MPEG_FCODE_SECOND_FIELD = 0x00100000; /** * Subpicture: enable with HQV */ static const uint32_t SUBP_HQV_ENABLE = 0x00010000; /** * Subpicture: use IA44 */ static const uint32_t SUBP_IA44 = 0x00020000; /** * Subpicture: enable RGB */ static const uint32_t SUBP_RGB = 0x00000007;};//------------------------------------------------------------------------------} /* namespace unichrome *///------------------------------------------------------------------------------#endif // DXR3PLAYER_UNICHROME_CONSTANT_H// Local variables:// mode: c++// End:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -