90 lines
2.8 KiB
C
Executable File
90 lines
2.8 KiB
C
Executable File
/* 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_
|