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