1bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;/******************************************************************************
2bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;// Copyright (c) 1999-2005 The Khronos Group Inc. All Rights Reserved
3bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;//
4bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;//
5bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;//
6bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;//
7bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;//
8bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;//
9bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;//
10bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;//
11bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;******************************************************************************/
12bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
13bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;/** =============== Structure Definition for Sample Generation ============== */
14bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;/** transparent status */
15bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
16bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;enum {
17bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_TRANSPARENT	EQU 0;	/** Wholly transparent */
18bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_PARTIAL		EQU 1;	/** Partially transparent */
19bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_OPAQUE		EQU 2;	/** Opaque */
20bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;}
21bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
22bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;/** direction */
23bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;enum {
24bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_NONE			EQU 0;
25bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_HORIZONTAL	EQU 1;
26bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_VERTICAL		EQU 2;
27bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;}
28bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
29bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;/** bilinear interpolation type */
30bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;enum {
31bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_INTEGER_PIXEL EQU 0;	/** case a */
32bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_HALF_PIXEL_X  EQU 1;	/** case b */
33bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_HALF_PIXEL_Y  EQU 2;	/** case c */
34bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_HALF_PIXEL_XY EQU 3;	/** case d */
35bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;}
36bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
37bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;enum {
38bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_UPPER  				EQU 1;		/** set if the above macroblock is available */
39bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_LEFT   				EQU 2;		/** set if the left macroblock is available */
40bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_CENTER 				EQU 4;
41bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_RIGHT				EQU 8;
42bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_LOWER  				EQU	16;
43bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_UPPER_LEFT  		EQU 32;		/** set if the above-left macroblock is available */
44bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_UPPER_RIGHT 		EQU 64;		/** set if the above-right macroblock is available */
45bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_LOWER_LEFT  		EQU 128;
46bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_LOWER_RIGHT 		EQU 256
47bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;}
48bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
49bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;enum {
50bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_LUMINANCE  	EQU 0;	/** Luminance component */
51bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_CHROMINANCE  	EQU 1;	/** chrominance component */
52bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_ALPHA  		EQU 2;	/** Alpha component */
53bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;}
54bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
55bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;enum {
56bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_INTER			EQU 0;	/** P picture or P-VOP */
57bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_INTER_Q		EQU 1;	/** P picture or P-VOP */
58bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_INTER4V		EQU 2;	/** P picture or P-VOP */
59bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_INTRA			EQU 3;	/** I and P picture; I- and P-VOP */
60bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_INTRA_Q		EQU 4;	/** I and P picture; I- and P-VOP */
61bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_INTER4V_Q		EQU 5;	/** P picture or P-VOP (H.263)*/
62bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_DIRECT		EQU 6;	/** B picture or B-VOP (MPEG-4 only) */
63bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_INTERPOLATE	EQU 7;	/** B picture or B-VOP */
64bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_BACKWARD		EQU 8;	/** B picture or B-VOP */
65bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_FORWARD		EQU 9;	/** B picture or B-VOP */
66bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VIDEO_NOTCODED		EQU 10;	/** B picture or B-VOP */
67bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;}
68bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
69bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;enum {
70bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_16X16_VERT 			EQU 0;		/** Intra_16x16_Vertical (prediction mode) */
71bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_16X16_HOR 			EQU 1;		/** Intra_16x16_Horizontal (prediction mode) */
72bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_16X16_DC 			EQU 2;		/** Intra_16x16_DC (prediction mode) */
73bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_16X16_PLANE 		EQU 3;	/** Intra_16x16_Plane (prediction mode) */
74bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;}
75bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
76bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;enum {
77bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_4x4_VERT 			EQU 0;		/** Intra_4x4_Vertical (prediction mode) */
78bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_4x4_HOR  			EQU 1;		/** Intra_4x4_Horizontal (prediction mode) */
79bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_4x4_DC   			EQU 2;		/** Intra_4x4_DC (prediction mode) */
80bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_4x4_DIAG_DL 		EQU 3;	/** Intra_4x4_Diagonal_Down_Left (prediction mode) */
81bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_4x4_DIAG_DR 		EQU 4;	/** Intra_4x4_Diagonal_Down_Right (prediction mode) */
82bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_4x4_VR 				EQU 5;			/** Intra_4x4_Vertical_Right (prediction mode) */
83bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_4x4_HD 				EQU 6;			/** Intra_4x4_Horizontal_Down (prediction mode) */
84bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_4x4_VL 				EQU 7;			/** Intra_4x4_Vertical_Left (prediction mode) */
85bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_4x4_HU 				EQU 8;			/** Intra_4x4_Horizontal_Up (prediction mode) */
86bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;}
87bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
88bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;enum {
89bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_CHROMA_DC 			EQU 0;		/** Intra_Chroma_DC (prediction mode) */
90bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_CHROMA_HOR 			EQU 1;		/** Intra_Chroma_Horizontal (prediction mode) */
91bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_CHROMA_VERT 		EQU 2;	/** Intra_Chroma_Vertical (prediction mode) */
92bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_CHROMA_PLANE 		EQU 3;	/** Intra_Chroma_Plane (prediction mode) */
93bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;}
94bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
95bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;typedef	struct {
96bebc99d6fa433c04139294a5057f8439d772dbd9James Dongx	EQU	0;
97bebc99d6fa433c04139294a5057f8439d772dbd9James Dongy	EQU	4;
98bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;}OMXCoordinate;
99bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
100bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;typedef struct {
101bebc99d6fa433c04139294a5057f8439d772dbd9James Dongdx	EQU	0;
102bebc99d6fa433c04139294a5057f8439d772dbd9James Dongdy	EQU	2;
103bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;}OMXMotionVector;
104bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
105bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;typedef struct {
106bebc99d6fa433c04139294a5057f8439d772dbd9James Dongxx		EQU	0;
107bebc99d6fa433c04139294a5057f8439d772dbd9James Dongyy		EQU	4;
108bebc99d6fa433c04139294a5057f8439d772dbd9James Dongwidth	EQU	8;
109bebc99d6fa433c04139294a5057f8439d772dbd9James Dongheight	EQU	12;
110bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;}OMXiRect;
111bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
112bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;typedef enum {
113bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VC_INTER         EQU 0;        /** P picture or P-VOP */
114bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VC_INTER_Q       EQU 1;       /** P picture or P-VOP */
115bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VC_INTER4V       EQU 2;       /** P picture or P-VOP */
116bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VC_INTRA         EQU 3;        /** I and P picture, I- and P-VOP */
117bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VC_INTRA_Q       EQU 4;       /** I and P picture, I- and P-VOP */
118bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VC_INTER4V_Q     EQU 5;    /** P picture or P-VOP (H.263)*/
119bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;} OMXVCM4P2MacroblockType;
120bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
121bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;enum {
122bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VC_NONE          EQU 0
123bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VC_HORIZONTAL    EQU 1
124bebc99d6fa433c04139294a5057f8439d772dbd9James DongOMX_VC_VERTICAL      EQU 2
125bebc99d6fa433c04139294a5057f8439d772dbd9James Dong;};
126bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
127bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
128bebc99d6fa433c04139294a5057f8439d772dbd9James Dong	END
129bebc99d6fa433c04139294a5057f8439d772dbd9James Dong
130