Specifies the size of the slice in units of megabyte (MB), bits, or MB row.
The meaning of the value of CODECAPI_AVEncSliceControlSize is controlled by the CODECAPI_AVEncSliceControlMode property. The following table illustrates how the CODECAPI_AVEncSliceControlSize and CODECAPI_AVEncSliceControlMode properties control the size and number of slices in a frame.
|CODECAPI_AVEncSliceControlMode setting||Meaning of value|
|0||This is an integer that indicates the size of each slice in the frame in units of macroblocks.
The encoder should reject the setting when the value is greater than the number of macroblocks in the frame.
|1||This is an integer that indicates the size of each slice in the frame in units of bits.
The encoder should start a new slice at the macroblock that causes the number of bits in the slice to exceed this value (so the size of each slice will always be less than or equal than this value). This means that the last slice size could be significantly smaller than this value.
|2||This is an integer that indicates the size of each slice in the frame in units of macroblock rows.
The encoder should reject the setting when the value is greater than the number of macroblock rows in the frame.
If the application does not set a value for CODECAPI_AVEncSliceControlMode, the encoder should return an error.
The recommended default is to have a single slice for whole frame.
Some encoders might encode slices in parallel and so performance could be affected depending on the slice control settings. For example, encoding a frame as a single slice might be slower than if the frame was encoded as multiple slices.
The slice control settings are dynamic and can be changed during the encoding session.
|Minimum supported client
||Windows 8.1 [desktop apps | UWP apps]
|Minimum supported server
||Windows Server 2012 R2 [desktop apps | UWP apps]