XDAIS  dais-x04
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Data Fields
IVIDEO2_BufDesc Struct Reference

Detailed buffer descriptor for video buffers. More...

#include <ivideo.h>

Collaboration diagram for IVIDEO2_BufDesc:
Collaboration graph

Data Fields

XDAS_Int32 numPlanes
XDAS_Int32 numMetaPlanes
XDAS_Int32 dataLayout
XDM2_SingleBufDesc planeDesc [3]
XDM2_SingleBufDesc metadataPlaneDesc [3]
XDAS_Int32 secondFieldOffsetWidth [3]
XDAS_Int32 secondFieldOffsetHeight [3]
XDAS_Int32 imagePitch [3]
XDM_Rect imageRegion
XDM_Rect activeFrameRegion
XDAS_Int32 extendedError
 Extended error information.
XDAS_Int32 frameType
 Video frame types.
XDAS_Int32 topFieldFirstFlag
XDAS_Int32 repeatFirstFieldFlag
XDAS_Int32 frameStatus
 Video output buffer status.
XDAS_Int32 repeatFrame
XDAS_Int32 contentType
XDAS_Int32 chromaFormat
 Chroma formats.
XDAS_Int32 scalingWidth
XDAS_Int32 scalingHeight
XDAS_Int32 rangeMappingLuma
XDAS_Int32 rangeMappingChroma
XDAS_Int32 enableRangeReductionFlag

Detailed Description

Detailed buffer descriptor for video buffers.


Field Documentation

XDAS_Int32 IVIDEO2_BufDesc::numPlanes

Number of video planes.

Remarks:
This must be in the range 0 - IVIDEO_MAX_NUM_PLANES.
Todo:
Need further description.
XDAS_Int32 IVIDEO2_BufDesc::numMetaPlanes

Number of meta data planes.

Remarks:
This must be in the range 0 - IVIDEO_MAX_NUM_METADATA_PLANES.
Todo:
Need further description.
XDAS_Int32 IVIDEO2_BufDesc::dataLayout

Field interleaved, field separated.

Todo:
Need further description. Is there an enum we should reference for valid values? Perhaps IVIDEO_VideoLayout?
XDM2_SingleBufDesc IVIDEO2_BufDesc::planeDesc[3]

Picture buffers.

XDM2_SingleBufDesc IVIDEO2_BufDesc::metadataPlaneDesc[3]

Meta planes.

Remarks:
For MB Info & alpha blending
Todo:
Need further description.
XDAS_Int32 IVIDEO2_BufDesc::secondFieldOffsetWidth[3]

Offset for second field (width in pixels).

Remarks:
Valid only if above pointer is not NULL.
Todo:
Need further description. Which "above pointer"? Is this relavent to planeDesc or metadataPlaneDesc... or both? Is the "width in pixels" comment correct?
XDAS_Int32 IVIDEO2_BufDesc::secondFieldOffsetHeight[3]

Offset for second field (height in lines).

Remarks:
Valid only if above pointer is not NULL.
Todo:
Need further description. Which "above pointer"? Is this relavent to planeDesc or metadataPlaneDesc... or both?
XDAS_Int32 IVIDEO2_BufDesc::imagePitch[3]

Image pitch for each plane.

XDM_Rect IVIDEO2_BufDesc::imageRegion

Image region (top left and bottom right).

XDM_Rect IVIDEO2_BufDesc::activeFrameRegion

Active frame region (top left and bottom right).

XDAS_Int32 IVIDEO2_BufDesc::extendedError

Extended error information.

Remarks:
When an internal error occurs, the algorithm will return an error return value (e.g. EFAIL, EUNSUPPORTED)
The value of each enum is the bit which is set.
Bits 31-16 are reserved. Bits 7-0 are codec and implementation specific.
The algorithm can set multiple bits to 1 based on conditions. e.g. it will set bits XDM_FATALERROR (fatal) and XDM_UNSUPPORTEDPARAM (unsupported params) in case of unsupported run time parameters.
This enumeration data type should not be used for storage, but rather only for its constant values.

See also:
XDM_ErrorBit
Remarks:
This field is not required for encoders.
XDAS_Int32 IVIDEO2_BufDesc::frameType

Video frame types.

Remarks:
For the various IVIDEO_xy_FRAME values, this frame type is interlaced where both top and bottom fields are provided in a single frame. The first field is an "x" frame, the second field is "y" field.
This enumeration data type should not be used for storage, but rather only for its constant values.
This enumeration defines a base set of values. Algorithms which require proprietary enumeration values may define them - much like extended fields in base structures. These extended enums should be between XDM_CUSTOMENUMBASE and 0x7FFF.
See also:
XDM_CUSTOMENUMBASE

Remarks:
This field is not required for encoder input buffer.
See also:
IVIDEO_FrameType
XDAS_Int32 IVIDEO2_BufDesc::topFieldFirstFlag

Flag to indicate when the application should display the top field first.

Remarks:
Valid values are XDAS_TRUE and XDAS_FALSE.
This field is only app licable for interlaced content, not progressive.
This field does not apply to encoder recon bufs.
XDAS_Int32 IVIDEO2_BufDesc::repeatFirstFieldFlag

Flag to indicate when the first field should be repeated.

Remarks:
Valid values are XDAS_TRUE and XDAS_FALSE.
This field is only applicable for interlaced content, not progressive.
This field does not apply to encoder recon bufs.
XDAS_Int32 IVIDEO2_BufDesc::frameStatus

Video output buffer status.

Remarks:
Ownership of the buffers, either by application or algorithm, is conveyed via these values.
This reflects the status of ALL output buffers. For example, if video decoded output is in 4:2:0 format, all the 3 output buffers' status is described by this value. Similarly, for 4:2:2 formatted buffers, this value describes the single buffer's status.
This enumeration data type should not be used for storage, but rather only for its constant values.
This enumeration defines a base set of values. Algorithms which require proprietary enumeration values may define them - much like extended fields in base structures. These extended enums should be between XDM_CUSTOMENUMBASE and 0x7FFF.
See also:
XDM_CUSTOMENUMBASE

See also:
IVIDEO_OutputFrameStatus
Remarks:
This field does not apply to encoder recon bufs.
XDAS_Int32 IVIDEO2_BufDesc::repeatFrame

Number of times the display process needs to repeat the displayed progressive frame.

Remarks:
This information is useful for progressive content when the decoder expects the display process to repeat the displayed frame for a certain number of times. This is useful for pulldown (frame/field repetition by display system) support where the display frame rate is increased without increasing the decode frame rate.
The default value is 0.
This field does not apply to encoder recon bufs.
XDAS_Int32 IVIDEO2_BufDesc::contentType

Content type of the buffer.

Remarks:
This is useful when the content is both interlaced and progressive. The display process can use this field to determine how to render the display buffer.
See also:
IVIDEO_ContentType
XDAS_Int32 IVIDEO2_BufDesc::chromaFormat

Chroma formats.

Remarks:
This enumeration data type should not be used for storage, but rather only for its constant values.
This enumeration defines a base set of values. Algorithms which require proprietary enumeration values may define them - much like extended fields in base structures. These extended enums should be between XDM_CUSTOMENUMBASE and 0x7FFF.
See also:
XDM_CUSTOMENUMBASE

See also:
XDM_ColorFormat
XDAS_Int32 IVIDEO2_BufDesc::scalingWidth

Scaled image width for post processing.

Remarks:
This field is not required for encoders.
Todo:
Is this in pixels?
Todo:
Should this field and scalingHeight use a XDM_Rect data type?
XDAS_Int32 IVIDEO2_BufDesc::scalingHeight

Scaled image width for post processing.

Remarks:
This field is not required for encoders.
Todo:
Is this in pixels?
XDAS_Int32 IVIDEO2_BufDesc::rangeMappingLuma

Range Mapping Luma

Todo:
Need further description.
Todo:
We should explore what we did in the speech interfaces and perhaps create an ivideo_vc1.h with VC1-specific definitions.
XDAS_Int32 IVIDEO2_BufDesc::rangeMappingChroma

Range Mapping Chroma

Todo:
Need further description.
Todo:
We should explore what we did in the speech interfaces and perhaps create an ivideo_vc1.h with VC1-specific definitions.
XDAS_Int32 IVIDEO2_BufDesc::enableRangeReductionFlag

Flag indicating whether or not to enable range reduction.

Remarks:
Valid values are XDAS_TRUE and XDAS_FALSE.
Todo:
We should explore what we did in the speech interfaces and perhaps create an ivideo_vc1.h with VC1-specific definitions.

The documentation for this struct was generated from the following file:
Copyright 2013, Texas Instruments Incorporated