/* Copyright (c) 2006 NVIDIA Corporation. All rights reserved. * * NVIDIA Corporation and its licensors retain all intellectual property * and proprietary rights in and to this software, related documentation * and any modifications thereto. Any use, reproduction, disclosure or * distribution of this software and related documentation without an * express license agreement from NVIDIA Corporation is strictly prohibited. */ /** @file GFEPP.h GFSDK EPP API */ #ifndef __GFEPP_H__ #define __GFEPP_H__ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /** @addtogroup groupEPP EPPAPI EPP API */ /*@{*/ typedef struct _GFEPPBUFFERINFO { NvU32 flag; PGFRECT pSrcRect; void *pLine; NvU32 alphaValue; NvU32 numofSurfs; PGFRMSURFACE *ppSurf; } GFEPPBUFFERINFO, *PEPPBUFFERINFO; // Typesafe functions for opening and closing this component GF_RETTYPE GFEPPOpen(GFRmHandle hRm, GFEPPHandle *phEPP, GF_STATE_TYPE state, GFRmChHandle hCh); void GFEPPClose(GFEPPHandle *phEPP); GF_RETTYPE GFEPPSetBuffers(GFEPPHandle EPPHandle, PEPPBUFFERINFO pBuf); GF_RETTYPE GFEPPRaiseBuffer(GFEPPHandle EPPHandle, NvU32, NvU32* pCmdS, NvU32* pIndex); GF_RETTYPE GFEPPRaiseFrame(GFEPPHandle EPPHandle, NvU32, NvU32* pCmdS, NvU32* pIndex); #define EPPBUFFERINFO_FLAG_SRC_VI 0x00000001 //incoming video from VI #define EPPBUFFERINFO_FLAG_SRC_SB 0x00000002 //incoming video from SB #define EPPBUFFERINFO_FLAG_SRC_GC 0x00000003 //incoming video from display #define EPPBUFFERINFO_FLAG_SRC_MASK 0x0000000F #define EPPBUFFERINFO_FLAG_SRC_VI_YUV444 0x00000010 //incoming video from VI #define EPPBUFFERINFO_FLAG_SRC_VI_BAYER 0x00000020 //incoming video from VI, Raw Bayer data #define EPPBUFFERINFO_FLAG_SRC_VI_RGB 0x00000030 //incoming video from VI, Raw RGB data #define EPPBUFFERINFO_FLAG_SRC_VI_MASK 0x000000F0 #define EPPBUFFERINFO_FLAG_PRE_PROC 0x00000100 //pre process filter enable #define EPPBUFFERINFO_FLAG_AVERAGE 0x00000200 //enable average for 420 planar or 444 to 422 conversion. #define EPPBUFFERINFO_FLAG_C_SIGN 0x00000400 //chroma sign #define EPPBUFFERINFO_FLAG_DMA 0x00000800 //enable DMA #define EPPBUFFERINFO_FLAG_DUP 0x00001000 //duplicate #define EPPBUFFERINFO_FLAG_H_DIRECTION 0x00002000 #define EPPBUFFERINFO_FLAG_V_DIRECTION 0x00004000 #define EPPBUFFERINFO_FLAG_XY_SWAP 0x00008000 #define EPPBUFFERINFO_FLAG_SRC_SB_YUV 0x00010000 #define EPPBUFFERINFO_FLAG_SRC_SB_RGB 0x00020000 #define EPPBUFFERINFO_FLAG_SRC_SB_MASK 0x000F0000 //BE CAREFUL WITH THE STRIDE PROGRAMMING! /*@}*/ #ifdef __cplusplus } #endif #endif // _GFEPP_H_