⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drvrld.h

📁 mstar 776 开发的车载dvd
💻 H
字号:
////////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2006-2007 MStar Semiconductor, Inc.
// All rights reserved.
//
// Unless otherwise stipulated in writing, any and all information contained
// herein regardless in any format shall remain the sole proprietary of
// MStar Semiconductor Inc. and be kept in strict confidence
// (¨MStar Confidential Information〃) by the recipient.
// Any unauthorized act including without limitation unauthorized disclosure,
// copying, use, reproduction, sale, distribution, modification, disassembling,
// reverse engineering and compiling of the contents of MStar Confidential
// Information is unlawful and strictly prohibited. MStar hereby reserves the
// rights to any and all damages, losses, costs and expenses resulting therefrom.
//
////////////////////////////////////////////////////////////////////////////////

#ifndef DRVRLD_H
#define DRVRLD_H

#include "hwreg_s2.h"
#include "drvGlobal.h"

#ifdef DRVRLD_C
#define INTERFACE
#else
#define INTERFACE extern
#endif

#define STRLD_CTRL 				 ( STRLD_REG_BASE + 0x00 )		
#define STRLD_OUTPUT_FORMAT		 ( STRLD_REG_BASE + 0x02 )		// I2/I4/I8
#define STRLD_ENLARGE_RATE 		 ( STRLD_REG_BASE + 0x03 )	    // 1 ~ 7
#define STRLD_TRNASPARENT_KEY    ( STRLD_REG_BASE + 0x04 )		// transparent key

#define STRLD_TOP_ADDR0	  	     ( STRLD_REG_BASE + 0x20 )		// top field address [ 7: 0]
#define STRLD_TOP_ADDR1          ( STRLD_REG_BASE + 0x21 )		// top field address [15: 8]
#define STRLD_TOP_ADDR2	  	     ( STRLD_REG_BASE + 0x22 )		// top field address [23:16]
#define STRLD_TOP_ADDR3          ( STRLD_REG_BASE + 0x23 )		// top field address [31:24]

#define STRLD_TOP_LEN0           ( STRLD_REG_BASE + 0x24 )		// top field length [ 7: 0]
#define STRLD_TOP_LEN1           ( STRLD_REG_BASE + 0x25 )		// top field length [15: 8]

#define STRLD_BOT_ADDR0	  	     ( STRLD_REG_BASE + 0x26 )		// bottom field address [ 7: 0]
#define STRLD_BOT_ADDR1          ( STRLD_REG_BASE + 0x27 )		// bottom field address [15: 8]
#define STRLD_BOT_ADDR2	  	     ( STRLD_REG_BASE + 0x28 )		// bottom field address [23:16]
#define STRLD_BOT_ADDR3          ( STRLD_REG_BASE + 0x29 )		// bottom field address [31:24]

#define STRLD_BOT_LEN0           ( STRLD_REG_BASE + 0x2a )		// bottom field length [ 7: 0]
#define STRLD_BOT_LEN1           ( STRLD_REG_BASE + 0x2b )		// bottom field length [15: 8]

#define STRLD_OUTPUT_ADDR0       ( STRLD_REG_BASE + 0x2c )		// output address [ 7: 0]
#define STRLD_OUTPUT_ADDR1       ( STRLD_REG_BASE + 0x2d )		// output address [16: 8]
#define STRLD_OUTPUT_ADDR2       ( STRLD_REG_BASE + 0x2e )		// output address [23:16]
#define STRLD_OUTPUT_ADDR3       ( STRLD_REG_BASE + 0x2f )		// output address [31:24]

#define STRLD_REGION_WIDTH0		 ( STRLD_REG_BASE + 0x30 )		// Region width [ 7: 0]
#define STRLD_REGION_WIDTH1	     ( STRLD_REG_BASE + 0x31 )		// Region width [15: 8]

#define STRLD_REGION_HEIGHT0	 ( STRLD_REG_BASE + 0x32 )		// Region height [ 7: 0]
#define STRLD_REGION_HEIGHT1     ( STRLD_REG_BASE + 0x33 )		// Region height [15: 8]

#define STRLD_REGION_PITCH0		 ( STRLD_REG_BASE + 0x34 )		// Region pitch [ 7: 0]
#define STRLD_REGION_PITCH1		 ( STRLD_REG_BASE + 0x35 )		// Region pitch [15: 8]

#define STRLD_OBJ_X_OFFSET0 	 ( STRLD_REG_BASE + 0x36 )		// Object x-offset in the region [ 7: 0]
#define STRLD_OBJ_X_OFFSET1	  	 ( STRLD_REG_BASE + 0x37 )		// Object x-offset in the region [15: 8]

#define STRLD_OBJ_Y_OFFSET0  	 ( STRLD_REG_BASE + 0x38 )		// Object y-offset in the region [ 7: 0]
#define STRLD_OBJ_Y_OFFSET1	     ( STRLD_REG_BASE + 0x39 )		// Object y-offset in the region [15: 8]

#define STRLD_REGION_OFFSET 	 ( STRLD_REG_BASE + 0x3a )		// Region offset
#define STRLD_BITSTREAM_DEPTH	 ( STRLD_REG_BASE + 0x3b )		// The color depth encoded in the bit stream
#define STRLD_REGION_COLORKEY_BG ( STRLD_REG_BASE + 0x3c )		// The background color key
#define STRLD_REGION_COLORKEY_FG ( STRLD_REG_BASE + 0x3d )		// The foreground color key

#define STRLD_CLUT_2TO4_0        ( STRLD_REG_BASE + 0xa0 )		// CLUT from 2 to 4
#define STRLD_CLUT_2TO4_1        ( STRLD_REG_BASE + 0xa1 )		// CLUT from 2 to 4
#define STRLD_CLUT_2TO4_2        ( STRLD_REG_BASE + 0xa2 )		// CLUT from 2 to 4
#define STRLD_CLUT_2TO4_3        ( STRLD_REG_BASE + 0xa3 )		// CLUT from 2 to 4

#define STRLD_CLUT_2TO8_0        ( STRLD_REG_BASE + 0xa4 )		// CLUT from 2 to 8
#define STRLD_CLUT_2TO8_1        ( STRLD_REG_BASE + 0xa5 )		// CLUT from 2 to 8
#define STRLD_CLUT_2TO8_2        ( STRLD_REG_BASE + 0xa6 )		// CLUT from 2 to 8
#define STRLD_CLUT_2TO8_3        ( STRLD_REG_BASE + 0xa7 )		// CLUT from 2 to 8

#define STRLD_CLUT_4TO8_0        ( STRLD_REG_BASE + 0xa8 )		// CLUT from 4 to 8
#define STRLD_CLUT_4TO8_1        ( STRLD_REG_BASE + 0xa9 )		// CLUT from 4 to 8
#define STRLD_CLUT_4TO8_2        ( STRLD_REG_BASE + 0xaa )		// CLUT from 4 to 8
#define STRLD_CLUT_4TO8_3        ( STRLD_REG_BASE + 0xab )		// CLUT from 4 to 8
#define STRLD_CLUT_4TO8_4        ( STRLD_REG_BASE + 0xac )		// CLUT from 4 to 8
#define STRLD_CLUT_4TO8_5        ( STRLD_REG_BASE + 0xad )		// CLUT from 4 to 8
#define STRLD_CLUT_4TO8_6        ( STRLD_REG_BASE + 0xae )		// CLUT from 4 to 8
#define STRLD_CLUT_4TO8_7        ( STRLD_REG_BASE + 0xaf )		// CLUT from 4 to 8
#define STRLD_CLUT_4TO8_8        ( STRLD_REG_BASE + 0xb0 )		// CLUT from 4 to 8
#define STRLD_CLUT_4TO8_9        ( STRLD_REG_BASE + 0xb1 )		// CLUT from 4 to 8
#define STRLD_CLUT_4TO8_a        ( STRLD_REG_BASE + 0xb2 )		// CLUT from 4 to 8
#define STRLD_CLUT_4TO8_b        ( STRLD_REG_BASE + 0xb3 )		// CLUT from 4 to 8
#define STRLD_CLUT_4TO8_c        ( STRLD_REG_BASE + 0xb4 )		// CLUT from 4 to 8
#define STRLD_CLUT_4TO8_d        ( STRLD_REG_BASE + 0xb5 )		// CLUT from 4 to 8
#define STRLD_CLUT_4TO8_e        ( STRLD_REG_BASE + 0xb6 )		// CLUT from 4 to 8
#define STRLD_CLUT_4TO8_f        ( STRLD_REG_BASE + 0xb7 )		// CLUT from 4 to 8

#define STRLD_PATCH			     ( STRLD_REG_BASE + 0x3d )		// Set to 1 to fix the out-of-width problem
#define STRLD_RETURN		 	 ( STRLD_REG_BASE + 0xe0 )		// Return registor, read only

//****************************************************************************
//                   Function Prototypes                                     * 
//****************************************************************************

INTERFACE void MDrv_STRLD_Reset(void);
INTERFACE void MDrv_STRLD_Start(void);

INTERFACE BOOLEAN MDrv_STRLD_SetOutputFormat(U8 u8Value);
INTERFACE BOOLEAN MDrv_STRLD_SetEnlargeRate(U8 u8Value);
INTERFACE void MDrv_STRLD_SetTransparentKey(U8 u8Value);

INTERFACE void MDrv_STRLD_SetTopFieldLength(U16 u16Value);
INTERFACE void MDrv_STRLD_SetTopFieldAddress(U32 u32Value);

INTERFACE void MDrv_STRLD_SetBottomFieldLength(U16 u16Value);
INTERFACE void MDrv_STRLD_SetBottomFieldAddress(U32 u32Value);

INTERFACE void MDrv_STRLD_SetOutputAddress(U32 u32Value);

INTERFACE void MDrv_STRLD_SetRegionWdith   (U16 u16Value);
INTERFACE void MDrv_STRLD_SetRegionHeight  (U16 u16Value);
INTERFACE void MDrv_STRLD_SetRegionPitch   (U16 u16Value);
INTERFACE void MDrv_STRLD_SetObjXOffset    (U16 u16Value);
INTERFACE void MDrv_STRL_SetObjYOffset(U16 u16Value);

INTERFACE void MDrv_STRLD_SetRegionOffset  (U8 u8Value);
INTERFACE void MDrv_STRLD_SetRegionDepth(U8 u8Value);

INTERFACE void MDrv_STRLD_SetRegionColorKeyFG(U8 u8Value);
INTERFACE void MDrv_STRLD_SetRegionColorKeyBG(U8 u8Value);

INTERFACE void MDrv_STRLD_SetPatch();
INTERFACE U8 MDrv_STRLD_GetReturn(); 

INTERFACE void MDrv_STRLD_SetMappingTable2to4(U32 u32Value);
INTERFACE void MDrv_STRLD_SetMappingTable2to8(U32 u32Value);
INTERFACE void MDrv_STRLD_SetMappingTable4to8(U32 u32Value0, U32 u32Value1, U32 u32Value2, U32 u32Value3);

#undef INTERFACE
#endif
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -