MediaCodec.ParameterKeyQpOffsetMap Field
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Set the region of interest as QpOffset-Map on the next queued input frame.
[Android.Runtime.Register("PARAMETER_KEY_QP_OFFSET_MAP", ApiSince=35)]
public const string ParameterKeyQpOffsetMap;
[<Android.Runtime.Register("PARAMETER_KEY_QP_OFFSET_MAP", ApiSince=35)>]
val mutable ParameterKeyQpOffsetMap : string
Field Value
- Attributes
Remarks
Set the region of interest as QpOffset-Map on the next queued input frame.
The associated value is a byte array containing quantization parameter (QP) offsets in raster scan order for the entire frame at 16x16 granularity. The size of the byte array shall be ((frame_width + 15) / 16) * ((frame_height + 15) / 16), where frame_width and frame_height correspond to width and height configured using MediaFormat#KEY_WIDTH
and MediaFormat#KEY_HEIGHT
keys respectively. During encoding, if the coding unit size is larger than 16x16, then the qpOffset information of all 16x16 blocks that encompass the coding unit is combined and used. The QP of target block will be calculated as 'frameQP + offsetQP'. If the result exceeds minQP or maxQP configured then the value will be clamped. Negative offset results in blocks encoded at lower QP than frame QP and positive offsets will result in encoding blocks at higher QP than frame QP. If the areas of negative QP and positive QP are chosen wisely, the overall viewing experience can be improved.
If byte array size is too small than the expected size, components may ignore the configuration silently. If the byte array exceeds the expected size, components shall use the initial portion and ignore the rest.
The scope of this key is throughout the encoding session until it is reconfigured during running state.
Java documentation for android.media.MediaCodec.PARAMETER_KEY_QP_OFFSET_MAP
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.