There are several options for H.265 encoding in MFormats SDK and MPlatform SDK - both CPU-based and GPU-powered.
If your hardware supports one of the options it is listed among available video codecs supported by the specified container.
NVIDIA NVEnc H.265 (HEVC) Encoder
Configuration Parameter: n265
Additional attributes
Name | Type | Default | Description |
---|---|---|---|
b | int | 5M | The average bit rate in bps is the target bit rate used for rate control |
g | int | 15 | This is the IDR period |
bf | int | 1 | This sets the distance of one P picture from the previous P picture. e.g. for IBBPBBP, set the value as 3 |
rc_type | option_fixed | Auto | The rate control type |
preset | option_fixed | Auto | Codec Preset - if specified, some properties below ignored |
level | option_fixed | Auto | Specifies the level of the encoded bitstream. |
tier | option_fixed | Main | |
maxrate | int | 0 | The maximum bit rate in bps is the peak bit rate used for VBR rate control |
size | string | Resolution of video. Format: WIDTHxHEIGHT. | |
ar | option | The aspect ratio of the video. | |
ar_type | option_fixed | Type of video's aspect ratio. | |
bufsize | int | 0 | Specifies the VBV(HRD) buffer size. in bits. Set 0 to use the default VBV buffer size |
initialdelay | int | 0 | Specifies the VBV(HRD) initial delay in bits. Set 0 to use the default VBV initial delay |
enableAQ | option_fixed | true | Set this to TRUE to enable adaptive quantization |
intraRefreshPeriod | int | 0 | Specifies the interval between successive intra refresh if intraRefreshCount is set |
intraRefreshCount | int | 0 | Specifies the length of intra refresh in a number of frames for periodic intra refresh. This value should be smaller than intraRefreshPeriod |
mvprecision | option_fixed | Auto | Specifies the desired motion vector prediction precision |
disable_sps_pps | option_fixed | false | Disable writing of Sequence and Picture parameter for every IDR frame |
deblock | option_fixed | true | Set 'true' to enable in-loop filtering across slice boundary. |
useConstrainedIntraPred | option_fixed | Set 'true' to enable constrained intra prediction. | |
outputBufferingPeriodSEI | option_fixed | true | Set 'true' to write SEI buffering period syntax in the bitstream |
outputPictureTimingSEI | option_fixed | true | Set 'true' to write SEI picture timing syntax in the bitstream |
outputAUD | option_fixed | true | Set 'true' to write Access Unit Delimiter syntax. |
enableLTR | option_fixed | Set 'true' to enable the use of long term reference pictures for inter prediction. | |
maxNumRefFramesInDPB | int | Specifies the maximum number of reference frames in the DPB. | |
ltrNumFrames | int | Specifies the maximum number of long term references can be used for prediction | |
maxTemporalLayersMinus1 | int | Specifies the max temporal layer used for hierarchical coding. | |
output.10bit | option_fixed | false | Specifies the 10-bit encoding mode |
output.444 | option_fixed | false | Enable or disable 444 encoding |
Intel QuickSync HEVC Encoder
Configuration Parameter: q265hw
Additional attributes
Name | Type | Default | Description |
---|---|---|---|
async_depth | int | 4 | Maximum processing parallelism |
avbr_accuracy | int | 0 | Accuracy of the AVBR rate control |
avbr_convergence | int | 0 | A convergence of the AVBR rate control |
preset | option | medium | |
vcm | int | 0 | Use the video conferencing mode rate control |
rdo | int | -1 | Enable rate-distortion optimization |
max_frame_size | int | -1 | Maximum encoded frame size in bytes |
max_slice_size | int | -1 | Maximum encoded slice size in bytes |
bitrate_limit | int | -1 | Toggle bitrate limitations |
mbbrc | int | -1 | MB level bitrate control |
extbrc | int | -1 | Extended bitrate control |
adaptive_i | int | -1 | Adaptive I-frame placement |
adaptive_b | int | -1 | Adaptive B-frame placement |
b_strategy | int | -1 | Strategy to choose between I/P/B-frames |
idr_interval | option | Distance (in I-frames) between IDR frames
|
|
load_plugin | option | hevc_hw | A user plugin to load in an internal session |
load_plugins | string | A separate list of hexadecimal plugin UIDs to load in an internal session | |
profile | option | unknown |
AMD AMF H.265 (HEVC) Encoder
Configuration Parameter: hevc_amf
Additional attributes
Name | Type | Default | Description |
---|---|---|---|
b | int | 5M | The average bit rate in bps is the target bit rate used for VBR rate control |
g | int | 15 | Group of picture (GOP) size |
maxrate | int | 0 | Set max bitrate tolerance (in bits/s). Requires bufsize to be set |
minrate | int | 0 | Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR encode. |
bufsize | int | 0 | Set rate control buffer size (in bits). It depends on the profile level of the video being encoded. Set only if you're encoding for a hardware device. |
bf | int | 1 | This sets the distance of one P picture from the previous P picture. e.g. for IBBPBBP, set the value as 3 |
usage | option_fixed | transcoding | Encoder Usage |
profile | option_fixed | main | Profile |
profile_tier | option_fixed | main | Profile tier |
level | option_fixed | auto | Profile Level |
quality | option_fixed | balanced | Quality Preference |
rc | option_fixed | cqp | Rate Control Method |
header_insertion_mode | option_fixed | none | Header insertion mode |
gops_per_idr | int | 60 | GOPs per IDR 0-no IDR will be inserted |
preanalysis | bool | false | Pre-Analysis Mode |
vbaq | bool | false | Enable VBAQ |
enforce_hrd | bool | false | Enforce HRD |
filler_data | bool | false | Filler Data Enable |
max_au_size | int | 0 | Maximum Access Unit Size for rate control (in bits) |
min_qp_i | int | -1 | Min quantization parameter for I-frame |
max_qp_i | int | -1 | Max quantization parameter for I-frame |
min_qp_p | int | -1 | Min quantization parameter for P-frame |
max_qp_p | int | -1 | Max quantization parameter for P-frame |
qp_p | int | -1 | Quantization parameter for P-frame |
qp_i | int | -1 | Quantization parameter for I-frame |
skip_frame | bool | false | Rate Control Based Frame Skip |
me_half_pel | bool | true | Enable ME Half Pixel |
me_quarter_pel | bool | true | Enable ME Quarter Pixel |
aud | bool | false | Inserts AU Delimiter NAL unit |
x265 H.265/HEVC
Available only with the GPL build of FFmpeg so you should license the codec before using it.
Configuration Parameter: libx265
Additional attributes
Name | Type | Default | Description |
---|---|---|---|
preset | option | superfast | Set the x265 preset. |
tune | option |
Set the x265 tune parameter.
|
|
forced-idr | int | 0 | Normally, when forcing an I-frame type, the encoder can select any type of I-frame. This option forces it to choose an IDR-frame. |
x265-params | string | Set x265 options using a list of key=value couples separated by ":". See x265 -help for a list of options. |