📄 osd270.h
字号:
/* DM270 ARM Evaluation Software (c)Texas Instruments 2003*//** \defgroup OSD On-Screen Display (OSD) *//*@{*//** \file osd270.h \brief On-Screen Display (OSD) related APIs Also refer to DM270 register manual for details*/#ifndef __OSD_270_H__#define __OSD_270_H__#include <system/armsys270.h>#define OSD_FORMAT_CbCr 0#define OSD_FORMAT_CrCb 1#define OSD_LUT_ROM 0#define OSD_LUT_RAM 1#define OSD_FIELD_MODE 0#define OSD_FRAME_MODE 1#define OSD_NO_ZOOM 0#define OSD_ZOOM_1x 0#define OSD_ZOOM_2x 1#define OSD_ZOOM_4x 2#define OSD_BMP_1BIT 0#define OSD_BMP_2BIT 1#define OSD_BMP_4BIT 2#define OSD_BMP_8BIT 3/** \brief OSD blending ratio between OSD bitmap window 0, 1 and video window 0*/typedef enum { OSD_BLEND_BMP_0, ///< bitmap window: 0 , video window: 1 OSD_BLEND_BMP_1_8, ///< bitmap window: 1/8, video window: 7/8 OSD_BLEND_BMP_2_8, ///< bitmap window: 2/8, video window: 6/8 OSD_BLEND_BMP_3_8, ///< bitmap window: 3/8, video window: 5/8 OSD_BLEND_BMP_4_8, ///< bitmap window: 4/8, video window: 4/8 OSD_BLEND_BMP_5_8, ///< bitmap window: 5/8, video window: 3/8 OSD_BLEND_BMP_6_8, ///< bitmap window: 6/8, video window: 2/8 OSD_BLEND_BMP_1 ///< bitmap window: 1 , video window: 0 } OSD_BLEND_RATIO;/** \brief OSD Window ID*/typedef enum { OSD_VID_WIN0, ///< OSD Video Window 0 ID OSD_VID_WIN1, ///< OSD Video Window 1 ID OSD_BMP_WIN0, ///< OSD Bitmap Window 0 ID OSD_BMP_WIN1, ///< OSD Bitmap Window 1 ID OSD_CURSOR ///< OSD Hardware Cursor Window ID} OSD_WIN_ID;/** \brief OSD Mode parameters. These parameters are common to all OSD windows */typedef struct { Uint8 cbcrOrder; ///< Cb, Cr Order, 0: OSD_FORMAT_CbCr, 1: OSD_FORMAT_CrCb Uint8 backgroundLUT; ///< LUT for background, 0:OSD_LUT_ROM, 1:OSD_LUT_RAM Uint8 backgroundColor; ///< Background color, LUT color index, 0..255 BOOL fieldSignalReverse; ///< Field signal, TRUE: reverse, FALSE: not reversed Uint16 baseX; ///< Base pixel X, 0..511 Uint16 baseY; ///< Base pixel Y, 0..1023} OSD_ModeData;/** \brief OSD Video Mode parameters. These parameters are common to video window 0, 1*/typedef struct { BOOL expandFilterEnable; ///< Expansion filter enable, TRUE: enable, FALSE: disable BOOL hexpand; ///< Horizontal expansion of 9/8, TRUE: ON, FALSE: OFF BOOL vexpand; ///< Vertical expansion of 6/5, TRUE: ON, FALSE: OFF} OSD_VideoWinModeData;/** \brief OSD Bitmap Mode parameters. These parameters are common to bitmap window 0, 1*/typedef struct { BOOL vexpand; ///< Horizontal expansion of 6/5, TRUE: ON, FALSE: OFF} OSD_BmpWinModeData;/** \brief OSD Window Configuration parameters. These parameters are specific to each OSD window*/typedef struct { Uint16 offset; ///< Window, horizontal width of data in SDRAM. Unit: bytes char *address; ///< Window, data start address. Absolute SDRAM address Uint16 startX; ///< Window, display start position in X direction. Unit: pixels Uint16 startY; ///< Window, display start position in Y direction. Unit: field lines Uint16 width; ///< Window, display width. Unit: pixels Uint16 height; ///< Window, display height. Unit: field lines Uint8 displayMode; ///< Display mode, 0: OSD_FIELD_MODE, 1: OSD_FRAME_MODE Uint8 hzoom; ///< Horizontal zoom, 0: OSD_ZOOM_1x/OSD_NO_ZOOM, 1: OSD_ZOOM_2x, 2:OSD_ZOOM_4x Uint8 vzoom; ///< Vertical zoom, 0: OSD_ZOOM_1x/OSD_NO_ZOOM, 1: OSD_ZOOM_2x, 2:OSD_ZOOM_4x } OSD_WinConfigData;/** \brief OSD Bitmap Window Configuration parameters. These parameters are specific to each OSD bitmap window \see OSD_BLEND_RATIO*/typedef struct { Uint8 selectLUT; ///< Bitmap window LUT, 0: OSD_LUT_ROM, 1: OSD_LUT_RAM Uint8 pixelWidth; ///< Pixel width, 0: OSD_BMP_1BIT, 1: OSD_BMP_2BIT, 2: OSD_BMP_4BIT, 3: OSD_BMP_8BIT OSD_BLEND_RATIO blendRatio; ///< OSD blend ratio, see OSD_BLEND_RATIO BOOL transparencyEnable; ///< Transparency enable, TRUE: enable, FALSE: disable BOOL attrWinModeEnable; ///< OSD BMP WIN 1 as Attribute window, TRUE: enable, FASLE: disable Uint8 attrWinBlinkInterval; ///< Attribute window (OSD BMP WIN 1) blink interval = basic interval * attrWinBlinkInterval, range 1..4 } OSD_BmpWinConfigData;/** \brief OSD Hardware Cursor Configuration parameters.*/typedef struct { Uint16 startX; ///< Cursor, display start position in X direction. Unit: pixels Uint16 startY; ///< Cursor, display start position in Y direction. Unit: field lines Uint16 width; ///< Cursor, display width. Unit: pixels Uint16 height; ///< Cursor, display height. Unit: field lines Uint8 pixelWidthH; ///< Cursor horizontal line width, Unit: pixels, valid values 1,4,8,12,16,20,24,28 Uint8 pixelHeightV; ///< Cursor vertical line width, Unit: lines, valid values 1,2,4,6,8,10,12,14 Uint8 selectLUT; ///< Cursor LUT, 0: OSD_LUT_ROM, 1: OSD_LUT_RAM Uint8 color; ///< Cursor color, LUT color index, 0..255} OSD_CursorConfigData;STATUS OSD_setMode( OSD_ModeData *osdMode); STATUS OSD_setVideoWinMode( OSD_VideoWinModeData *videoWinMode); STATUS OSD_setBmpWinMode( OSD_BmpWinModeData *bmpWinMode); STATUS OSD_setWinConfig( OSD_WIN_ID winID, OSD_WinConfigData *winConfig); STATUS OSD_setBmpWinConfig( OSD_WIN_ID winID, OSD_BmpWinConfigData *bmpWinConfig); STATUS OSD_setCursorConfig( OSD_CursorConfigData *cursorConfig); STATUS OSD_winEnable( OSD_WIN_ID winID, BOOL enable); STATUS OSD_setWinStartPosition( OSD_WIN_ID winID, Uint16 startX, Uint16 startY); STATUS OSD_setWinSize( OSD_WIN_ID winID, Uint16 width, Uint16 height); STATUS OSD_setWinAddr(OSD_WIN_ID winID, char *address); Uint32 OSD_getWinAddr(OSD_WIN_ID winID); STATUS OSD_setRamLUT(Uint8 *lut, Uint16 numEntries);STATUS OSD_setPingPongBuffAddr( char *address); Uint32 OSD_getPingPongBuffAddr(); STATUS OSD_switchToPingPongBuff( BOOL pingPongBuff); STATUS OSD_setBmpColor( OSD_WIN_ID winID, Uint8 bmpWidth, Uint8 bmpValue, Uint8 lutColor); #endif /* __OSD_270_H__ *//*@}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -