00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef _TYPES_H_
00015 #define _TYPES_H_
00016
00017
00018
00019
00020
00021
00022 typedef enum
00023 {
00024
00025 PLANE_Y = 0,
00026 PLANE_U = 1,
00027 PLANE_V = 2,
00028
00029 PLANE_G = 0,
00030 PLANE_B = 1,
00031 PLANE_R = 2
00032 } ColorPlane;
00033
00034 enum {
00035 LIST_0 = 0,
00036 LIST_1 = 1,
00037 BI_PRED = 2,
00038 BI_PRED_L0 = 3,
00039 BI_PRED_L1 = 4
00040 };
00041
00042 enum {
00043 ERROR_SAD = 0,
00044 ERROR_SSE = 1,
00045 ERROR_SATD = 2,
00046 ERROR_PSATD = 3
00047 };
00048
00049 enum {
00050 ME_Y_ONLY = 0,
00051 ME_YUV_FP = 1,
00052 ME_YUV_FP_SP = 2
00053 };
00054
00055
00056 enum {
00057 DISTORTION_MSE = 0
00058 };
00059
00060
00061
00062 typedef enum
00063 {
00064 PAR_DP_1,
00065 PAR_DP_3
00066 } PAR_DP_TYPE;
00067
00068
00069
00070 typedef enum
00071 {
00072 PAR_OF_ANNEXB,
00073 PAR_OF_RTP
00074 } PAR_OF_TYPE;
00075
00076
00077 typedef enum
00078 {
00079 FRAME_CODING,
00080 FIELD_CODING,
00081 ADAPTIVE_CODING,
00082 FRAME_MB_PAIR_CODING
00083 } CodingType;
00084
00085
00086 typedef enum
00087 {
00088 SE_HEADER,
00089 SE_PTYPE,
00090 SE_MBTYPE,
00091 SE_REFFRAME,
00092 SE_INTRAPREDMODE,
00093 SE_MVD,
00094 SE_CBP,
00095 SE_LUM_DC_INTRA,
00096 SE_CHR_DC_INTRA,
00097 SE_LUM_AC_INTRA,
00098 SE_CHR_AC_INTRA,
00099 SE_LUM_DC_INTER,
00100 SE_CHR_DC_INTER,
00101 SE_LUM_AC_INTER,
00102 SE_CHR_AC_INTER,
00103 SE_DELTA_QUANT,
00104 SE_BFRAME,
00105 SE_EOS,
00106 SE_MAX_ELEMENTS = 20
00107 } SE_type;
00108
00109
00110 typedef enum
00111 {
00112 NO_SLICES,
00113 FIXED_MB,
00114 FIXED_RATE,
00115 CALL_BACK
00116 } SliceMode;
00117
00118
00119 typedef enum
00120 {
00121 CAVLC,
00122 CABAC
00123 } SymbolMode;
00124
00125 typedef enum
00126 {
00127 FULL_SEARCH = -1,
00128 FAST_FULL_SEARCH = 0,
00129 UM_HEX = 1,
00130 UM_HEX_SIMPLE = 2,
00131 EPZS = 3
00132 } SearchType;
00133
00134
00135 typedef enum
00136 {
00137 FRAME,
00138 TOP_FIELD,
00139 BOTTOM_FIELD
00140 } PictureStructure;
00141
00142 typedef enum
00143 {
00144 P_SLICE = 0,
00145 B_SLICE = 1,
00146 I_SLICE = 2,
00147 SP_SLICE = 3,
00148 SI_SLICE = 4,
00149 NUM_SLICE_TYPES = 5
00150 } SliceType;
00151
00152
00153 typedef enum
00154 {
00155 F_PEL,
00156 H_PEL,
00157 Q_PEL
00158 } MELevel;
00159
00160 typedef enum
00161 {
00162 FAST_ACCESS = 0,
00163 UMV_ACCESS = 1
00164 } REF_ACCESS_TYPE;
00165
00166 typedef enum
00167 {
00168 IS_LUMA = 0,
00169 IS_CHROMA = 1
00170 } Component_Type;
00171
00172 typedef enum
00173 {
00174 RC_MODE_0 = 0,
00175 RC_MODE_1 = 1,
00176 RC_MODE_2 = 2,
00177 RC_MODE_3 = 3
00178 } RCModeType;
00179
00180
00181 typedef enum {
00182 SSE = 0,
00183 SSE_RGB = 1,
00184 PSNR = 2,
00185 PSNR_RGB = 3,
00186 SSIM = 4,
00187 SSIM_RGB = 5,
00188 MS_SSIM = 6,
00189 MS_SSIM_RGB = 7,
00190 TOTAL_DIST_TYPES = 8
00191 } distortion_types;
00192
00193 typedef enum {
00194 WP_MCPREC_PLUS0 = 4,
00195 WP_MCPREC_PLUS1 = 5,
00196 WP_MCPREC_MINUS0 = 6,
00197 WP_MCPREC_MINUS1 = 7,
00198 WP_MCPREC_MINUS_PLUS0 = 8,
00199 WP_REGULAR = 9
00200 } weighted_prediction_types;
00201
00202
00203 #endif