Location:
devvideorecord.h
class TVideoOutputBuffer;
A video output buffer for a single output coded data unit from the encoder. In practice the encoder is likely to inherit its own buffer class from this class, adding its own internal bookkeeping data.
Defined in TVideoOutputBuffer
:
iCaptureTimestamp
, iCodingStandardSpecificData
, iCoverageEndPosition
, iCoverageStartPosition
, iData
, iDataPartitionNumber
, iHrdVbvParams
, iImplementationSpecificData
, iInLayerScalabilityStep
, iLayer
, iLink
, iMaxErrorProtectionLevel
, iMinErrorProtectionLevel
, iOrderNumber
, iRandomAccessPoint
, iRequiredSeveralPictures
, iRequiredThisPicture
, iSubSeqId
TTimeIntervalMicroSeconds iCaptureTimestamp;
Capture timestamp for this data unit. If a single picture is divided into multiple data units, all data units have the same timestamp.
TUint iCoverageStartPosition;
Identification number indicating the start of the spatial coverage of the data in the output buffer, for example the first macroblock number.
TUint iCoverageEndPosition;
End of the spatial coverage of the data in the buffer, for example the last macroblock number. The idenfication numbers can be used to match data partitions with each other.
TUint iOrderNumber;
Order number of the output buffer having the same spatial coverage as an earlier output buffer of the same picture. Used with video pictures or segments that do not fit into an output buffer. The order number of the first output buffer of a particular spatial coverage area is 0. The order number shall be incremented by 1 for each subsequent output buffer having the same coverage in the same coded picture.
TUint iMinErrorProtectionLevel;
Lowest unequal error protection level present in the buffer. Level 0 indicates that the buffer can be discarded without causing temporal error propagation in the decoder, higher values indicate more important buffers. If unequal error protection is not used, the value is set to 1.
TUint iMaxErrorProtectionLevel;
Highest unequal error protection level present in the buffer. If unequal error protection is not used, the value is set to 1.
TBool iRequiredSeveralPictures;
True if this buffer contains data that is required for decoding several pictures, for example the only copy of a sequence header. A picture needed for motion compensated prediction is not considered "required for decoding several pictures".
TBool iRequiredThisPicture;
True if this buffer contains data that is required for decoding other parts of the same picture, for example the only copy of the picture header.
TUint iLayer;
The layer number for this picture if layered bit-rate scalability is used. If layers are not used, the layer number is always zero.
TUint iSubSeqId;
Sub-sequence identifier of the output picture. A sub-sequence is a set of coded pictures within a bit-rate scalability layer. A picture shall reside in one scalability layer and in one sub-sequence only. A sub-sequence shall not depend on any other sub-sequence in the same or in a higher layer. A sub-sequence in layer 0 can be decoded independently of any other sub-sequences. A sub-sequence identifier labels the sub-sequence within a layer. Consecutive sub-sequences within a particular layer in decoding order shall have a different sub-sequence identifier from each other. See Annex D of H.264 | MPEG-4 AVC for further details.
TUint iInLayerScalabilityStep;
The in-layer scalability step for the data in the buffer if in-layer scalability is used. If in-layer scalability is not in use, the step is set to zero.
TUint iDataPartitionNumber;
iDataPartitionNumber equal to 0 indicates that data partitioning is not in use. Values of iDataPartitionNumber greater than 0 indicate the data partition number in descending order of importance, i.e. data partition 1 is the most important data partition subjectively. Data partitioning can be used with multiple unequal error protection levels.
TPtrC8 iHrdVbvParams;
Updated HRD/VBV parameters, valid if HRD/VBV is in use and iRandomAccessPoint is true.
TDblQueLink iLink;
A queue link used internally by the MSL API. The field must not be modified while the buffer is in the MSL API, but can be used by the client before the buffer has been written and after the buffer has been returned.