📄 tvphdm_fw.h
字号:
#ifndef TVP_HDM_FW_DOT_H_IS_DEFINED
#define TVP_HDM_FW_DOT_H_IS_DEFINED
/*********************************************************************
* Property of Texas Instruments Incorporated, Copyright 2004
* All rights reserved
**********************************************************************/
/*********************************************************************
*
* Description:
* Include file for OSD modules
*
**********************************************************************/
/*********************************************************************
*
* $Revision: $
*
* $History: TvpHdm_fw.h $
*
*********************************************************************/
/* Layer Number */
#define TVP_CURSOR_LAYER (0x1)
#define TVP_GRAPHICS_2D_MAIN_LAYER (0x2)
#define TVP_GRAPHICS_2D_AUX_LAYER (0x4)
#define TVP_VIDEO_LAYER (0x8)
#define TVP_STILL_LAYER (0x10)
#define TVP_BACKGROUND_LAYER (0x20)
#define TVP_VIRTUAL_LAYER (0x40)
#define TVP_UNKNOWN_LAYER (0x80)
/* Variables */
extern const unsigned long TvpHdmBitsPerPixelGlbl[] ;
extern unsigned long TvpCurSemaphoreGlbl; /* semaphore for the cursor APIs */
extern TvpHDisplay TvpCurDisplayGlbl; /* status of the cursor hardware */
extern unsigned long TvpStlSemaphoreGlbl; /* semaphore for the still APIs */
extern TvpHDisplay TvpStlDisplayGlbl; /* status of the still hardware */
extern unsigned long TvpBckSemaphoreGlbl; /* semaphore for the background APIs */
extern TvpHDisplay TvpBckDisplayGlbl; /* status of the background hardware */
extern unsigned long TvpVidSemaphoreGlbl; /* semaphore for the video APIs */
extern TvpHDisplay TvpVidDisplayGlbl; /* status of the video hardware */
extern unsigned long TvpVrtSemaphoreGlbl; /* semaphore for the virtual APIs */
extern unsigned long TvpGrpSemaphoreGlbl; /* semaphore for the graphics APIs */
extern TvpHDisplay TvpGrpDisplayGlbl[];
extern unsigned long TvpGrpHwIndexGlbl[];
/******************************************************************************
*
* MACROS
*
*******************************************************************************/
/* Pixel Macros */
/* fpixIsEven
*
* Determines if the pixel is an even valued pixel or not
* Returns non-zero if even, and 0 if odd
*
*/
#define tvpFpixIsEven(pix) (!(pix & 1))
/*
* fpixIsOdd
*
* Determines if the pixel is an odd valued pixel or not
* Returns non-zero if odd, and 0 if even
*/
#define tvpFpixIsOdd(pix) (pix & 1)
/*
*
* pixSetEven
* Sets a pixel to even if it is odd, otherwise leaves it alone
*
*/
#define tvpPixSetEven(pix) (pix & ~1)
/*
* pixSetOdd
* Sets a pixel to odd if it is even, otherwise leaves it alone
*
*/
#define tvpPixSetOdd(pix) (tvpFpixIsOdd(pix)?pix:(pix-1))
/*
* cpixGetDisplayWidth
*
* Returns the Width of a display window in pixels given
* the coordinate data structure.
*
*/
#define tvpCpixGetDisplayWidth(pCoord) ((pCoord)->pixX1 - (pCoord)->pixX0 + 1)
/*
* cpixGetDisplayWidth
*
* Returns the Width of a display window in pixels given
* the coordinate data structure.
*
*/
#define tvpCpixGetDisplayHeight(pCoord) ((pCoord)->pixY1 - (pCoord)->pixY0 + 1)
/*
* OSDDisplay
*
* The bit fields of the hardware region attribute structure.
*/
typedef struct TvpOsdParams
{
unsigned int display_priority_level :4 ;
unsigned int anti_flickering_edge :1 ;
unsigned int anti_flickering_enable :1 ;
unsigned int clut_loading_configuration :1 ;
unsigned int RESERVED0 :1 ;
unsigned int bitmap_clut_offset :8 ;
unsigned int window_blending_level :8 ;
unsigned int blending_type :2 ;
unsigned int RESERVED1 :1 ;
unsigned int transparency_enable :1 ;
unsigned int dtype :4 ;
unsigned long source_image_base_address ;
unsigned long source_display_image_width ;
unsigned long clut_base_address ;
unsigned int RESERVED2 :10;
unsigned int disp_x :11;
unsigned int disp_y :11;
unsigned int RESERVED3 :10;
unsigned int width :11;
unsigned int height :11;
unsigned long transparent_color ;
struct TvpOsdParams *pOSDParams_next ;
} TvpOsdParams;
typedef struct TvpOsdDisplay
{
// osdData should be the first item in the structure. This allows
// the same value in the TvpOsdDisplay* as in the TvpOsdParams*
// It also supports checking that the TvpOsdParams structure is
// on a Quad word boundary (required by reqion hardware), by permitting
// the application to allocate the TvpOsdDisplay stucture on a
// Quad Word boundary
TvpOsdParams osdData; /* OSD Data that is used by hardware */
TvpOsdDisplayId idDisplay; /* Display Number or ID */
TvpOsdBlendFactor window_blending_level; /* Blending factor */
Tvp_On_Off visibility;
TvpOsdCoords coords_disp; /* coordinates of display */
TvpOsdCoords coords_area; /* coordinates of area selected */
char * pBitmap; /* Actual base address of image bitmap */
TvpOsdPalette *pPalette; /* Palette data if needed */
struct TvpOsdDisplay *next; /* Used only in the case of regions/virtual */
struct TvpOsdDisplay *previous; /* Used only in the case of regions/virtual */
} TvpOsdDisplay; /* next, previous always the last field of the structure */
// Font Structure
typedef struct TvpOsdFont
{
unsigned long Count; // Count of glyphs for this character set.
unsigned long Height; // Height of glyphs in pixels.
TvpOsdDisptype Format; // Format of glyph data.
char * pFontGlyph; // Pointer to the font glyph table.
unsigned long FontTable[1]; // Dynamically sized font information table.
} TvpOsdFont;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -