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

📄 datatypes.h

📁 以TI 公司的OMAP5910为例
💻 H
字号:
//////////////////////////////////////////////////////////////////////////
//            Copyright (C) 2004, Eyoka @ Microunit
//                           All Rights Reserved
//________________________________________________________________________
//
// FILENAME:    datatypes.h
// PROJECT:     High-Resolution Video System On OMAP
// MODULE:      ALL
// DESCRIPTION: global data type simplified declaration.
// TARGET CPU:  DSP-C55xx of OMAP5910
// VERSION:     1.4
//________________________________________________________________________
//
// REVISE HISTORY
// DATE         VERSION AUTHOR  DESCRIPTION
// 2004-11-09   1.4     Eyoka   For both ARM and DSP.
// 2004-11-01   1.3     Eyoka   for ARM, inline added.
// 2004-11-01   1.2     Eyoka   REG32 added, ColorMode_t modified.
// 2004-10-09   1.1     Eyoka   MMR, REG, BOOL added.
// 2004-09-28   1.0     Eyoka   First release.
//////////////////////////////////////////////////////////////////////////

#ifndef _DATA_TYPES_H_
#define _DATA_TYPES_H_


#ifndef TARGET_DSP
#define TARGET_ARM
#endif	//TARGET_DSP

// int types
#ifdef TARGET_ARM
typedef unsigned char			BYTE;
typedef volatile BYTE			MEM8;
#endif

typedef unsigned short			WORD;
typedef volatile WORD			MEM16;
#define REG16(A)	(*(MEM16*)(A))

typedef unsigned long			DWORD;
typedef volatile DWORD			MEM32;
#define REG32(A)	(*(MEM32*)(A))

#ifdef TARGET_DSP
typedef volatile ioport WORD	IO16;
#define REG(A)		(*(IO16*)(A))
#endif

// string types
typedef char					*PSTR;
typedef const char				*PCSTR;

// boolean
#ifndef BOOL
typedef enum
{
	FALSE = 0,
	TRUE = 1
}
boolean_t;
#define BOOL boolean_t
#endif	// #ifndef BOOL

// color mode
typedef enum
{
	UNKNOW	= 0x00,
	BW		= 0x01,
	GRAY4	= 0x02,
	INDEX4	= 0x03,
	GRAY8	= 0x04,
	INDEX8	= 0x05,

	GRAY16	= 0x08,
	RGB565	= 0x09,
	RGB555	= 0x0A,
	YUYV	= 0x0B,
	YVYU	= 0x0C,
	UYVY	= 0x0D,
	VYUY	= 0x0E,

	YUV422	= 0x10,
	YUV411	= 0x11,
	YUV420	= 0x12,

	RGB		= 0x20,
	YUV		= 0x21,

	RGB32	= 0x30,
	YUV32	= 0x31
}
COLOR_MODE_t;

// huffman code
typedef struct tagHUFFMANCODE
{
	WORD code;		// huffman code
	short length;				// code length
}
HUFFMANCODE;

inline void Delay(DWORD cycles)
{
	register DWORD i;

	for(i=0; i<cycles; i++)
	{
		;	// empty loop
	}
}



#endif	// #ifndef _DATA_TYPES_H

⌨️ 快捷键说明

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