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

📄 comdef.h

📁 车载电子影音系统dvd播放系统原程序代码
💻 H
字号:
#ifndef     __COMDEF_H__
#define     __COMDEF_H__
// ****** Common definitions and typedefs **********************************
// for data type define
#define     IDATA           data
#define     DATA            data

// Added by D300 Chern Shyh-Chain, 4/11/2002
// Rename and redefine the 16-bit huge environment since it is necessary at 32-bit.
#ifdef  WIN32

#define _halloc( size, dummy )  malloc( size )
#define _hfree( pointer )       free( pointer )

// wyc.host
#ifndef _huge
#define _huge
#endif // _huge
#ifndef __huge
#define __huge
#endif // _huge

#define far
#define _far

#endif  // WIN32

// Micky2.80p, don't reference OS_XXX directly
///#if ( (OS == OS_NATIVE) || (OS == OS_DOS) )
#ifndef  APPLICATION_WINDOWS
// below identifier/ macros are only for Windows
#define WINAPI
#define EXPORT
#define VOID                void
#define BIT                 bit
#define FALSE               0
#define TRUE                1
typedef int                 BOOL;

typedef unsigned char       BYTE;
typedef unsigned short      WORD;
typedef unsigned long       DWORD;
typedef unsigned long       ULONG;
typedef unsigned short      USHORT;
typedef unsigned int        UINT;

#define LONG long
// cat't define as (WORD *)!!!
#define     PWORD   WORD *
#define     PBYTE   BYTE *
#define     PDWORD  DWORD *

// LLY.049-1, define rectangle structure
typedef struct tagRECT
{
    WORD    wLeft;
    WORD    wTop;
    WORD    wRight;
    WORD    wBottom;
} RECT, *PRECT;

#endif  //#ifndef  APPLICATION_WINDOWS

#define LOBYTE(w)           ((BYTE)(w))
#define HIBYTE(w)           ((BYTE)(((UINT)(w) >> 8) & 0xFF))

#define MAKEWORD(low, high) ((WORD)(((BYTE)(low)) | (((WORD)((BYTE)(high))) << 8 )))

#define LOWORD(l)           ((WORD)(DWORD)(l))
#define HIWORD(l)           ((WORD)((((DWORD)(l)) >> 16) & 0xFFFF))

#define MAKELONG(low, high) ((LONG)(((WORD)(low)) | (((DWORD)((WORD)(high))) << 16)))

#ifndef NOMINMAX

#define MIN(a,b)                (((a) < (b)) ? (a) : (b))
#define MAX(a,b)                (((a) > (b)) ? (a) : (b))

#ifndef max
#define max(a,b)            (((a) > (b)) ? (a) : (b))
#endif
#ifndef min
#define min(a,b)            (((a) < (b)) ? (a) : (b))
#endif
#endif  // NOMINMAX

// ***** Common pointer types ***********************************************

#ifndef NULL
#define NULL                0
#endif

// time format conversion macros ***************************
#define MSF_MINUTE(msf)             ((BYTE)(msf))
#define MSF_SECOND(msf)             ( (BYTE) ( ( (WORD) (msf) ) >> 8 ) )
#define MSF_FRAME(msf)              ((BYTE)((msf)>>16))

#define MAKE_MSF(m, s, f)           ((DWORD)(((BYTE)(m) | \
                                                  ((WORD)(s)<<8)) | \
                                                 (((DWORD)(BYTE)(f))<<16)))

#define TMSF_TRACK(tmsf)            ((BYTE)(tmsf))
#define TMSF_MINUTE(tmsf)           ((BYTE)(((WORD)(tmsf)) >> 8))
#define TMSF_SECOND(tmsf)           ((BYTE)((tmsf)>>16))
#define TMSF_FRAME(tmsf)            ((BYTE)((tmsf)>>24))

#define MAKE_TMSF(t, m, s, f)       ((DWORD)(((BYTE)(t) | \
                                                  ((WORD)(m)<<8)) | \
                                                 (((DWORD)(BYTE)(s) | \
                                                   ((WORD)(f)<<8))<<16)))

// ** TCH0.36; begin...
#define HMSF_HOUR(hmsf)             ((BYTE)(hmsf))
#define HMSF_MINUTE(hmsf)           ((BYTE)(((WORD)(hmsf)) >> 8))
#define HMSF_SECOND(hmsf)           ((BYTE)((hmsf)>>16))
#define HMSF_FRAME(hmsf)            ((BYTE)((hmsf)>>24))

#define MAKE_HMSF(h, m, s, f)       ((DWORD)(((BYTE)(h) | \
                                                  ((WORD)(m)<<8)) | \
                                                 (((DWORD)(BYTE)(s) | \
                                                   ((WORD)(f)<<8))<<16)))
// ** TCH0.36; end...

// LLY.043, YUV <--> RGB conversion macros
// [31:24]:don't care, [23:16]:R value, [15:8]: G value, [7:0]: B value
#define RGB_R(rgb)              ((BYTE)((DWORD)rgb>>16))
#define RGB_G(rgb)              ((BYTE)((DWORD)rgb>>8))
#define RGB_B(rgb)              ((BYTE)rgb)
#define MAKE_RGB(r, g, b)       ( ((DWORD)r<<16) | ((DWORD)g<<8) | (DWORD)b ) // LLY.102

// [Notice] YUV format is defined as OSD spec.
// [15:10]<-- Y[7:2]; [9:8]<-- 0x0
// [7:4]<-- U[7:4]; [3:0]<-- V[7:4]
#define YUV_Y(yuv)              ((BYTE)((WORD)yuv>>10)<<2)
#define YUV_U(yuv)              ((BYTE)(yuv&0x00F0))
#define YUV_V(yuv)              ((BYTE)(yuv&0x000F)<<4)
//Brian2.81
#define MAKE_YUV(y, u, v)       ((((DWORD)(y&0xFE))<<11) | (((DWORD)(u&0xFC))<<4) | (((DWORD)(v&0xFC))>>2))
// LLY.043 end ...


#endif      // __COMDEF_H__


⌨️ 快捷键说明

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