public class H264VideoConfiguration extends VideoConfiguration
Constructor and Description |
---|
H264VideoConfiguration() |
Modifier and Type | Method and Description |
---|---|
H264VideoConfiguration |
addPartitionsItem(H264Partition partitionsItem) |
boolean |
equals(Object o) |
AdaptiveQuantMode |
getAdaptiveQuantizationMode()
Controls the adaptive quantization algorithm
|
Double |
getAdaptiveQuantizationStrength()
Values greater than 1 reduce blocking and blurring in flat and textured areas.
|
Boolean |
getAdaptiveSpatialTransform()
Enables adaptive spatial transform (high profile 8x8 transform)
|
BAdapt |
getBAdaptiveStrategy()
Get bAdaptiveStrategy
|
Integer |
getBframes()
Sets the amount of b frames.
|
H264BPyramid |
getBPyramid()
Keep some B-frames as references
|
Long |
getBufsize()
Playback device buffer size
|
Boolean |
getCabac()
Enable or disable CABAC
|
Cea608708SubtitleConfiguration |
getCea608708SubtitleConfig()
Defines whether CEA 608/708 subtitles are copied from the input video stream
|
Double |
getCrf()
Sets the constant rate factor for quality-based variable bitrate.
|
Integer |
getDeblockAlpha()
Strength of the in-loop deblocking filter.
|
Integer |
getDeblockBeta()
Threshold of the in-loop deblocking filter.
|
Boolean |
getFastSkipDetectionPFrames()
Enables fast skip detection on P-frames.
|
H264InterlaceMode |
getInterlaceMode()
Using TOP_FIELD_FIRST or BOTTOM_FIELD_FIRST will output interlaced video
|
LevelH264 |
getLevel()
If three-pass encoding is used and a level is set for the encoder, the bitrate for some segments may exceed the bitrate limit which is defined by the level.
|
Boolean |
getMacroblockTreeRatecontrol()
Enable macroblock tree ratecontrol.
|
Long |
getMaxBitrate()
Maximum Bitrate
|
Integer |
getMaxGop()
Maximum GOP length, the maximum distance between I-frames
|
Double |
getMaxKeyframeInterval()
Maximum interval in seconds between key frames
|
Long |
getMinBitrate()
Minimum Bitrate
|
Integer |
getMinGop()
Minimum GOP length, the minimum distance between I-frames
|
Double |
getMinKeyframeInterval()
Minimum interval in seconds between key frames
|
Boolean |
getMixedReferences()
Allow references on a per partition basis, rather than per-macroblock basis
|
H264MotionEstimationMethod |
getMotionEstimationMethod()
Get motionEstimationMethod
|
MvPredictionMode |
getMvPredictionMode()
Get mvPredictionMode
|
Integer |
getMvSearchRangeMax()
Sets the maximum Motion-Vector-Search-Range
minimum: 16
maximum: 24
|
H264NalHrd |
getNalHrd()
Signal hypothetical reference decoder (HRD) information (requires bufsize to be set)
|
Boolean |
getOpenGop()
Enable open-gop, allows referencing frames from a previous gop
|
List<H264Partition> |
getPartitions()
Partitions to consider.
|
PresetConfiguration |
getPresetConfiguration()
Use a set of well defined configurations preset to support certain use cases.
|
ProfileH264 |
getProfile()
When setting a profile, all other settings must not exceed the limits which are defined in the profile.
|
Double |
getPsyRateDistortionOptimization()
Psychovisual Rate Distortion retains fine details like film grain at the expense of more blocking artifacts.
|
Double |
getPsyTrellis()
Higher values will improve sharpness and detail retention but might come at costs of artifacts.
|
Integer |
getQpMax()
Sets the maximum of quantization factor.
|
Integer |
getQpMin()
Sets the minimum of quantization factor.
|
Double |
getQuantizerCurveCompression()
Ratio between constant bitrate (0.0) and constant quantizer (1.0).
|
Integer |
getRcLookahead()
Number of frames for frame-type decision lookahead
minimum: 0
maximum: 250
|
Integer |
getRefFrames()
Sets the amount of reference frames.
|
Integer |
getSceneCutThreshold()
Scene change sensitivity.
|
Integer |
getSlices()
Number of slices per frame.
|
H264SubMe |
getSubMe()
Subpixel motion estimation and mode decision
|
H264Trellis |
getTrellis()
Enables or disables Trellis quantization.
|
Boolean |
getWeightedPredictionBFrames()
Enable open-gop, allows referencing frames from a previous gop
|
WeightedPredictionPFrames |
getWeightedPredictionPFrames()
Defines the mode for weighted prediction for P-frames
|
int |
hashCode() |
void |
setAdaptiveQuantizationMode(AdaptiveQuantMode adaptiveQuantizationMode)
Controls the adaptive quantization algorithm
|
void |
setAdaptiveQuantizationStrength(Double adaptiveQuantizationStrength)
Values greater than 1 reduce blocking and blurring in flat and textured areas.
|
void |
setAdaptiveSpatialTransform(Boolean adaptiveSpatialTransform)
Enables adaptive spatial transform (high profile 8x8 transform)
|
void |
setBAdaptiveStrategy(BAdapt bAdaptiveStrategy)
Set bAdaptiveStrategy
|
void |
setBframes(Integer bframes)
Sets the amount of b frames.
|
void |
setBPyramid(H264BPyramid bPyramid)
Keep some B-frames as references
|
void |
setBufsize(Long bufsize)
Playback device buffer size
|
void |
setCabac(Boolean cabac)
Enable or disable CABAC
|
void |
setCea608708SubtitleConfig(Cea608708SubtitleConfiguration cea608708SubtitleConfig)
Defines whether CEA 608/708 subtitles are copied from the input video stream
|
void |
setCrf(Double crf)
Sets the constant rate factor for quality-based variable bitrate.
|
void |
setDeblockAlpha(Integer deblockAlpha)
Strength of the in-loop deblocking filter.
|
void |
setDeblockBeta(Integer deblockBeta)
Threshold of the in-loop deblocking filter.
|
void |
setFastSkipDetectionPFrames(Boolean fastSkipDetectionPFrames)
Enables fast skip detection on P-frames.
|
void |
setInterlaceMode(H264InterlaceMode interlaceMode)
Using TOP_FIELD_FIRST or BOTTOM_FIELD_FIRST will output interlaced video
|
void |
setLevel(LevelH264 level)
If three-pass encoding is used and a level is set for the encoder, the bitrate for some segments may exceed the bitrate limit which is defined by the level.
|
void |
setMacroblockTreeRatecontrol(Boolean macroblockTreeRatecontrol)
Enable macroblock tree ratecontrol.
|
void |
setMaxBitrate(Long maxBitrate)
Maximum Bitrate
|
void |
setMaxGop(Integer maxGop)
Maximum GOP length, the maximum distance between I-frames
|
void |
setMaxKeyframeInterval(Double maxKeyframeInterval)
Maximum interval in seconds between key frames
|
void |
setMinBitrate(Long minBitrate)
Minimum Bitrate
|
void |
setMinGop(Integer minGop)
Minimum GOP length, the minimum distance between I-frames
|
void |
setMinKeyframeInterval(Double minKeyframeInterval)
Minimum interval in seconds between key frames
|
void |
setMixedReferences(Boolean mixedReferences)
Allow references on a per partition basis, rather than per-macroblock basis
|
void |
setMotionEstimationMethod(H264MotionEstimationMethod motionEstimationMethod)
Set motionEstimationMethod
|
void |
setMvPredictionMode(MvPredictionMode mvPredictionMode)
Set mvPredictionMode
|
void |
setMvSearchRangeMax(Integer mvSearchRangeMax)
Sets the maximum Motion-Vector-Search-Range
minimum: 16
maximum: 24
|
void |
setNalHrd(H264NalHrd nalHrd)
Signal hypothetical reference decoder (HRD) information (requires bufsize to be set)
|
void |
setOpenGop(Boolean openGop)
Enable open-gop, allows referencing frames from a previous gop
|
void |
setPartitions(List<H264Partition> partitions)
Partitions to consider.
|
void |
setPresetConfiguration(PresetConfiguration presetConfiguration)
Use a set of well defined configurations preset to support certain use cases.
|
void |
setProfile(ProfileH264 profile)
When setting a profile, all other settings must not exceed the limits which are defined in the profile.
|
void |
setPsyRateDistortionOptimization(Double psyRateDistortionOptimization)
Psychovisual Rate Distortion retains fine details like film grain at the expense of more blocking artifacts.
|
void |
setPsyTrellis(Double psyTrellis)
Higher values will improve sharpness and detail retention but might come at costs of artifacts.
|
void |
setQpMax(Integer qpMax)
Sets the maximum of quantization factor.
|
void |
setQpMin(Integer qpMin)
Sets the minimum of quantization factor.
|
void |
setQuantizerCurveCompression(Double quantizerCurveCompression)
Ratio between constant bitrate (0.0) and constant quantizer (1.0).
|
void |
setRcLookahead(Integer rcLookahead)
Number of frames for frame-type decision lookahead
minimum: 0
maximum: 250
|
void |
setRefFrames(Integer refFrames)
Sets the amount of reference frames.
|
void |
setSceneCutThreshold(Integer sceneCutThreshold)
Scene change sensitivity.
|
void |
setSlices(Integer slices)
Number of slices per frame.
|
void |
setSubMe(H264SubMe subMe)
Subpixel motion estimation and mode decision
|
void |
setTrellis(H264Trellis trellis)
Enables or disables Trellis quantization.
|
void |
setWeightedPredictionBFrames(Boolean weightedPredictionBFrames)
Enable open-gop, allows referencing frames from a previous gop
|
void |
setWeightedPredictionPFrames(WeightedPredictionPFrames weightedPredictionPFrames)
Defines the mode for weighted prediction for P-frames
|
String |
toString() |
getBitrate, getColorConfig, getEncodingMode, getHeight, getPixelFormat, getRate, getSampleAspectRatioDenominator, getSampleAspectRatioNumerator, getWidth, setBitrate, setColorConfig, setEncodingMode, setHeight, setPixelFormat, setRate, setSampleAspectRatioDenominator, setSampleAspectRatioNumerator, setWidth
getCreatedAt, getCustomData, getDescription, getModifiedAt, getName, putCustomDataItem, setCustomData, setDescription, setName
getId
public PresetConfiguration getPresetConfiguration()
public void setPresetConfiguration(PresetConfiguration presetConfiguration)
presetConfiguration
- Use a set of well defined configurations preset to support certain use cases. Can be overwritten with more specific values.public Double getCrf()
public void setCrf(Double crf)
crf
- Sets the constant rate factor for quality-based variable bitrate. Either bitrate or crf is required.
minimum: 0
maximum: 51public ProfileH264 getProfile()
public void setProfile(ProfileH264 profile)
profile
- When setting a profile, all other settings must not exceed the limits which are defined in the profile. Otherwise, a higher profile may be automatically chosen. (required)public Integer getBframes()
public void setBframes(Integer bframes)
bframes
- Sets the amount of b frames.
minimum: 0
maximum: 16public Integer getRefFrames()
public void setRefFrames(Integer refFrames)
refFrames
- Sets the amount of reference frames.
minimum: 1
maximum: 16public Integer getQpMin()
public void setQpMin(Integer qpMin)
qpMin
- Sets the minimum of quantization factor.
minimum: 0
maximum: 69public Integer getQpMax()
public void setQpMax(Integer qpMax)
qpMax
- Sets the maximum of quantization factor.
minimum: 0
maximum: 69public MvPredictionMode getMvPredictionMode()
public void setMvPredictionMode(MvPredictionMode mvPredictionMode)
mvPredictionMode
- public Integer getMvSearchRangeMax()
public void setMvSearchRangeMax(Integer mvSearchRangeMax)
mvSearchRangeMax
- Sets the maximum Motion-Vector-Search-Range
minimum: 16
maximum: 24public Boolean getCabac()
public void setCabac(Boolean cabac)
cabac
- Enable or disable CABACpublic Long getMaxBitrate()
public void setMaxBitrate(Long maxBitrate)
maxBitrate
- Maximum Bitratepublic Long getMinBitrate()
public void setMinBitrate(Long minBitrate)
minBitrate
- Minimum Bitratepublic Long getBufsize()
public void setBufsize(Long bufsize)
bufsize
- Playback device buffer sizepublic Integer getMinGop()
public void setMinGop(Integer minGop)
minGop
- Minimum GOP length, the minimum distance between I-framespublic Integer getMaxGop()
public void setMaxGop(Integer maxGop)
maxGop
- Maximum GOP length, the maximum distance between I-framespublic Boolean getOpenGop()
public void setOpenGop(Boolean openGop)
openGop
- Enable open-gop, allows referencing frames from a previous goppublic Double getMinKeyframeInterval()
public void setMinKeyframeInterval(Double minKeyframeInterval)
minKeyframeInterval
- Minimum interval in seconds between key framespublic Double getMaxKeyframeInterval()
public void setMaxKeyframeInterval(Double maxKeyframeInterval)
maxKeyframeInterval
- Maximum interval in seconds between key framespublic LevelH264 getLevel()
public void setLevel(LevelH264 level)
level
- If three-pass encoding is used and a level is set for the encoder, the bitrate for some segments may exceed the bitrate limit which is defined by the level.public BAdapt getBAdaptiveStrategy()
public void setBAdaptiveStrategy(BAdapt bAdaptiveStrategy)
bAdaptiveStrategy
- public H264MotionEstimationMethod getMotionEstimationMethod()
public void setMotionEstimationMethod(H264MotionEstimationMethod motionEstimationMethod)
motionEstimationMethod
- public Integer getRcLookahead()
public void setRcLookahead(Integer rcLookahead)
rcLookahead
- Number of frames for frame-type decision lookahead
minimum: 0
maximum: 250public H264SubMe getSubMe()
public void setSubMe(H264SubMe subMe)
subMe
- Subpixel motion estimation and mode decisionpublic H264Trellis getTrellis()
public void setTrellis(H264Trellis trellis)
trellis
- Enables or disables Trellis quantization. NOTE: This requires cabacpublic H264VideoConfiguration addPartitionsItem(H264Partition partitionsItem)
public List<H264Partition> getPartitions()
public void setPartitions(List<H264Partition> partitions)
partitions
- Partitions to consider. Analyzing more partition options improves quality at the cost of speed.public Integer getSlices()
public void setSlices(Integer slices)
slices
- Number of slices per frame.
minimum: 1
maximum: 45public H264InterlaceMode getInterlaceMode()
public void setInterlaceMode(H264InterlaceMode interlaceMode)
interlaceMode
- Using TOP_FIELD_FIRST or BOTTOM_FIELD_FIRST will output interlaced videopublic Integer getSceneCutThreshold()
public void setSceneCutThreshold(Integer sceneCutThreshold)
sceneCutThreshold
- Scene change sensitivity. The higher the value, the more likely an I-frame will be inserted. Set to 0 to disable it which is advised for scenarios where fixed GOP is required, e.g., adaptive streaming outputs like DASH, HLS and Smooth. Having this setting enabled can improve quality for progressive output with an increased internal chunk length (see `internalChunkLength` of muxings).
minimum: 0
maximum: 100public H264NalHrd getNalHrd()
public void setNalHrd(H264NalHrd nalHrd)
nalHrd
- Signal hypothetical reference decoder (HRD) information (requires bufsize to be set)public H264BPyramid getBPyramid()
public void setBPyramid(H264BPyramid bPyramid)
bPyramid
- Keep some B-frames as referencespublic Cea608708SubtitleConfiguration getCea608708SubtitleConfig()
public void setCea608708SubtitleConfig(Cea608708SubtitleConfiguration cea608708SubtitleConfig)
cea608708SubtitleConfig
- Defines whether CEA 608/708 subtitles are copied from the input video streampublic Integer getDeblockAlpha()
public void setDeblockAlpha(Integer deblockAlpha)
deblockAlpha
- Strength of the in-loop deblocking filter. Higher values deblock more effectively but also soften the imagepublic Integer getDeblockBeta()
public void setDeblockBeta(Integer deblockBeta)
deblockBeta
- Threshold of the in-loop deblocking filter. Higher values apply deblocking stronger on non flat blocks, lower values on flat blockspublic AdaptiveQuantMode getAdaptiveQuantizationMode()
public void setAdaptiveQuantizationMode(AdaptiveQuantMode adaptiveQuantizationMode)
adaptiveQuantizationMode
- Controls the adaptive quantization algorithmpublic Double getAdaptiveQuantizationStrength()
public void setAdaptiveQuantizationStrength(Double adaptiveQuantizationStrength)
adaptiveQuantizationStrength
- Values greater than 1 reduce blocking and blurring in flat and textured areas. Values less than 1 reduces ringing artifacts at the cost of more banding artifacts. Negative values are not allowedpublic Boolean getMixedReferences()
public void setMixedReferences(Boolean mixedReferences)
mixedReferences
- Allow references on a per partition basis, rather than per-macroblock basispublic Boolean getAdaptiveSpatialTransform()
public void setAdaptiveSpatialTransform(Boolean adaptiveSpatialTransform)
adaptiveSpatialTransform
- Enables adaptive spatial transform (high profile 8x8 transform)public Boolean getFastSkipDetectionPFrames()
public void setFastSkipDetectionPFrames(Boolean fastSkipDetectionPFrames)
fastSkipDetectionPFrames
- Enables fast skip detection on P-frames. Disabling this very slightly increases quality but at a large speed losspublic Boolean getWeightedPredictionBFrames()
public void setWeightedPredictionBFrames(Boolean weightedPredictionBFrames)
weightedPredictionBFrames
- Enable open-gop, allows referencing frames from a previous goppublic WeightedPredictionPFrames getWeightedPredictionPFrames()
public void setWeightedPredictionPFrames(WeightedPredictionPFrames weightedPredictionPFrames)
weightedPredictionPFrames
- Defines the mode for weighted prediction for P-framespublic Boolean getMacroblockTreeRatecontrol()
public void setMacroblockTreeRatecontrol(Boolean macroblockTreeRatecontrol)
macroblockTreeRatecontrol
- Enable macroblock tree ratecontrol. Macroblock tree rate control tracks how often blocks of the frame are used for prediciting future framespublic Double getQuantizerCurveCompression()
public void setQuantizerCurveCompression(Double quantizerCurveCompression)
quantizerCurveCompression
- Ratio between constant bitrate (0.0) and constant quantizer (1.0). Valid range 0.0 - 1.0public Double getPsyRateDistortionOptimization()
public void setPsyRateDistortionOptimization(Double psyRateDistortionOptimization)
psyRateDistortionOptimization
- Psychovisual Rate Distortion retains fine details like film grain at the expense of more blocking artifacts. Higher values make the video appear sharper and more detailed but with a higher risk of blocking artifacts. Needs to have subMe with RD_IP, RD_ALL, RD_REF_IP or RD_REF_ALLpublic Double getPsyTrellis()
public void setPsyTrellis(Double psyTrellis)
psyTrellis
- Higher values will improve sharpness and detail retention but might come at costs of artifacts. Needs to have trellis enabledpublic boolean equals(Object o)
equals
in class VideoConfiguration
public int hashCode()
hashCode
in class VideoConfiguration
public String toString()
toString
in class VideoConfiguration
Copyright © 2019. All rights reserved.