CODECAPI_AVEncVideoEncodeFrameTypeQP property

Specifies the frame types (I, P, or B) that the quantization parameter (QP) is applied to.

Data type


Property GUID



For encoders which support setting a quantization parameter (QP) for different frame types (I, P, B), they shall expose this API in addition to CODECAPI_AVEncVideoEncodeQP. If an encoder supports only a single QP for all frame types, they shall support only CODECAPI_AVEncVideoEncodeQP.

This is a dynamic encoding property meaning that a new value can be set any time during the encoding session.

H.264/AVC encoders:

Encoder shall support GetValue, SetValue, and GetParameterRange.

A set of four 16-bit fields are used to specify the frame QPs in fixed-QP encoding. The fields are:

  • Bits 0-15: QP used for I frames, valid range [0, 51].
  • Bits 16-31: QP used for P frames, valid range [0, 51].
  • Bits 32-47: QP used for B frames, valid range [0, 51]
  • Bits 48-63: reserved

When this CodecAPI is supported, encoders shall support QP setting on frame type of I, P, and B.

Default value shall be 0x0000001a001a001a. QP equal to 26 for I, P and B.

When CODECAPI_AVEncVideoSelectLayer selects a specific temporal layer, SetValue of CODECAPI_AVEncVideoEncodeFrameTypeQP shall set QP for I, P, and B frames on that temporal layer. By default, it sets QP for I, P, and B frames on base temporal layer—temporal layer 0.

CODECAPI_AVEncVideoMaxQP and CODECAPI_AVEncVideoMinQP shall be used to define and limit the QP range for QPs of all picture types, I, P and B.


Minimum supported client

Windows 8.1 [desktop apps | Windows Store apps]

Minimum supported server

Windows Server 2012 R2 [desktop apps | Windows Store apps]



See also

Media Foundation Properties