libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor framerate param

Since the framerate VA parameter is calculated equally among all the
encoders, it is better to handle it in the base encoder class.
This commit is contained in:
Víctor Manuel Jáquez Leal 2017-06-07 11:10:49 +02:00
parent 4bf8ef724b
commit 035efded75
6 changed files with 4 additions and 30 deletions

View file

@ -808,6 +808,10 @@ gst_vaapi_encoder_reconfigure_internal (GstVaapiEncoder * encoder)
if (!encoder->keyframe_period)
encoder->keyframe_period = (vip->fps_n + vip->fps_d - 1) / vip->fps_d;
/* Default frame rate parameter */
GST_VAAPI_ENCODER_VA_FRAME_RATE (encoder).framerate =
(guint) GST_VIDEO_INFO_FPS_D (vip) << 16 | GST_VIDEO_INFO_FPS_N (vip);
status = klass->reconfigure (encoder);
if (status != GST_VAAPI_ENCODER_STATUS_SUCCESS)
return status;

View file

@ -2171,12 +2171,6 @@ ensure_control_rate_params (GstVaapiEncoderH264 * encoder)
/* HRD params */
fill_hrd_params (encoder, &GST_VAAPI_ENCODER_VA_HRD (encoder));
/* FrameRate params */
GST_VAAPI_ENCODER_VA_FRAME_RATE (encoder) = (VAEncMiscParameterFrameRate) {
.framerate = (guint) GST_VAAPI_ENCODER_FPS_D (encoder) << 16 |
GST_VAAPI_ENCODER_FPS_N (encoder),
};
/* *INDENT-ON* */
return TRUE;

View file

@ -1787,12 +1787,6 @@ ensure_control_rate_params (GstVaapiEncoderH265 * encoder)
/* HRD params */
fill_hrd_params (encoder, &GST_VAAPI_ENCODER_VA_HRD (encoder));
/* FrameRate params */
GST_VAAPI_ENCODER_VA_FRAME_RATE (encoder) = (VAEncMiscParameterFrameRate) {
.framerate = (guint) GST_VAAPI_ENCODER_FPS_D (encoder) << 16 |
GST_VAAPI_ENCODER_FPS_N (encoder),
};
/* *INDENT-ON* */
return TRUE;

View file

@ -473,12 +473,6 @@ ensure_control_rate_params (GstVaapiEncoderMpeg2 * encoder)
.buffer_size = base_encoder->bitrate * 1000 * 8,
.initial_buffer_fullness = base_encoder->bitrate * 1000 * 4,
};
/* FrameRate params */
GST_VAAPI_ENCODER_VA_FRAME_RATE (encoder) = (VAEncMiscParameterFrameRate) {
.framerate = (guint) GST_VAAPI_ENCODER_FPS_D (encoder) << 16 |
GST_VAAPI_ENCODER_FPS_N (encoder),
};
/* *INDENT-ON* */
return TRUE;

View file

@ -285,12 +285,6 @@ ensure_control_rate_params (GstVaapiEncoderVP8 * encoder)
.buffer_size = base_encoder->bitrate * 1000 * 2,
.initial_buffer_fullness = base_encoder->bitrate * 1000,
};
/* FrameRate params */
GST_VAAPI_ENCODER_VA_FRAME_RATE (encoder) = (VAEncMiscParameterFrameRate) {
.framerate = (guint) GST_VAAPI_ENCODER_FPS_D (encoder) << 16 |
GST_VAAPI_ENCODER_FPS_N (encoder),
};
/* *INDENT-ON* */
return TRUE;

View file

@ -282,12 +282,6 @@ ensure_control_rate_params (GstVaapiEncoderVP9 * encoder)
.buffer_size = encoder->bitrate_bits * 2,
.initial_buffer_fullness = encoder->bitrate_bits,
};
/* FrameRate params */
GST_VAAPI_ENCODER_VA_FRAME_RATE (encoder) = (VAEncMiscParameterFrameRate) {
.framerate = (guint) GST_VAAPI_ENCODER_FPS_D (encoder) << 16 |
GST_VAAPI_ENCODER_FPS_N (encoder),
};
/* *INDENT-ON* */
return TRUE;