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 #define IVIDEO2_MAX_IO_BUFFERS 20
00064
00072 typedef enum {
00073 IVIDEO_NO_SKIP = 0,
00074 IVIDEO_SKIP_P = 1,
00091 IVIDEO_SKIP_B = 2,
00099 IVIDEO_SKIP_I = 3,
00100 IVIDEO_SKIP_IP = 4,
00101 IVIDEO_SKIP_IB = 5,
00102 IVIDEO_SKIP_PB = 6,
00103 IVIDEO_SKIP_IPB = 7,
00104 IVIDEO_SKIP_IDR = 8,
00105 IVIDEO_SKIP_NONREFERENCE = 9,
00108 IVIDEO_SKIP_DEFAULT = IVIDEO_NO_SKIP
00109 } IVIDEO_FrameSkip;
00110
00123 typedef enum {
00124 IVIDEO_NA_FRAME = -1,
00125 IVIDEO_I_FRAME = 0,
00126 IVIDEO_P_FRAME = 1,
00127 IVIDEO_B_FRAME = 2,
00128 IVIDEO_IDR_FRAME = 3,
00131 IVIDEO_II_FRAME = 4,
00132 IVIDEO_IP_FRAME = 5,
00135 IVIDEO_IB_FRAME = 6,
00138 IVIDEO_PI_FRAME = 7,
00141 IVIDEO_PP_FRAME = 8,
00142 IVIDEO_PB_FRAME = 9,
00145 IVIDEO_BI_FRAME = 10,
00148 IVIDEO_BP_FRAME = 11,
00151 IVIDEO_BB_FRAME = 12,
00152 IVIDEO_MBAFF_I_FRAME = 13,
00153 IVIDEO_MBAFF_P_FRAME = 14,
00154 IVIDEO_MBAFF_B_FRAME = 15,
00155 IVIDEO_MBAFF_IDR_FRAME = 16,
00159 IVIDEO_FRAMETYPE_DEFAULT = IVIDEO_I_FRAME
00160 } IVIDEO_FrameType;
00161
00169 typedef enum {
00170 IVIDEO_CONTENTTYPE_NA = -1,
00171 IVIDEO_PROGRESSIVE = 0,
00172 IVIDEO_PROGRESSIVE_FRAME = IVIDEO_PROGRESSIVE,
00173 IVIDEO_INTERLACED = 1,
00174 IVIDEO_INTERLACED_FRAME = IVIDEO_INTERLACED,
00175 IVIDEO_INTERLACED_TOPFIELD = 2,
00176 IVIDEO_INTERLACED_BOTTOMFIELD = 3,
00179 IVIDEO_CONTENTTYPE_DEFAULT = IVIDEO_PROGRESSIVE
00180 } IVIDEO_ContentType;
00181
00182
00190 typedef enum {
00191 IVIDEO_LOW_DELAY = 1,
00192 IVIDEO_STORAGE = 2,
00195 IVIDEO_TWOPASS = 3,
00198 IVIDEO_NONE = 4,
00201 IVIDEO_USER_DEFINED = 5,
00206 IVIDEO_RATECONTROLPRESET_DEFAULT = IVIDEO_LOW_DELAY
00207 } IVIDEO_RateControlPreset;
00208
00209
00217 typedef enum {
00218 IVIDEO_FRAME_ENCODED = 0,
00219 IVIDEO_FRAME_SKIPPED = 1,
00225 IVIDEO_SKIPMODE_DEFAULT = IVIDEO_FRAME_ENCODED
00226 } IVIDEO_SkipMode;
00227
00228
00245 typedef enum {
00246 IVIDEO_FRAME_NOERROR = 0,
00248 IVIDEO_FRAME_NOTAVAILABLE = 1,
00251 IVIDEO_FRAME_ERROR = 2,
00272 IVIDEO_FRAME_OUTPUTSKIP = 3,
00277 IVIDEO_OUTPUTFRAMESTATUS_DEFAULT = IVIDEO_FRAME_NOERROR
00278 } IVIDEO_OutputFrameStatus;
00279
00287 typedef enum {
00288 IVIDEO_NA_PICTURE = -1,
00289 IVIDEO_I_PICTURE = 0,
00290 IVIDEO_P_PICTURE = 1,
00291 IVIDEO_B_PICTURE = 2,
00293 IVIDEO_PICTURE_TYPE_DEFAULT = IVIDEO_I_PICTURE
00294 } IVIDEO_PictureType;
00295
00296
00304 typedef enum {
00305 IVIDEO_MPEG1 = 1,
00306 IVIDEO_MPEG2SP = 2,
00307 IVIDEO_MPEG2MP = 3,
00308 IVIDEO_MPEG2HP = 4,
00309 IVIDEO_MPEG4SP = 5,
00310 IVIDEO_MPEG4ASP = 6,
00311 IVIDEO_H264BP = 7,
00312 IVIDEO_H264MP = 8,
00313 IVIDEO_H264HP = 9,
00314 IVIDEO_VC1SP = 10,
00315 IVIDEO_VC1MP = 11,
00316 IVIDEO_VC1AP = 12,
00317 IVIDEO_H264RCDO = 13,
00318 IVIDEO_RV8 = 14,
00319 IVIDEO_RV9 = 15,
00320 IVIDEO_RV10 = IVIDEO_RV9,
00321 IVIDEO_ON2VP6 = 16,
00322 IVIDEO_ON2VP7 = 17,
00323 IVIDEO_AVS10 = 18,
00324 IVIDEO_SORENSONSPARK = 19,
00325 IVIDEO_H263_PROFILE0 = 20,
00326 IVIDEO_H263_PROFILE3 = 21,
00327 IVIDEO_H264SVC = 22,
00328 IVIDEO_MULTIVIEW = 23,
00329 IVIDEO_MJPEG = 24
00330 } IVIDEO_Format;
00331
00332
00336 typedef struct IVIDEO_BufDesc {
00337 XDAS_Int32 numBufs;
00338 XDAS_Int32 width;
00339 XDAS_Int8 *bufs[XDM_MAX_IO_BUFFERS];
00342 XDAS_Int32 bufSizes[XDM_MAX_IO_BUFFERS];
00345 } IVIDEO_BufDesc;
00346
00350 typedef struct IVIDEO1_BufDescIn {
00351 XDAS_Int32 numBufs;
00352 XDAS_Int32 frameWidth;
00353 XDAS_Int32 frameHeight;
00354 XDAS_Int32 framePitch;
00359 XDM1_SingleBufDesc bufDesc[XDM_MAX_IO_BUFFERS];
00360 } IVIDEO1_BufDescIn;
00361
00362
00366 #define IVIDEO_MAX_YUV_BUFFERS 3
00367
00371 typedef struct IVIDEO1_BufDesc {
00372 XDAS_Int32 numBufs;
00373 XDAS_Int32 frameWidth;
00374 XDAS_Int32 frameHeight;
00375 XDAS_Int32 framePitch;
00380 XDM1_SingleBufDesc bufDesc[IVIDEO_MAX_YUV_BUFFERS];
00381 XDAS_Int32 extendedError;
00382 XDAS_Int32 frameType;
00386 XDAS_Int32 topFieldFirstFlag;
00399 XDAS_Int32 repeatFirstFieldFlag;
00412 XDAS_Int32 frameStatus;
00419 XDAS_Int32 repeatFrame;
00446 XDAS_Int32 contentType;
00460 XDAS_Int32 chromaFormat;
00464 } IVIDEO1_BufDesc;
00465
00475 typedef enum {
00476 IVIDEO_FIELD_INTERLEAVED = 0,
00477 IVIDEO_FIELD_SEPARATED = 1,
00478 IVIDEO_TOP_ONLY = 2,
00479 IVIDEO_BOTTOM_ONLY = 3
00480 } IVIDEO_VideoLayout;
00481
00495 typedef enum {
00496 IVIDEO_DECODE_ONLY = 0,
00497 IVIDEO_ENCODE_ONLY = 1,
00498 IVIDEO_TRANSCODE_FRAMELEVEL = 2,
00502 IVIDEO_TRANSCODE_MBLEVEL = 3,
00506 IVIDEO_TRANSRATE_FRAMELEVEL = 4,
00510 IVIDEO_TRANSRATE_MBLEVEL = 5
00514 } IVIDEO_OperatingMode;
00515
00525 typedef enum {
00526 IVIDEO_YUVRANGE_FULL = 0,
00527 IVIDEO_YUVRANGE_ITU = 1
00528 } IVIDEO_BitRange;
00529
00542 typedef enum {
00543 IVIDEO_FIXEDLENGTH = 0,
00544 IVIDEO_SLICEMODE = 1,
00545 IVIDEO_NUMROWS = 2,
00546 IVIDEO_ENTIREFRAME = 3
00547 } IVIDEO_DataMode;
00548
00549
00555 typedef enum {
00556 IVIDEO_ERRORINFO_OFF = 0,
00559 IVIDEO_ERRORINFO_ON_INPUT = 1,
00562 IVIDEO_ERRORINFO_ON_OUTPUT = 2,
00565 IVIDEO_ERRORINFO_ON_BOTH = 3,
00570 IVIDEO_ERRORINFO_MODE_DEFAULT = IVIDEO_ERRORINFO_OFF
00571
00572 } IVIDEO_ErrorInfoMode;
00573
00577 #define IVIDEO_MAX_NUM_PLANES 3
00578 #define IVIDEO_MAX_NUM_METADATA_PLANES 3
00586
00587
00588
00589
00590
00591
00592
00593 typedef enum {
00594 IVIDEO_METADATAPLANE_NONE = -1,
00597 IVIDEO_METADATAPLANE_MBINFO = 0,
00603 IVIDEO_METADATAPLANE_EINFO = 1,
00609 IVIDEO_METADATAPLANE_ALPHA = 2
00616 } IVIDEO_MetadataType;
00617
00621 typedef struct IVIDEO2_BufDesc {
00622 XDAS_Int32 numPlanes;
00629 XDAS_Int32 numMetaPlanes;
00636 XDAS_Int32 dataLayout;
00643 XDM2_SingleBufDesc planeDesc[IVIDEO_MAX_NUM_PLANES];
00644 XDM2_SingleBufDesc metadataPlaneDesc[IVIDEO_MAX_NUM_METADATA_PLANES];
00650 XDAS_Int32 secondFieldOffsetWidth[IVIDEO_MAX_NUM_PLANES];
00663 XDAS_Int32 secondFieldOffsetHeight[IVIDEO_MAX_NUM_PLANES];
00675 XDAS_Int32 imagePitch[IVIDEO_MAX_NUM_PLANES];
00678 XDM_Rect imageRegion;
00681 XDM_Rect activeFrameRegion;
00684 XDAS_Int32 extendedError;
00689 XDAS_Int32 frameType;
00696 XDAS_Int32 topFieldFirstFlag;
00709 XDAS_Int32 repeatFirstFieldFlag;
00722 XDAS_Int32 frameStatus;
00729 XDAS_Int32 repeatFrame;
00756 XDAS_Int32 contentType;
00770 XDAS_Int32 chromaFormat;
00774 XDAS_Int32 scalingWidth;
00784 XDAS_Int32 scalingHeight;
00791 XDAS_Int32 rangeMappingLuma;
00800 XDAS_Int32 rangeMappingChroma;
00809 XDAS_Int32 enableRangeReductionFlag;
00820 } IVIDEO2_BufDesc;
00821
00822
00825 #ifdef __cplusplus
00826 }
00827 #endif
00828
00829 #endif
00830
00831
00832
00833