00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00046 #ifndef ti_xdais_dm_IVIDEO_
00047 #define ti_xdais_dm_IVIDEO_
00048
00049 #ifdef __cplusplus
00050 extern "C" {
00051 #endif
00052
00055
00063 typedef enum {
00064 IVIDEO_NO_SKIP = 0,
00065 IVIDEO_SKIP_P = 1,
00082 IVIDEO_SKIP_B = 2,
00090 IVIDEO_SKIP_I = 3,
00091 IVIDEO_SKIP_IP = 4,
00092 IVIDEO_SKIP_IB = 5,
00093 IVIDEO_SKIP_PB = 6,
00094 IVIDEO_SKIP_IPB = 7,
00095 IVIDEO_SKIP_IDR = 8,
00098 IVIDEO_SKIP_DEFAULT = IVIDEO_NO_SKIP
00099 } IVIDEO_FrameSkip;
00100
00113 typedef enum {
00114 IVIDEO_NA_FRAME = -1,
00115 IVIDEO_I_FRAME = 0,
00116 IVIDEO_P_FRAME = 1,
00117 IVIDEO_B_FRAME = 2,
00118 IVIDEO_IDR_FRAME = 3,
00121 IVIDEO_II_FRAME = 4,
00122 IVIDEO_IP_FRAME = 5,
00125 IVIDEO_IB_FRAME = 6,
00128 IVIDEO_PI_FRAME = 7,
00131 IVIDEO_PP_FRAME = 8,
00132 IVIDEO_PB_FRAME = 9,
00135 IVIDEO_BI_FRAME = 10,
00138 IVIDEO_BP_FRAME = 11,
00141 IVIDEO_BB_FRAME = 12,
00142 IVIDEO_MBAFF_I_FRAME = 13,
00143 IVIDEO_MBAFF_P_FRAME = 14,
00144 IVIDEO_MBAFF_B_FRAME = 15,
00145 IVIDEO_MBAFF_IDR_FRAME = 16,
00149 IVIDEO_FRAMETYPE_DEFAULT = IVIDEO_I_FRAME
00150 } IVIDEO_FrameType;
00151
00159 typedef enum {
00160 IVIDEO_CONTENTTYPE_NA = -1,
00161 IVIDEO_PROGRESSIVE = 0,
00162 IVIDEO_PROGRESSIVE_FRAME = IVIDEO_PROGRESSIVE,
00163 IVIDEO_INTERLACED = 1,
00164 IVIDEO_INTERLACED_FRAME = IVIDEO_INTERLACED,
00165 IVIDEO_INTERLACED_TOPFIELD = 2,
00166 IVIDEO_INTERLACED_BOTTOMFIELD = 3,
00169 IVIDEO_CONTENTTYPE_DEFAULT = IVIDEO_PROGRESSIVE
00170 } IVIDEO_ContentType;
00171
00172
00180 typedef enum {
00181 IVIDEO_LOW_DELAY = 1,
00182 IVIDEO_STORAGE = 2,
00185 IVIDEO_TWOPASS = 3,
00188 IVIDEO_NONE = 4,
00191 IVIDEO_USER_DEFINED = 5,
00196 IVIDEO_RATECONTROLPRESET_DEFAULT = IVIDEO_LOW_DELAY
00197 } IVIDEO_RateControlPreset;
00198
00199
00207 typedef enum {
00208 IVIDEO_FRAME_ENCODED = 0,
00209 IVIDEO_FRAME_SKIPPED = 1,
00215 IVIDEO_SKIPMODE_DEFAULT = IVIDEO_FRAME_ENCODED
00216 } IVIDEO_SkipMode;
00217
00218
00235 typedef enum {
00236 IVIDEO_FRAME_NOERROR = 0,
00238 IVIDEO_FRAME_NOTAVAILABLE = 1,
00241 IVIDEO_FRAME_ERROR = 2,
00264 IVIDEO_OUTPUTFRAMESTATUS_DEFAULT = IVIDEO_FRAME_NOERROR
00265 } IVIDEO_OutputFrameStatus;
00266
00274 typedef enum {
00275 IVIDEO_NA_PICTURE = -1,
00276 IVIDEO_I_PICTURE = 0,
00277 IVIDEO_P_PICTURE = 1,
00278 IVIDEO_B_PICTURE = 2,
00280 IVIDEO_PICTURE_TYPE_DEFAULT = IVIDEO_I_PICTURE
00281 } IVIDEO_PictureType;
00282
00283
00291 typedef enum {
00292 IVIDEO_MPEG1 = 1,
00293 IVIDEO_MPEG2SP = 2,
00294 IVIDEO_MPEG2MP = 3,
00295 IVIDEO_MPEG2HP = 4,
00296 IVIDEO_MPEG4SP = 5,
00297 IVIDEO_MPEG4ASP = 6,
00298 IVIDEO_H264BP = 7,
00299 IVIDEO_H264MP = 8,
00300 IVIDEO_H264HP = 9,
00301 IVIDEO_VC1SP = 10,
00302 IVIDEO_VC1MP = 11,
00303 IVIDEO_VC1AP = 12
00304 } IVIDEO_Format;
00305
00306
00310 typedef struct IVIDEO_BufDesc {
00311 XDAS_Int32 numBufs;
00312 XDAS_Int32 width;
00313 XDAS_Int8 *bufs[XDM_MAX_IO_BUFFERS];
00316 XDAS_Int32 bufSizes[XDM_MAX_IO_BUFFERS];
00319 } IVIDEO_BufDesc;
00320
00324 typedef struct IVIDEO1_BufDescIn {
00325 XDAS_Int32 numBufs;
00326 XDAS_Int32 frameWidth;
00327 XDAS_Int32 frameHeight;
00328 XDAS_Int32 framePitch;
00333 XDM1_SingleBufDesc bufDesc[XDM_MAX_IO_BUFFERS];
00334 } IVIDEO1_BufDescIn;
00335
00336
00340 #define IVIDEO_MAX_YUV_BUFFERS 3
00341
00345 typedef struct IVIDEO1_BufDesc {
00346 XDAS_Int32 numBufs;
00347 XDAS_Int32 frameWidth;
00348 XDAS_Int32 frameHeight;
00349 XDAS_Int32 framePitch;
00354 XDM1_SingleBufDesc bufDesc[IVIDEO_MAX_YUV_BUFFERS];
00355 XDAS_Int32 extendedError;
00356 XDAS_Int32 frameType;
00360 XDAS_Int32 topFieldFirstFlag;
00373 XDAS_Int32 repeatFirstFieldFlag;
00386 XDAS_Int32 frameStatus;
00393 XDAS_Int32 repeatFrame;
00420 XDAS_Int32 contentType;
00434 XDAS_Int32 chromaFormat;
00438 } IVIDEO1_BufDesc;
00439
00440
00443 #ifdef __cplusplus
00444 }
00445 #endif
00446
00447 #endif
00448
00449
00450
00451