H264 Presets

VoD Quality Preset Configurations

VoD Quality PresetsVOD_STANDARDVOD_QUALITYVOD_HIGH_QUALITY
adaptiveQuantizationModeVARIANCEVARIANCEVARIANCE
adaptiveQuantizationStrength111
adaptiveSpatialTransformFALSEFALSETRUE
bAdaptiveStrategyFASTFULLFULL
bPyramidNORMALNORMALNORMAL
bframes338
cabacTRUETRUETRUE
deblockAlpha000
deblockBeta000
encodingModeTWO_PASSTHREE_PASSTHREE_PASS
fastSkipDetectionPFramesTRUETRUETRUE
macroblockTreeRatecontrol-TRUETRUE
mixedReferencesTRUETRUETRUE
motionEstimationMethodHEXHEXUMH
mvPredictionModeSPATIALSPATIALSPATIAL
mvSearchRangeMax162424
nalHrdNONENONENONE
partitions"P8X8,B8X8,I8X8,I4X4""I4X4,I8X8,P8X8,B8X8,P4X4""I4X4,I8X8,P8X8,B8X8,P4X4"
profileMAINMAINHIGH
psyRateDistortionOptimization111
psyTrellis000
quantizerCurveCompression0.60.60.6
rcLookahead406060
refFrames3416
sceneCutThreshold000
slices-11
subMeRD_ALLRD_ALLRD_REF_ALL
trellisENABLED_FINAL_MBENABLED_ALLENABLED_ALL
weightedPredictionBFramesTRUETRUETRUE
weightedPredictionPFramesSMARTSMARTSMART

- means that the default value of the codec configuration is used. Please see the API reference for the respective value.


VoD Speed Preset Configurations

VoD Speed PresetsVOD_SPEEDVOD_HIGH_SPEEDVOD_VERYHIGH_SPEEDVOD_EXTRAHIGH_SPEEDVOD_SUPERHIGH_SPEEDVOD_ULTRAHIGH_SPEED
adaptiveQuantizationModeVARIANCEVARIANCEVARIANCEVARIANCEVARIANCEDISABLED
adaptiveQuantizationStrength111110
adaptiveSpatialTransformTRUETRUETRUETRUETRUETRUE
bAdaptiveStrategyFASTFASTFASTFASTFASTNONE
bPyramidNORMALNORMALNORMALNORMALNORMALNORMAL
bframes333330
cabacTRUETRUETRUETRUETRUEFALSE
deblockAlpha000000
deblockBeta000000
encodingModeSINGLE_PASSSINGLE_PASSSINGLE_PASSSINGLE_PASSSINGLE_PASSSINGLE_PASS
fastSkipDetectionPFramesTRUETRUETRUETRUETRUETRUE
macroblockTreeRatecontrolTRUE-----
mixedReferencesTRUETRUEFALSEFALSEFALSEFALSE
motionEstimationMethodHEXHEXHEXHEXDIADIA
mvPredictionModeSPATIALSPATIALSPATIALSPATIALSPATIALSPATIAL
mvSearchRangeMax161616161616
nalHrdNONENONENONENONENONENONE
partitions"I4X4,I8X8,P8X8,B8X8""P8X8,B8X8,I8X8,I4X4""P8X8,B8X8,I8X8,I4X4""P8X8,B8X8,I8X8,I4X4""I8X8,I4X4"NONE
profileHIGHHIGHHIGHHIGHHIGHHIGH
psyRateDistortionOptimization111111
psyTrellis000000
quantizerCurveCompression0.60.60.60.60.60.6
rcLookahead5030102000
refFrames521211
sceneCutThreshold000000
slices1-----
subMeRD_IPRD_IPSATDQPEL4SADFULLPEL
trellisENABLED_ALLENABLED_FINAL_MBDISABLEDENABLED_FINAL_MBDISABLEDDISABLED
weightedPredictionBFramesTRUETRUETRUETRUETRUEFALSE
weightedPredictionPFramesSMARTSIMPLESIMPLESIMPLESIMPLEDISABLED

- means that the default value of the codec configuration is used. Please see the API reference for the respective value.

VoD Hardware Preset Configurations

VoD Speed PresetsVOD_HARDWARE_SHORTFORM
adaptiveQuantizationMode-
adaptiveQuantizationStrength-
adaptiveSpatialTransform-
bAdaptiveStrategyFULL
bPyramidNORMAL
bframes3
cabacTRUE
deblockAlpha-
deblockBeta-
encodingMode-
fastSkipDetectionPFrames-
macroblockTreeRatecontrol-
mixedReferences-
motionEstimationMethodUMH
mvPredictionModeAUTO
mvSearchRangeMax16
nalHrdNONE
partitions"ALL"
profileMAIN
psyRateDistortionOptimization-
psyTrellis-
quantizerCurveCompression-
rcLookahead50
refFrames5
sceneCutThreshold-
slices-
subMeRD_REF_IP
trellisENABLED_FINAL_MB
weightedPredictionBFrames-
weightedPredictionPFrames-

- means that the hardware encoder doesn't support this configuration.


Conformance with H264 Profiles

The majority of the profiles listed above set the H264 profile to HIGH, and use codec capabilities that target decoders that support this profile. The H264 High profile is by far the most common and has been widely supported for many years.

If your application requires the use of lower profiles, such as BASELINE or MAIN, you will need to overwrite some of the codec configuration parameters after applying the preset. Note however that the output quality may be reduced in doing so, and file sizes and bandwidth requirements may increase.

To set the profile to MAIN

  • Overwrite adaptiveSpatialTransform to False

To set the profile to BASELINE

  • Overwrite adaptiveSpatialTransform to False
  • Overwrite bFrames to 0
  • Overwrite cabac to False
  • Overwrite weightedPredictionPFrames to DISABLED

Conversely, if your selected preset sets the profile to MAIN and you want to ensure that the output uses HIGH, you can make a simple change:

To force the profile to HIGH

  • Overwrite adaptiveSpatialTransform to True