Location:
AVC.h
class TAvcVideoMode;
This class is used to set the encoder operation mode.
Defined in TAvcVideoMode
:
iAllowedPictureTypes
, iDataPartitioning
, iDirect8x8Inference
, iEntropyCodingCABAC
, iFlexibleMacroblockOrder
, iFrameMBsOnly
, iMBAFFCoding
, iRedundantPictures
, iWeightedBipredicitonMode
, iWeightedPPrediction
TUint32 iAllowedPictureTypes;
Specifies the picture types allowed in the bitstream. The value is a binary OR of values from TAvcPictureType. Signaled picture types that are not included in the prevailing coding profile are ignored.
TBool iFlexibleMacroblockOrder;
Specifies whether Flexible Macroblock Order (FMO) is allowed. Equal to ETrue indicates that num_slice_groups_minus1 is in the range of 0 to 7, inclusive, i.e. FMO is allowed. Equal to EFalse indicates that num_slice_groups_minus1 shall be equal to 0 only, i.e., FMO is not allowed.
TBool iRedundantPictures;
Specifies whether redundant pictures may be encoded. Equal to ETrue indicates that redundant_pic_cnt_present_flag can be equal to either 0 or 1 (i.e., redundant pictures may be encoded), while Equal to EFalse indicates that redundant_pic_cnt_present_flag shall be equal to 0 only (i.e., redundant pictures cannot be encoded).
TBool iDataPartitioning;
Specifies whether data partitioning is in use. When equal to ETrue, data partitioning is in use, i.e., NAL unit streams can contain nal_unit_type values in the range of 2 to 4, inclusive. When equal to EFalse, data partitioning is not in use, i.e., NAL unit streams shall not contain nal_unit_type values in the range of 2 to 4, inclusive. If data partitioning is in use, the SetErrorProtectionLevelsL method, if used, should set the number of unequal error protection levels to be larger than one.
TBool iFrameMBsOnly;
iFrameMBsOnly equal to ETrue specifies that every coded picture of the coded video sequence is a coded frame containing only frame macroblocks. Equal to EFalse specifies that coded pictures of the coded video sequence may either be coded fields or coded frames.
TBool iMBAFFCoding;
iMBAFFCoding equal to EFalse specifies no switching between frame and field macroblocks within a picture. Equal to ETrue specifies the possible use of switching between frame and field macroblocks within frames. Valid only when iFrameMBsOnly is equal to EFalse.
TBool iEntropyCodingCABAC;
Specifies the entropy decoding method to be applied for the syntax elements for which two descriptors appear in the syntax tables. Equal to EFalse indicates that Exp-Golomb codes or CAVLC (Context-based Adaptive Variable Length Coding), as described in subclause 9.1 or 9.2 of the AVC specification, is applied. Otherwise, CABAC (Context-based Adaptive Binary Arithmetic Coding) as described in subclause 9.3 of the AVC specification is applied.
TBool iWeightedPPrediction;
Equal to EFalse specifies that weighted prediction shall not be applied to P and SP slices. Equal to ETrue specifies that weighted prediction may be applied to P and SP slices.
TUint iWeightedBipredicitonMode;
Equal to 0 specifies that the default weighted prediction is applied to B slices. Equal to 1 specifies that explicit weighted prediction is applied to B slices. Equal to 2 specifies that implicit weighted prediction is applied to B slices.
TBool iDirect8x8Inference;
Specifies the method used in the derivation process for luma motion vectors for B_Skip, B_Direct_16x16 and B_Direct_8x8 as specified in subclause 8.4.1.2 of the AVC specification. When iFrameMBsOnly is equal to EFalse, iDirect8x8Inference shall be equal to ETrue.