mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-30 12:49:40 +00:00
libs: encoder: h264,h265: add new property "max-qp"
Add new property "max-qp" to allow set the maximum quantisation parameter values.
This commit is contained in:
parent
daab4c80a3
commit
8b8dfb127a
6 changed files with 81 additions and 19 deletions
|
@ -745,6 +745,7 @@ struct _GstVaapiEncoderH264
|
||||||
guint32 ip_period;
|
guint32 ip_period;
|
||||||
guint32 init_qp;
|
guint32 init_qp;
|
||||||
guint32 min_qp;
|
guint32 min_qp;
|
||||||
|
guint32 max_qp;
|
||||||
guint32 qp_i;
|
guint32 qp_i;
|
||||||
guint32 qp_ip;
|
guint32 qp_ip;
|
||||||
guint32 qp_ib;
|
guint32 qp_ib;
|
||||||
|
@ -2398,9 +2399,9 @@ add_slice_headers (GstVaapiEncoderH264 * encoder, GstVaapiEncPicture * picture,
|
||||||
(gint) encoder->min_qp) {
|
(gint) encoder->min_qp) {
|
||||||
slice_param->slice_qp_delta = encoder->min_qp - encoder->init_qp;
|
slice_param->slice_qp_delta = encoder->min_qp - encoder->init_qp;
|
||||||
}
|
}
|
||||||
/* TODO: max_qp might be provided as a property in the future */
|
if ((gint) encoder->init_qp + slice_param->slice_qp_delta >
|
||||||
if ((gint) encoder->init_qp + slice_param->slice_qp_delta > 51) {
|
(gint) encoder->max_qp) {
|
||||||
slice_param->slice_qp_delta = 51 - encoder->init_qp;
|
slice_param->slice_qp_delta = encoder->max_qp - encoder->init_qp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
slice_param->disable_deblocking_filter_idc = 0;
|
slice_param->disable_deblocking_filter_idc = 0;
|
||||||
|
@ -2521,10 +2522,7 @@ ensure_control_rate_params (GstVaapiEncoderH264 * encoder)
|
||||||
GST_VAAPI_ENCODER_VA_RATE_CONTROL (encoder).min_qp = encoder->min_qp;
|
GST_VAAPI_ENCODER_VA_RATE_CONTROL (encoder).min_qp = encoder->min_qp;
|
||||||
|
|
||||||
#if VA_CHECK_VERSION(1,1,0)
|
#if VA_CHECK_VERSION(1,1,0)
|
||||||
/* @FIXME: should not set this value, should be ignored if set to zero *
|
GST_VAAPI_ENCODER_VA_RATE_CONTROL (encoder).max_qp = encoder->max_qp;
|
||||||
* https://github.com/intel/media-driver/issues/587 */
|
|
||||||
if (encoder->min_qp > 0)
|
|
||||||
GST_VAAPI_ENCODER_VA_RATE_CONTROL (encoder).max_qp = 51;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if VA_CHECK_VERSION(1,0,0)
|
#if VA_CHECK_VERSION(1,0,0)
|
||||||
|
@ -2753,8 +2751,12 @@ reset_properties (GstVaapiEncoderH264 * encoder)
|
||||||
if (encoder->idr_period < base_encoder->keyframe_period)
|
if (encoder->idr_period < base_encoder->keyframe_period)
|
||||||
encoder->idr_period = base_encoder->keyframe_period;
|
encoder->idr_period = base_encoder->keyframe_period;
|
||||||
|
|
||||||
|
g_assert (encoder->min_qp <= encoder->max_qp);
|
||||||
if (encoder->min_qp > encoder->init_qp)
|
if (encoder->min_qp > encoder->init_qp)
|
||||||
encoder->min_qp = encoder->init_qp;
|
encoder->min_qp = encoder->init_qp;
|
||||||
|
if (encoder->max_qp < encoder->init_qp)
|
||||||
|
encoder->max_qp = encoder->init_qp;
|
||||||
|
|
||||||
encoder->qp_i = encoder->init_qp;
|
encoder->qp_i = encoder->init_qp;
|
||||||
|
|
||||||
mb_size = encoder->mb_width * encoder->mb_height;
|
mb_size = encoder->mb_width * encoder->mb_height;
|
||||||
|
@ -3547,6 +3549,9 @@ gst_vaapi_encoder_h264_set_property (GstVaapiEncoder * base_encoder,
|
||||||
case GST_VAAPI_ENCODER_H264_PROP_PREDICTION_TYPE:
|
case GST_VAAPI_ENCODER_H264_PROP_PREDICTION_TYPE:
|
||||||
encoder->prediction_type = g_value_get_enum (value);
|
encoder->prediction_type = g_value_get_enum (value);
|
||||||
break;
|
break;
|
||||||
|
case GST_VAAPI_ENCODER_H264_PROP_MAX_QP:
|
||||||
|
encoder->max_qp = g_value_get_uint (value);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return GST_VAAPI_ENCODER_STATUS_ERROR_INVALID_PARAMETER;
|
return GST_VAAPI_ENCODER_STATUS_ERROR_INVALID_PARAMETER;
|
||||||
|
@ -3649,6 +3654,19 @@ gst_vaapi_encoder_h264_get_default_properties (void)
|
||||||
"Minimum QP", "Minimum quantizer value", 0, 51, 1,
|
"Minimum QP", "Minimum quantizer value", 0, 51, 1,
|
||||||
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstVaapiEncoderH264:max-qp:
|
||||||
|
*
|
||||||
|
* The maximum quantizer value.
|
||||||
|
*
|
||||||
|
* Since: 1.18
|
||||||
|
*/
|
||||||
|
GST_VAAPI_ENCODER_PROPERTIES_APPEND (props,
|
||||||
|
GST_VAAPI_ENCODER_H264_PROP_MAX_QP,
|
||||||
|
g_param_spec_uint ("max-qp",
|
||||||
|
"Maximum QP", "Maximum quantizer value", 0, 51, 51,
|
||||||
|
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GstVaapiEncoderH264:qp-ip:
|
* GstVaapiEncoderH264:qp-ip:
|
||||||
*
|
*
|
||||||
|
|
|
@ -56,6 +56,7 @@ typedef struct _GstVaapiEncoderH264 GstVaapiEncoderH264;
|
||||||
* @GST_VAAPI_ENCODER_H264_PROP_QP_IB: Difference of QP between I and B frame.
|
* @GST_VAAPI_ENCODER_H264_PROP_QP_IB: Difference of QP between I and B frame.
|
||||||
* @GST_VAAPI_ENCODER_H264_PROP_TEMPORAL_LEVELS: Number of temporal levels
|
* @GST_VAAPI_ENCODER_H264_PROP_TEMPORAL_LEVELS: Number of temporal levels
|
||||||
* @GST_VAAPI_ENCODER_H264_PROP_PREDICTION_TYPE: Reference picture selection modes
|
* @GST_VAAPI_ENCODER_H264_PROP_PREDICTION_TYPE: Reference picture selection modes
|
||||||
|
* @GST_VAAPI_ENCODER_H264_PROP_MAX_QP: Maximal quantizer value (uint).
|
||||||
*
|
*
|
||||||
* The set of H.264 encoder specific configurable properties.
|
* The set of H.264 encoder specific configurable properties.
|
||||||
*/
|
*/
|
||||||
|
@ -77,6 +78,7 @@ typedef enum {
|
||||||
GST_VAAPI_ENCODER_H264_PROP_QP_IB = -15,
|
GST_VAAPI_ENCODER_H264_PROP_QP_IB = -15,
|
||||||
GST_VAAPI_ENCODER_H264_PROP_TEMPORAL_LEVELS = -16,
|
GST_VAAPI_ENCODER_H264_PROP_TEMPORAL_LEVELS = -16,
|
||||||
GST_VAAPI_ENCODER_H264_PROP_PREDICTION_TYPE = -17,
|
GST_VAAPI_ENCODER_H264_PROP_PREDICTION_TYPE = -17,
|
||||||
|
GST_VAAPI_ENCODER_H264_PROP_MAX_QP = -18,
|
||||||
} GstVaapiEncoderH264Prop;
|
} GstVaapiEncoderH264Prop;
|
||||||
|
|
||||||
GstVaapiEncoder *
|
GstVaapiEncoder *
|
||||||
|
|
|
@ -766,6 +766,7 @@ struct _GstVaapiEncoderH264Fei
|
||||||
guint32 idr_period;
|
guint32 idr_period;
|
||||||
guint32 init_qp;
|
guint32 init_qp;
|
||||||
guint32 min_qp;
|
guint32 min_qp;
|
||||||
|
guint32 max_qp;
|
||||||
guint32 num_slices;
|
guint32 num_slices;
|
||||||
guint32 num_bframes;
|
guint32 num_bframes;
|
||||||
guint32 mb_width;
|
guint32 mb_width;
|
||||||
|
@ -2175,6 +2176,10 @@ add_slice_headers (GstVaapiEncoderH264Fei * encoder,
|
||||||
slice_param->slice_qp_delta = encoder->init_qp - encoder->min_qp;
|
slice_param->slice_qp_delta = encoder->init_qp - encoder->min_qp;
|
||||||
if (slice_param->slice_qp_delta > 4)
|
if (slice_param->slice_qp_delta > 4)
|
||||||
slice_param->slice_qp_delta = 4;
|
slice_param->slice_qp_delta = 4;
|
||||||
|
if ((gint) encoder->init_qp + slice_param->slice_qp_delta >
|
||||||
|
(gint) encoder->max_qp) {
|
||||||
|
slice_param->slice_qp_delta = encoder->max_qp - encoder->init_qp;
|
||||||
|
}
|
||||||
slice_param->disable_deblocking_filter_idc = 0;
|
slice_param->disable_deblocking_filter_idc = 0;
|
||||||
slice_param->slice_alpha_c0_offset_div2 = 2;
|
slice_param->slice_alpha_c0_offset_div2 = 2;
|
||||||
slice_param->slice_beta_offset_div2 = 2;
|
slice_param->slice_beta_offset_div2 = 2;
|
||||||
|
@ -2451,10 +2456,7 @@ ensure_misc_params (GstVaapiEncoderH264Fei * encoder,
|
||||||
rate_control->min_qp = encoder->min_qp;
|
rate_control->min_qp = encoder->min_qp;
|
||||||
|
|
||||||
#if VA_CHECK_VERSION(1,1,0)
|
#if VA_CHECK_VERSION(1,1,0)
|
||||||
/* @FIXME: should not set this value, should be ignored if set to zero *
|
rate_control->max_qp = encoder->max_qp;
|
||||||
* https://github.com/intel/media-driver/issues/587 */
|
|
||||||
if (rate_control->min_qp > 0)
|
|
||||||
rate_control->max_qp = 51;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
rate_control->basic_unit_size = 0;
|
rate_control->basic_unit_size = 0;
|
||||||
|
@ -2655,10 +2657,13 @@ reset_properties (GstVaapiEncoderH264Fei * encoder)
|
||||||
if (encoder->idr_period < base_encoder->keyframe_period)
|
if (encoder->idr_period < base_encoder->keyframe_period)
|
||||||
encoder->idr_period = base_encoder->keyframe_period;
|
encoder->idr_period = base_encoder->keyframe_period;
|
||||||
|
|
||||||
|
g_assert (encoder->min_qp <= encoder->max_qp);
|
||||||
if (encoder->min_qp > encoder->init_qp ||
|
if (encoder->min_qp > encoder->init_qp ||
|
||||||
(GST_VAAPI_ENCODER_RATE_CONTROL (encoder) == GST_VAAPI_RATECONTROL_CQP &&
|
(GST_VAAPI_ENCODER_RATE_CONTROL (encoder) == GST_VAAPI_RATECONTROL_CQP &&
|
||||||
encoder->min_qp < encoder->init_qp))
|
encoder->min_qp < encoder->init_qp))
|
||||||
encoder->min_qp = encoder->init_qp;
|
encoder->min_qp = encoder->init_qp;
|
||||||
|
if (encoder->max_qp < encoder->init_qp)
|
||||||
|
encoder->max_qp = encoder->init_qp;
|
||||||
|
|
||||||
mb_size = encoder->mb_width * encoder->mb_height;
|
mb_size = encoder->mb_width * encoder->mb_height;
|
||||||
if (encoder->num_slices > (mb_size + 1) / 2)
|
if (encoder->num_slices > (mb_size + 1) / 2)
|
||||||
|
@ -3565,6 +3570,9 @@ gst_vaapi_encoder_h264_fei_set_property (GstVaapiEncoder * base_encoder,
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
case GST_VAAPI_ENCODER_H264_FEI_PROP_MAX_QP:
|
||||||
|
encoder->max_qp = g_value_get_uint (value);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return GST_VAAPI_ENCODER_STATUS_ERROR_INVALID_PARAMETER;
|
return GST_VAAPI_ENCODER_STATUS_ERROR_INVALID_PARAMETER;
|
||||||
|
@ -4072,6 +4080,19 @@ gst_vaapi_encoder_h264_fei_get_default_properties (void)
|
||||||
"Minimum QP", "Minimum quantizer value", 0, 51, 1,
|
"Minimum QP", "Minimum quantizer value", 0, 51, 1,
|
||||||
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstVaapiEncoderH264Fei:max-qp:
|
||||||
|
*
|
||||||
|
* The maximum quantizer value.
|
||||||
|
*
|
||||||
|
* Since: 1.18
|
||||||
|
*/
|
||||||
|
GST_VAAPI_ENCODER_PROPERTIES_APPEND (props,
|
||||||
|
GST_VAAPI_ENCODER_H264_FEI_PROP_MAX_QP,
|
||||||
|
g_param_spec_uint ("max-qp",
|
||||||
|
"Maximum QP", "Maximum quantizer value", 0, 51, 51,
|
||||||
|
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GstVaapiEncoderH264Fei:num-slices:
|
* GstVaapiEncoderH264Fei:num-slices:
|
||||||
*
|
*
|
||||||
|
|
|
@ -49,6 +49,7 @@ typedef struct _GstVaapiEncoderH264Fei GstVaapiEncoderH264Fei;
|
||||||
* in milliseconds (uint).
|
* in milliseconds (uint).
|
||||||
* @GST_VAAPI_ENCODER_H264_FEI_PROP_NUM_VIEWS: Number of views per frame.
|
* @GST_VAAPI_ENCODER_H264_FEI_PROP_NUM_VIEWS: Number of views per frame.
|
||||||
* @GST_VAAPI_ENCODER_H264_FEI_PROP_VIEW_IDS: View IDs
|
* @GST_VAAPI_ENCODER_H264_FEI_PROP_VIEW_IDS: View IDs
|
||||||
|
* @GST_VAAPI_ENCODER_H264_FEI_PROP_MAX_QP: Maximal quantizer value (uint).
|
||||||
*
|
*
|
||||||
* The set of H.264 encoder specific configurable properties.
|
* The set of H.264 encoder specific configurable properties.
|
||||||
*/
|
*/
|
||||||
|
@ -79,7 +80,8 @@ typedef enum {
|
||||||
GST_VAAPI_ENCODER_H264_PROP_MULTI_PRED_L0 = -25,
|
GST_VAAPI_ENCODER_H264_PROP_MULTI_PRED_L0 = -25,
|
||||||
GST_VAAPI_ENCODER_H264_PROP_MULTI_PRED_L1 = -26,
|
GST_VAAPI_ENCODER_H264_PROP_MULTI_PRED_L1 = -26,
|
||||||
GST_VAAPI_ENCODER_H264_PROP_ENABLE_STATS_OUT = -27,
|
GST_VAAPI_ENCODER_H264_PROP_ENABLE_STATS_OUT = -27,
|
||||||
GST_VAAPI_ENCODER_H264_PROP_FEI_MODE = -28
|
GST_VAAPI_ENCODER_H264_PROP_FEI_MODE = -28,
|
||||||
|
GST_VAAPI_ENCODER_H264_FEI_PROP_MAX_QP = -29,
|
||||||
|
|
||||||
} GstVaapiEncoderH264FeiProp;
|
} GstVaapiEncoderH264FeiProp;
|
||||||
|
|
||||||
|
|
|
@ -101,6 +101,7 @@ struct _GstVaapiEncoderH265
|
||||||
guint32 idr_period;
|
guint32 idr_period;
|
||||||
guint32 init_qp;
|
guint32 init_qp;
|
||||||
guint32 min_qp;
|
guint32 min_qp;
|
||||||
|
guint32 max_qp;
|
||||||
guint32 qp_i;
|
guint32 qp_i;
|
||||||
guint32 qp_ip;
|
guint32 qp_ip;
|
||||||
guint32 qp_ib;
|
guint32 qp_ib;
|
||||||
|
@ -1780,9 +1781,9 @@ add_slice_headers (GstVaapiEncoderH265 * encoder, GstVaapiEncPicture * picture,
|
||||||
(gint) encoder->min_qp) {
|
(gint) encoder->min_qp) {
|
||||||
slice_param->slice_qp_delta = encoder->min_qp - encoder->init_qp;
|
slice_param->slice_qp_delta = encoder->min_qp - encoder->init_qp;
|
||||||
}
|
}
|
||||||
/* TODO: max_qp could be provided as a property in the future */
|
if ((gint) encoder->init_qp + slice_param->slice_qp_delta >
|
||||||
if ((gint) encoder->init_qp + slice_param->slice_qp_delta > 51) {
|
(gint) encoder->max_qp) {
|
||||||
slice_param->slice_qp_delta = 51 - encoder->init_qp;
|
slice_param->slice_qp_delta = encoder->max_qp - encoder->init_qp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1880,10 +1881,7 @@ ensure_control_rate_params (GstVaapiEncoderH265 * encoder)
|
||||||
GST_VAAPI_ENCODER_VA_RATE_CONTROL (encoder).min_qp = encoder->min_qp;
|
GST_VAAPI_ENCODER_VA_RATE_CONTROL (encoder).min_qp = encoder->min_qp;
|
||||||
|
|
||||||
#if VA_CHECK_VERSION(1,1,0)
|
#if VA_CHECK_VERSION(1,1,0)
|
||||||
/* @FIXME: should not set this value, should be ignored if set to zero *
|
GST_VAAPI_ENCODER_VA_RATE_CONTROL (encoder).max_qp = encoder->max_qp;
|
||||||
* https://github.com/intel/media-driver/issues/587 */
|
|
||||||
if (encoder->min_qp > 0)
|
|
||||||
GST_VAAPI_ENCODER_VA_RATE_CONTROL (encoder).max_qp = 51;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if VA_CHECK_VERSION(1,0,0)
|
#if VA_CHECK_VERSION(1,0,0)
|
||||||
|
@ -2078,6 +2076,9 @@ reset_properties (GstVaapiEncoderH265 * encoder)
|
||||||
|
|
||||||
if (encoder->min_qp > encoder->init_qp)
|
if (encoder->min_qp > encoder->init_qp)
|
||||||
encoder->min_qp = encoder->init_qp;
|
encoder->min_qp = encoder->init_qp;
|
||||||
|
if (encoder->max_qp < encoder->init_qp)
|
||||||
|
encoder->max_qp = encoder->init_qp;
|
||||||
|
|
||||||
encoder->qp_i = encoder->init_qp;
|
encoder->qp_i = encoder->init_qp;
|
||||||
|
|
||||||
ctu_size = encoder->ctu_width * encoder->ctu_height;
|
ctu_size = encoder->ctu_width * encoder->ctu_height;
|
||||||
|
@ -2692,6 +2693,9 @@ gst_vaapi_encoder_h265_set_property (GstVaapiEncoder * base_encoder,
|
||||||
case GST_VAAPI_ENCODER_H265_PROP_LOW_DELAY_B:
|
case GST_VAAPI_ENCODER_H265_PROP_LOW_DELAY_B:
|
||||||
encoder->low_delay_b = g_value_get_boolean (value);
|
encoder->low_delay_b = g_value_get_boolean (value);
|
||||||
break;
|
break;
|
||||||
|
case GST_VAAPI_ENCODER_H265_PROP_MAX_QP:
|
||||||
|
encoder->max_qp = g_value_get_uint (value);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return GST_VAAPI_ENCODER_STATUS_ERROR_INVALID_PARAMETER;
|
return GST_VAAPI_ENCODER_STATUS_ERROR_INVALID_PARAMETER;
|
||||||
|
@ -2794,6 +2798,19 @@ gst_vaapi_encoder_h265_get_default_properties (void)
|
||||||
"Minimum QP", "Minimum quantizer value", 0, 51, 1,
|
"Minimum QP", "Minimum quantizer value", 0, 51, 1,
|
||||||
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstVaapiEncoderH265:max-qp:
|
||||||
|
*
|
||||||
|
* The maximum quantizer value.
|
||||||
|
*
|
||||||
|
* Since: 1.18
|
||||||
|
*/
|
||||||
|
GST_VAAPI_ENCODER_PROPERTIES_APPEND (props,
|
||||||
|
GST_VAAPI_ENCODER_H265_PROP_MAX_QP,
|
||||||
|
g_param_spec_uint ("max-qp",
|
||||||
|
"Maximum QP", "Maximum quantizer value", 0, 51, 51,
|
||||||
|
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GstVaapiEncoderH265:qp-ip:
|
* GstVaapiEncoderH265:qp-ip:
|
||||||
*
|
*
|
||||||
|
|
|
@ -47,6 +47,7 @@ typedef struct _GstVaapiEncoderH265 GstVaapiEncoderH265;
|
||||||
* @GST_VAAPI_ENCODER_H265_PROP_QP_IP: Difference of QP between I and P frame.
|
* @GST_VAAPI_ENCODER_H265_PROP_QP_IP: Difference of QP between I and P frame.
|
||||||
* @GST_VAAPI_ENCODER_H265_PROP_QP_IB: Difference of QP between I and B frame.
|
* @GST_VAAPI_ENCODER_H265_PROP_QP_IB: Difference of QP between I and B frame.
|
||||||
* @GST_VAAPI_ENCODER_H265_PROP_LOW_DELAY_B: use low delay b feature.
|
* @GST_VAAPI_ENCODER_H265_PROP_LOW_DELAY_B: use low delay b feature.
|
||||||
|
* @GST_VAAPI_ENCODER_H265_PROP_MAX_QP: Maximal quantizer value (uint).
|
||||||
*
|
*
|
||||||
* The set of H.265 encoder specific configurable properties.
|
* The set of H.265 encoder specific configurable properties.
|
||||||
*/
|
*/
|
||||||
|
@ -61,6 +62,7 @@ typedef enum {
|
||||||
GST_VAAPI_ENCODER_H265_PROP_QP_IP = -9,
|
GST_VAAPI_ENCODER_H265_PROP_QP_IP = -9,
|
||||||
GST_VAAPI_ENCODER_H265_PROP_QP_IB = -10,
|
GST_VAAPI_ENCODER_H265_PROP_QP_IB = -10,
|
||||||
GST_VAAPI_ENCODER_H265_PROP_LOW_DELAY_B = -11,
|
GST_VAAPI_ENCODER_H265_PROP_LOW_DELAY_B = -11,
|
||||||
|
GST_VAAPI_ENCODER_H265_PROP_MAX_QP = -12,
|
||||||
} GstVaapiEncoderH265Prop;
|
} GstVaapiEncoderH265Prop;
|
||||||
|
|
||||||
GstVaapiEncoder *
|
GstVaapiEncoder *
|
||||||
|
|
Loading…
Reference in a new issue