xref: /utopia/UTPA2-700.0.x/modules/vdec_v3/hal/maxim/vpu_v3/FieldDetection.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
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