The supported video encoder parameters for H.264/AVC
Synopsis:
#include <camera/camera_h264avc.h>
typedef enum {
CAMERA_H264AVC_BITRATE = 0,
CAMERA_H264AVC_KEYFRAMEINTERVAL,
CAMERA_H264AVC_SLICETYPE,
CAMERA_H264AVC_SLICESIZE,
CAMERA_H264AVC_PROFILE,
CAMERA_H264AVC_LEVEL,
CAMERA_H264AVC_ENTROPYCODING,
CAMERA_H264AVC_RATECONTROL,
CAMERA_H264AVC_QPI,
CAMERA_H264AVC_QPP,
CAMERA_H264AVC_NUMPARAMETERS
} camera_h264avc_parameters_t;
Data:
- CAMERA_H264AVC_BITRATE
- The target bitrate or target average bitrate.
Depending on the value you configured for
CAMERA_H264AVC_RATECONTROL, the bitrate is interpreted as follows:
- CAMERA_H264AVC_RATECONTROL_CBR: The target bitrate of the encoded video.
- CAMERA_H264AVC_RATECONTROL_VBR: The target average bitrate of the encoded video.
- CAMERA_H264AVC_RATECONTROL_NONE: The bitrate is ignored.
The units are in bits per second as an unsigned int value.
- CAMERA_H264AVC_KEYFRAMEINTERVAL
- The interval (in frames) between the generation of each keyframe, as an unsigned int value.
- CAMERA_H264AVC_SLICETYPE
- The algorithm used to generate NAL slices.
The parameter must be set to a camera_h264avc_slicetype_t value, and can be modified only before you start to encode video.
- CAMERA_H264AVC_SLICESIZE
- The slice size, as an unsigned int value.
Depending on the value you configured for
CAMERA_H264AVC_SLICETYPE, the slice size is interpreted as follows:
- CAMERA_H264AVC_SLICE_FRAME: The slice size is ignored.
- CAMERA_H264AVC_SLICE_BYTES: The slice size is in bytes.
- CAMERA_H264AVC_SLICE_MACROBLOCKS: The slice size is the number of macroblocks.
On some devices, this parameter can only be modified before you start encoding video.
- CAMERA_H264AVC_PROFILE
- The profile used to encode the video.
The parameter must be set to a value from camera_h264avc_profile_t. You can modify this parameter only before you start encoding video.
- CAMERA_H264AVC_LEVEL
- The level used to encode the video.
The parameter must be set to a value from camera_h264avc_level_t. You can modify this parameter only before you start encoding video.
- CAMERA_H264AVC_ENTROPYCODING
- The entropy coding method.
The parameter must be set to a value from camera_h264avc_entropycoding_t. You can modify this parameter only before you start encoding video.
- CAMERA_H264AVC_RATECONTROL
- The rate control method used for the encoding.
The parameter must be set to a value from camera_h264avc_ratecontrol_t. You can modify this parameter only before you start encoding video.
- CAMERA_H264AVC_QPI
- The Quantization Parameter (QP) that is used to encode key (I) frames when the CAMERA_H264AVC_RATECONTROL parameter is set to CAMERA_H264AVC_RATECONTROL_NONE.
For other rate control methods, this parameter has no impact. The value being set is an unsigned int value.
- CAMERA_H264AVC_QPP
- The Quantization Parameter (QP) that is used to encode inter (P) frames when the CAMERA_H264AVC_RATECONTROL parameter is set to CAMERA_H264AVC_RATECONTROL_NONE.
For other rate control methods, this parameter has no impact. The value being set is an unsigned int value.
- CAMERA_H264AVC_NUMPARAMETERS
- An end-of-list identifier for the list of supported video encoder parameters.
Library:
libcamapi
Description:
Use these as parameters in parameter-value pairs that you pass as an argument list to video encoder configuration functions.