AVBlocks for C++  1.9
Audio and Video Software Development Kit
primo::avblocks::Param::Encoder::Video::H264 Namespace Reference

Parameters specific to H.264 encoders. More...

Variables

static const char Profile [] = "ENCODER_H264_PROFILE_IDC"
 H.264 Video: Encoding profile.
static const char EntropyCodingMode [] = "ENCODER_H264_ENTROPY_CODING_MODE"
 H.264 Video: Entropy coding mode.
static const char NumBFrames [] = "ENCODER_H264_NUM_B_FRAMES"
 H.264 Video: Number of B-pictures between consequent I-pictures or P-pictures.
static const char TreatBFramesAsReference [] = "ENCODER_H264_TREAT_B_FRAMES_AS_REFERENCE"
 H.264 Video: Allows B-pictures to be used as reference pictures.
static const char NumRefFrames [] = "ENCODER_H264_NUM_REF_FRAMES"
 H.264 Video: Maximum number of reference pictures.
static const char NumSlices [] = "ENCODER_H264_NUM_SLICES"
 H.264 Video: Number of slices per frame/field.
static const char Level [] = "ENCODER_H264_LEVEL_IDC"
 H.264 Video: Computation level.
static const char DeblockingFilter [] = "ENCODER_H264_DEBLOCKING_FILTER_IDC"
 H.264 Video: De-blocking filter mode.
static const char DeblockingFilterAlpha [] = "ENCODER_H264_DEBLOCKING_FILTER_ALPHA"
 H.264 Video: De-blocking filter strength.
static const char DeblockingFilterBeta [] = "ENCODER_H264_DEBLOCKING_FILTER_BETA"
 H.264 Video: De-blocking filter threshold.
static const char Transform8x8 [] = "ENCODER_H264_TRANSFORM8X8"
 H.264 Video: Enables 8x8 transform block size.
static const char DirectPredMode [] = "ENCODER_H264_DIRECT_PRED_MODE"
 H.264 Video: Direct prediction mode.
static const char QualitySpeed [] = "ENCODER_H264_QUALITY_SPEED"
 H.264 Video: Quality/Speed trade off.
static const char MERangeSearchX [] = "ENCODER_H264_ME_RANGE_SEARCH_X"
 H.264 Video: Specifies how far motion estimation should be done in a horizontal direction.
static const char MERangeSearchY [] = "ENCODER_H264_ME_RANGE_SEARCH_Y"
 H.264 Video: Specifies how far motion estimation should be done in a vertical direction.
static const char MESplitMode [] = "ENCODER_H264_ME_SPLIT_MODE"
 H.264 Video: Specifies the block size for which motion estimation should be done.
static const char MEMethod [] = "ENCODER_H264_ME_METHOD"
 H.264 Video: Motion estimation method.
static const char PictureCodingType [] = "ENCODER_H264_PIC_CODING_TYPE"
 H.264 Video: Picture coding type.
static const char RateControlMethod [] = "ENCODER_H264_RATE_CONTROL_METHOD"
 H.264 Video: Rate control method.
static const char RateControlQuantI [] = "ENCODER_H264_RATE_CONTROL_QUANT_I"
 H.264 Video: Rate control quantizer for I slices.
static const char RateControlQuantP [] = "ENCODER_H264_RATE_CONTROL_QUANT_P"
 H.264 Video: Rate control quantizer for P slices.
static const char RateControlQuantB [] = "ENCODER_H264_RATE_CONTROL_QUANT_B"
 H.264 Video: Rate control quantizer for B slices.
static const char KeyFrameInterval [] = "ENCODER_H264_KEY_FRAME_INTERVAL"
 H.264 Video: Distance between two sequential I-pictures.
static const char KeyFrameIDRInterval [] = "ENCODER_H264_KEY_FRAME_IDR_INTERVAL"
 H.264 Video: Distance between two sequential IDR-pictures in terms of I pictures.

Detailed Description

Parameters specific to H.264 encoders.


Variable Documentation

const char DeblockingFilter[] = "ENCODER_H264_DEBLOCKING_FILTER_IDC" [static]

H.264 Video: De-blocking filter mode.

This parameter is an integer.

Supported modes are: On (0), Off (1).

const char DeblockingFilterAlpha[] = "ENCODER_H264_DEBLOCKING_FILTER_ALPHA" [static]

H.264 Video: De-blocking filter strength.

This parameter is an integer.

Supported values range from -12 to 12. Negative values give a more sharp video, but they also increases the danger of visible block artifacts. In contrast positive values result in a smoother video, but they will also remove more details. The default value is 0.

const char DeblockingFilterBeta[] = "ENCODER_H264_DEBLOCKING_FILTER_BETA" [static]

H.264 Video: De-blocking filter threshold.

This parameter is an integer.

This parameter controls the threshold for block detection.

Supported values range from -12 to 12.
Negative values "save" more details, but more blocks might slip through (especially in flat areas). In contrast positive values will remove more details and catch more blocks. The default value is 0 and usually it's enough to detect all blocks.

const char DirectPredMode[] = "ENCODER_H264_DIRECT_PRED_MODE" [static]

H.264 Video: Direct prediction mode.

This parameter is an integer.

Supported modes: Temporal (0), Spatial (1)

const char EntropyCodingMode[] = "ENCODER_H264_ENTROPY_CODING_MODE" [static]

H.264 Video: Entropy coding mode.

This parameter is an integer.

Supported values:

CAVLC (0) - Context-Adaptive Variable-Length Coding
CABAC (1) - Context-Adaptive Binary Arithmetic Coding

const char KeyFrameIDRInterval[] = "ENCODER_H264_KEY_FRAME_IDR_INTERVAL" [static]

H.264 Video: Distance between two sequential IDR-pictures in terms of I pictures.

IDR stands for Instantaneous Decoding Refresh.

This parameter is an integer.

The integer value must be greater or equal to 0.

For example if this parameter is 10 then every tenth I-picture is also an IDR-picture.

An IDR picture is a special kind of I frame used in an H.264 stream. Pictures following an IDR-picture may not refer back to pictures preceding the IDR-picture. IDR-pictures can be used to create H.264 streams which are more easily edited.

const char KeyFrameInterval[] = "ENCODER_H264_KEY_FRAME_INTERVAL" [static]

H.264 Video: Distance between two sequential I-pictures.

This parameter is an integer.

The integer value must be greater than or equal to 0. Both 0 and 1 mean that every picture is coded as I-picture.

const char Level[] = "ENCODER_H264_LEVEL_IDC" [static]

H.264 Video: Computation level.

This parameter is an integer.

A level designated as x.y is expressed as an xy integer value. For example level 1 is expressed as 10, level 1.1 as 11 and so on. The level must be in accordance with the H.264 standard. It must correspond to the number of reference frames and frame size. A value of 0 specifies automatic level computation.

const char MEMethod[] = "ENCODER_H264_ME_METHOD" [static]

H.264 Video: Motion estimation method.

This parameter is an integer.

Supported methods are: Full (0), Classic log (1), Log (2), EPZS (3), Full orthogonal (4), Log orthogonal (5), TTS (tree type structure) (6).

const char MERangeSearchX[] = "ENCODER_H264_ME_RANGE_SEARCH_X" [static]

H.264 Video: Specifies how far motion estimation should be done in a horizontal direction.

This parameter is an integer.

const char MERangeSearchY[] = "ENCODER_H264_ME_RANGE_SEARCH_Y" [static]

H.264 Video: Specifies how far motion estimation should be done in a vertical direction.

This parameter is an integer.

const char MESplitMode[] = "ENCODER_H264_ME_SPLIT_MODE" [static]

H.264 Video: Specifies the block size for which motion estimation should be done.

This parameter is an integer.

Supported modes are: Only 16x16 blocks (0), All blocks down to 8x8 (1), All blocks down to 4x4 (2).

const char NumBFrames[] = "ENCODER_H264_NUM_B_FRAMES" [static]

H.264 Video: Number of B-pictures between consequent I-pictures or P-pictures.

This parameter is an integer.

The integer value must be a number that is greater than or equal to zero.

const char NumRefFrames[] = "ENCODER_H264_NUM_REF_FRAMES" [static]

H.264 Video: Maximum number of reference pictures.

This parameter is an integer.

The integer value must be consistent with profile/level parameters for a given frame size, since they determine reference picture and buffer constraints for a decoder.
If P-pictures are allowed, the number should be greater than 0.
If B-pictures are allowed, the number should be greater than 1.

const char NumSlices[] = "ENCODER_H264_NUM_SLICES" [static]

H.264 Video: Number of slices per frame/field.

This parameter is an integer.

The integer value cannot exceed the number of macro blocks per frame/field.
A frame/field is divided into equal parts except for the last one that can be shorter.

const char PictureCodingType[] = "ENCODER_H264_PIC_CODING_TYPE" [static]

H.264 Video: Picture coding type.

This parameter is an integer.

Supported types are: Frames (0), Fields (1).

const char Profile[] = "ENCODER_H264_PROFILE_IDC" [static]

H.264 Video: Encoding profile.

This parameter is an integer.

Supported values:

None/Auto (0), Baseline (66), Main (77), High (100)

const char QualitySpeed[] = "ENCODER_H264_QUALITY_SPEED" [static]

H.264 Video: Quality/Speed trade off.

This parameter is an integer.

Supported values range from 0 to 4 where 0 means max speed and 4 means max quality. The default value is 0.

const char RateControlMethod[] = "ENCODER_H264_RATE_CONTROL_METHOD" [static]

H.264 Video: Rate control method.

This parameter is an integer.

Supported methods are: Adjustable Bitrate (2), Constant Quantization Parameters (3)

const char RateControlQuantB[] = "ENCODER_H264_RATE_CONTROL_QUANT_B" [static]

H.264 Video: Rate control quantizer for B slices.

This parameter is an integer.

const char RateControlQuantI[] = "ENCODER_H264_RATE_CONTROL_QUANT_I" [static]

H.264 Video: Rate control quantizer for I slices.

This parameter is an integer.

const char RateControlQuantP[] = "ENCODER_H264_RATE_CONTROL_QUANT_P" [static]

H.264 Video: Rate control quantizer for P slices.

This parameter is an integer.

const char Transform8x8[] = "ENCODER_H264_TRANSFORM8X8" [static]

H.264 Video: Enables 8x8 transform block size.

Requires High profile. See ParameterName::Encoder::Video::H264::Profile.

This parameter is a boolean value expressed as an integer (1|0).

The default is False (0).

const char TreatBFramesAsReference[] = "ENCODER_H264_TREAT_B_FRAMES_AS_REFERENCE" [static]

H.264 Video: Allows B-pictures to be used as reference pictures.

This parameter is a boolean value expressed as an integer (1|0).

 All Classes Namespaces Files Functions Variables Enumerations Enumerator