mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-28 20:05:38 +00:00
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:
parent
4bf8ef724b
commit
035efded75
6 changed files with 4 additions and 30 deletions
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue