1*53ee8cc1Swenshuai.xi #ifndef _FIELDDET_H_ 2*53ee8cc1Swenshuai.xi #define _FIELDDET_H_ 3*53ee8cc1Swenshuai.xi #ifdef __cplusplus 4*53ee8cc1Swenshuai.xi extern "C" { 5*53ee8cc1Swenshuai.xi #endif 6*53ee8cc1Swenshuai.xi #ifndef MSOS_TYPE_LINUX_KERNEL 7*53ee8cc1Swenshuai.xi #include <stdlib.h> 8*53ee8cc1Swenshuai.xi #include <stdio.h> 9*53ee8cc1Swenshuai.xi #include <string.h> 10*53ee8cc1Swenshuai.xi #include <limits.h> 11*53ee8cc1Swenshuai.xi #else 12*53ee8cc1Swenshuai.xi #include <linux/string.h> 13*53ee8cc1Swenshuai.xi #endif 14*53ee8cc1Swenshuai.xi //#define SIMULATE_MEMCPY 15*53ee8cc1Swenshuai.xi #include "MsCommon.h" 16*53ee8cc1Swenshuai.xi 17*53ee8cc1Swenshuai.xi //typedef unsigned short MS_U16; 18*53ee8cc1Swenshuai.xi //typedef unsigned int* MS_PHY; 19*53ee8cc1Swenshuai.xi //typedef unsigned int MS_U32; 20*53ee8cc1Swenshuai.xi //typedef unsigned int MS_BOOL; 21*53ee8cc1Swenshuai.xi 22*53ee8cc1Swenshuai.xi typedef struct stFrameInfo 23*53ee8cc1Swenshuai.xi { 24*53ee8cc1Swenshuai.xi MS_U16 u16Width; 25*53ee8cc1Swenshuai.xi MS_U16 u16Height; 26*53ee8cc1Swenshuai.xi MS_PHY phyBuffAddr; 27*53ee8cc1Swenshuai.xi MS_U32 u32BuffSize; 28*53ee8cc1Swenshuai.xi MS_BOOL bFieldOrderSet; // 0-> bottom first, 1-> top first 29*53ee8cc1Swenshuai.xi } FrameInfo; 30*53ee8cc1Swenshuai.xi 31*53ee8cc1Swenshuai.xi typedef struct stFodInfo 32*53ee8cc1Swenshuai.xi { 33*53ee8cc1Swenshuai.xi int width; 34*53ee8cc1Swenshuai.xi int height; 35*53ee8cc1Swenshuai.xi int pitch; 36*53ee8cc1Swenshuai.xi int tile_width; 37*53ee8cc1Swenshuai.xi int tile_height; 38*53ee8cc1Swenshuai.xi } FODInfo; 39*53ee8cc1Swenshuai.xi 40*53ee8cc1Swenshuai.xi typedef enum EIsFieldOrder 41*53ee8cc1Swenshuai.xi { 42*53ee8cc1Swenshuai.xi E_VDEC_IFOI_TRUE, 43*53ee8cc1Swenshuai.xi E_VDEC_IFOI_FALSE, 44*53ee8cc1Swenshuai.xi E_VDEC_IFOI_Invalid, 45*53ee8cc1Swenshuai.xi } eIsFieldOrderInverse; 46*53ee8cc1Swenshuai.xi 47*53ee8cc1Swenshuai.xi #if (!defined(MSOS_TYPE_LINUX_KERNEL)&& !defined(ANDROID)) 48*53ee8cc1Swenshuai.xi eIsFieldOrderInverse IsFieldOrderInverse (FrameInfo *stFieldInfo); 49*53ee8cc1Swenshuai.xi int InitFieldDetection(FODInfo *fod); 50*53ee8cc1Swenshuai.xi void FInitFieldDetection(void); 51*53ee8cc1Swenshuai.xi void InitMemoryFromVPU(MS_PHY phyAddr1, MS_PHY phyAddr2, MS_PHY phyAddr3); 52*53ee8cc1Swenshuai.xi #endif 53*53ee8cc1Swenshuai.xi 54*53ee8cc1Swenshuai.xi #ifdef __cplusplus 55*53ee8cc1Swenshuai.xi } 56*53ee8cc1Swenshuai.xi #endif 57*53ee8cc1Swenshuai.xi #endif