?? osd.h
字號:
/**********************************************************************************
* Copyright (c) 2004 ZORAN Corporation, All Rights Reserved
* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
*
* File: $Workfile: osd.h $
*
* Description:
* ============
* Video Processing Unit(VPU) API
*
* Log:
* ====
* $Revision: $
* Last Modified by $Author: $ at $Modtime: $
**********************************************************************************
* Updates:
**********************************************************************************
* $Log: $
*
*
*********************************************************************************/
#include "Config.h" /* Global Configuration - do not remove! */
#ifndef _OSD_H_
#define _OSD_H_
/*** Include Files ***************************************************************/
#include "Include\sysdefs.h"
/*** Defines *********************************************************************/
#define OSD_LL_COLOR_PALETTE_0 0
#define OSD_LL_COLOR_PALETTE_1 1
#define OSD_TRANSP_VIDEO_ONLY 0x00 //OSD-0 data-1
#define OSD_TRANSP_QUARTER_VIDEO 0x02 //OSD-1/4 data-3/4
#define OSD_TRANSP_HALF_VIDEO 0x04 //OSD-1/2 data-1/2
#define OSD_TRANSP_OSD_ONLY 0x07 //OSD-1 data-0
/*** Typedefs ********************************************************************/
typedef BYTE OSD_LL_COLOR_PALETTE_TYPE;
typedef BYTE OSD_LL_TRANSPARENCY_VALUE;
typedef enum
{
OSD_LL_DOT_WIDTH_SINGLE = 0x0000,
OSD_LL_DOT_WIDTH_PAIR = 0x1000,
OSD_LL_DOT_WIDTH_MASK = 0x1000
} OSD_LL_DOT_WIDTH;
typedef enum
{
OSD_LL_FORMAT_1BIT = 0x0000,
OSD_LL_FORMAT_2BIT = 0x0400,
OSD_LL_FORMAT_4BIT = 0x0800,
OSD_LL_FORMAT_8BIT = 0x0c00,
OSD_LL_FORMAT_MASK = 0x0c00
} OSD_LL_FORMAT;
typedef enum
{
OSD_LL_NORMAL_MODE = 0x0000,
OSD_LL_SCALING_MODE = 0x2000,
OSD_LL_MODE_MASK = 0x2000
} OSD_LL_MODE;
typedef enum
{
OSD_LL_TRANSP_VIDEO_ONLY = 0x0000,
OSD_LL_TRANSP_QUARTER_VIDEO = 0x0100,
OSD_LL_TRANSP_HALF_VIDEO = 0x0200,
OSD_LL_TRANSP_OSD_ONLY = 0x0300,
OSD_LL_TRANSP_MASK = 0x0300
} OSD_LL_TRANSP_VALUE;
typedef enum
{
OSD_LL_STATUS_OFF,
OSD_LL_STATUS_START,
OSD_LL_STATUS_DISPLAY
} OSD_LL_STATUS;
typedef enum
{
OSD_LL_SWITCH_OFF = 0x0,
OSD_LL_SWITCH_ON = 0x1,
OSD_LL_SWITCH_MASK = 0x1
} OSD_LL_SWITCH;
typedef enum
{
X_1PIX_Y_1PIX = 0x00, /* Every pix is really 1 pixel on the OSD */
X_2PIX_Y_1PIX = 0x01, /* Pixels are stretched in X */
X_1PIX_Y_2PIX = 0x02, /* Pixels are stretched in Y */
X_2PIX_Y_2PIX = 0x03, /* Every pix is stretched in X and Y (2 pixs on the OSD) */
MASK_1PLANE = 0xFD /* Mask for 1 planes, mask the bit Y pixel. */
} OSD_LL_PIXEL_RESOLUTION;
typedef struct
{
OSD_LL_TRANSPARENCY_VALUE t;
BYTE y;
BYTE u;
BYTE v;
} OSD_Palette;
typedef struct
{
OSD_LL_STATUS status;
OSD_LL_SWITCH mode;
UINT32 firstPlaneAddr;
UINT32 secondPlaneAddr;
UINT32 firstPlaneEndAddr;
UINT32 secondPlaneEndAddr;
} OSD_ll_Info;
/*** Public Functions ************************************************************/
void OSD_LL_SetLayout(void);
void OSD_LL_SetPalette(CONST OSD_Palette *posdPalette ,UINT8 cMaxColorNum, UINT8 cPaletteAddr);
void OSD_LL_SetControl(OSD_LL_PIXEL_RESOLUTION pix_res);
void OSD_LL_Switch(OSD_LL_SWITCH on_off);
void OSD_LL_SetMemoryRange(UINT32 start_address, UINT32 plane_offset,UINT32 bufZiseInWords,BYTE isProg);
void OSD_LL_SetDisplayRange(UINT16 first_line, UINT16 last_line, UINT16 start_x,BYTE isProg);
void OSD_LL_SetStatus(OSD_LL_STATUS osd_status);
void OSD_LL_SetDotWidth(OSD_LL_DOT_WIDTH dot_width);
void OSD_LL_SetFormat(OSD_LL_FORMAT format);
void OSD_LL_SetMode(OSD_LL_MODE mode);
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -