10c1bc742181ded4930842b46e9507372f0b1b963James Dong;/******************************************************************************
20c1bc742181ded4930842b46e9507372f0b1b963James Dong;// Copyright (c) 1999-2005 The Khronos Group Inc. All Rights Reserved
30c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
40c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
50c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
60c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
70c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
80c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
90c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
100c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
110c1bc742181ded4930842b46e9507372f0b1b963James Dong;******************************************************************************/
120c1bc742181ded4930842b46e9507372f0b1b963James Dong
130c1bc742181ded4930842b46e9507372f0b1b963James Dong;/** =============== Structure Definition for Sample Generation ============== */
140c1bc742181ded4930842b46e9507372f0b1b963James Dong;/** transparent status */
150c1bc742181ded4930842b46e9507372f0b1b963James Dong
160c1bc742181ded4930842b46e9507372f0b1b963James Dong;enum {
170c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_TRANSPARENT	EQU 0;	/** Wholly transparent */
180c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_PARTIAL		EQU 1;	/** Partially transparent */
190c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_OPAQUE		EQU 2;	/** Opaque */
200c1bc742181ded4930842b46e9507372f0b1b963James Dong;}
210c1bc742181ded4930842b46e9507372f0b1b963James Dong
220c1bc742181ded4930842b46e9507372f0b1b963James Dong;/** direction */
230c1bc742181ded4930842b46e9507372f0b1b963James Dong;enum {
240c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_NONE			EQU 0;
250c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_HORIZONTAL	EQU 1;
260c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_VERTICAL		EQU 2;
270c1bc742181ded4930842b46e9507372f0b1b963James Dong;}
280c1bc742181ded4930842b46e9507372f0b1b963James Dong
290c1bc742181ded4930842b46e9507372f0b1b963James Dong;/** bilinear interpolation type */
300c1bc742181ded4930842b46e9507372f0b1b963James Dong;enum {
310c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_INTEGER_PIXEL EQU 0;	/** case a */
320c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_HALF_PIXEL_X  EQU 1;	/** case b */
330c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_HALF_PIXEL_Y  EQU 2;	/** case c */
340c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_HALF_PIXEL_XY EQU 3;	/** case d */
350c1bc742181ded4930842b46e9507372f0b1b963James Dong;}
360c1bc742181ded4930842b46e9507372f0b1b963James Dong
370c1bc742181ded4930842b46e9507372f0b1b963James Dong;enum {
380c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_UPPER  				EQU 1;		/** set if the above macroblock is available */
390c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_LEFT   				EQU 2;		/** set if the left macroblock is available */
400c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_CENTER 				EQU 4;
410c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_RIGHT				EQU 8;
420c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_LOWER  				EQU	16;
430c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_UPPER_LEFT  		EQU 32;		/** set if the above-left macroblock is available */
440c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_UPPER_RIGHT 		EQU 64;		/** set if the above-right macroblock is available */
450c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_LOWER_LEFT  		EQU 128;
460c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_LOWER_RIGHT 		EQU 256
470c1bc742181ded4930842b46e9507372f0b1b963James Dong;}
480c1bc742181ded4930842b46e9507372f0b1b963James Dong
490c1bc742181ded4930842b46e9507372f0b1b963James Dong;enum {
500c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_LUMINANCE  	EQU 0;	/** Luminance component */
510c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_CHROMINANCE  	EQU 1;	/** chrominance component */
520c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_ALPHA  		EQU 2;	/** Alpha component */
530c1bc742181ded4930842b46e9507372f0b1b963James Dong;}
540c1bc742181ded4930842b46e9507372f0b1b963James Dong
550c1bc742181ded4930842b46e9507372f0b1b963James Dong;enum {
560c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_INTER			EQU 0;	/** P picture or P-VOP */
570c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_INTER_Q		EQU 1;	/** P picture or P-VOP */
580c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_INTER4V		EQU 2;	/** P picture or P-VOP */
590c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_INTRA			EQU 3;	/** I and P picture; I- and P-VOP */
600c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_INTRA_Q		EQU 4;	/** I and P picture; I- and P-VOP */
610c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_INTER4V_Q		EQU 5;	/** P picture or P-VOP (H.263)*/
620c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_DIRECT		EQU 6;	/** B picture or B-VOP (MPEG-4 only) */
630c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_INTERPOLATE	EQU 7;	/** B picture or B-VOP */
640c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_BACKWARD		EQU 8;	/** B picture or B-VOP */
650c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_FORWARD		EQU 9;	/** B picture or B-VOP */
660c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VIDEO_NOTCODED		EQU 10;	/** B picture or B-VOP */
670c1bc742181ded4930842b46e9507372f0b1b963James Dong;}
680c1bc742181ded4930842b46e9507372f0b1b963James Dong
690c1bc742181ded4930842b46e9507372f0b1b963James Dong;enum {
700c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_16X16_VERT 			EQU 0;		/** Intra_16x16_Vertical (prediction mode) */
710c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_16X16_HOR 			EQU 1;		/** Intra_16x16_Horizontal (prediction mode) */
720c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_16X16_DC 			EQU 2;		/** Intra_16x16_DC (prediction mode) */
730c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_16X16_PLANE 		EQU 3;	/** Intra_16x16_Plane (prediction mode) */
740c1bc742181ded4930842b46e9507372f0b1b963James Dong;}
750c1bc742181ded4930842b46e9507372f0b1b963James Dong
760c1bc742181ded4930842b46e9507372f0b1b963James Dong;enum {
770c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_4x4_VERT 			EQU 0;		/** Intra_4x4_Vertical (prediction mode) */
780c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_4x4_HOR  			EQU 1;		/** Intra_4x4_Horizontal (prediction mode) */
790c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_4x4_DC   			EQU 2;		/** Intra_4x4_DC (prediction mode) */
800c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_4x4_DIAG_DL 		EQU 3;	/** Intra_4x4_Diagonal_Down_Left (prediction mode) */
810c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_4x4_DIAG_DR 		EQU 4;	/** Intra_4x4_Diagonal_Down_Right (prediction mode) */
820c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_4x4_VR 				EQU 5;			/** Intra_4x4_Vertical_Right (prediction mode) */
830c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_4x4_HD 				EQU 6;			/** Intra_4x4_Horizontal_Down (prediction mode) */
840c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_4x4_VL 				EQU 7;			/** Intra_4x4_Vertical_Left (prediction mode) */
850c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_4x4_HU 				EQU 8;			/** Intra_4x4_Horizontal_Up (prediction mode) */
860c1bc742181ded4930842b46e9507372f0b1b963James Dong;}
870c1bc742181ded4930842b46e9507372f0b1b963James Dong
880c1bc742181ded4930842b46e9507372f0b1b963James Dong;enum {
890c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_CHROMA_DC 			EQU 0;		/** Intra_Chroma_DC (prediction mode) */
900c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_CHROMA_HOR 			EQU 1;		/** Intra_Chroma_Horizontal (prediction mode) */
910c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_CHROMA_VERT 		EQU 2;	/** Intra_Chroma_Vertical (prediction mode) */
920c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_CHROMA_PLANE 		EQU 3;	/** Intra_Chroma_Plane (prediction mode) */
930c1bc742181ded4930842b46e9507372f0b1b963James Dong;}
940c1bc742181ded4930842b46e9507372f0b1b963James Dong
950c1bc742181ded4930842b46e9507372f0b1b963James Dong;typedef	struct {
960c1bc742181ded4930842b46e9507372f0b1b963James Dongx	EQU	0;
970c1bc742181ded4930842b46e9507372f0b1b963James Dongy	EQU	4;
980c1bc742181ded4930842b46e9507372f0b1b963James Dong;}OMXCoordinate;
990c1bc742181ded4930842b46e9507372f0b1b963James Dong
1000c1bc742181ded4930842b46e9507372f0b1b963James Dong;typedef struct {
1010c1bc742181ded4930842b46e9507372f0b1b963James Dongdx	EQU	0;
1020c1bc742181ded4930842b46e9507372f0b1b963James Dongdy	EQU	2;
1030c1bc742181ded4930842b46e9507372f0b1b963James Dong;}OMXMotionVector;
1040c1bc742181ded4930842b46e9507372f0b1b963James Dong
1050c1bc742181ded4930842b46e9507372f0b1b963James Dong;typedef struct {
1060c1bc742181ded4930842b46e9507372f0b1b963James Dongxx		EQU	0;
1070c1bc742181ded4930842b46e9507372f0b1b963James Dongyy		EQU	4;
1080c1bc742181ded4930842b46e9507372f0b1b963James Dongwidth	EQU	8;
1090c1bc742181ded4930842b46e9507372f0b1b963James Dongheight	EQU	12;
1100c1bc742181ded4930842b46e9507372f0b1b963James Dong;}OMXiRect;
1110c1bc742181ded4930842b46e9507372f0b1b963James Dong
1120c1bc742181ded4930842b46e9507372f0b1b963James Dong;typedef enum {
1130c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VC_INTER         EQU 0;        /** P picture or P-VOP */
1140c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VC_INTER_Q       EQU 1;       /** P picture or P-VOP */
1150c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VC_INTER4V       EQU 2;       /** P picture or P-VOP */
1160c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VC_INTRA         EQU 3;        /** I and P picture, I- and P-VOP */
1170c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VC_INTRA_Q       EQU 4;       /** I and P picture, I- and P-VOP */
1180c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VC_INTER4V_Q     EQU 5;    /** P picture or P-VOP (H.263)*/
1190c1bc742181ded4930842b46e9507372f0b1b963James Dong;} OMXVCM4P2MacroblockType;
1200c1bc742181ded4930842b46e9507372f0b1b963James Dong
1210c1bc742181ded4930842b46e9507372f0b1b963James Dong;enum {
1220c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VC_NONE          EQU 0
1230c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VC_HORIZONTAL    EQU 1
1240c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VC_VERTICAL      EQU 2
1250c1bc742181ded4930842b46e9507372f0b1b963James Dong;};
1260c1bc742181ded4930842b46e9507372f0b1b963James Dong
1270c1bc742181ded4930842b46e9507372f0b1b963James Dong
1280c1bc742181ded4930842b46e9507372f0b1b963James Dong	END
1290c1bc742181ded4930842b46e9507372f0b1b963James Dong
130