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