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