diff options
author | Víctor Manuel Jáquez Leal <vjaquez@igalia.com> | 2017-06-05 20:33:27 +0200 |
---|---|---|
committer | Víctor Manuel Jáquez Leal <vjaquez@igalia.com> | 2017-06-07 11:24:38 +0200 |
commit | d733714ef85db8c66cb8e36d2438cff9b899358a (patch) | |
tree | a4e361caf10cbce4966b09ef5ed51162dc9ab08c | |
parent | 846c276e26a071c4f1fccb7b0949d4de30a27fb6 (diff) |
libs: encoder: h264,h265,mpeg2: add framerate parameter
https://bugzilla.gnome.org/show_bug.cgi?id=783449
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapiencoder_h264.c | 6 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapiencoder_h265.c | 8 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c | 6 |
3 files changed, 20 insertions, 0 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_h264.c b/gst-libs/gst/vaapi/gstvaapiencoder_h264.c index 6ffbd966..e75a2ca9 100644 --- a/gst-libs/gst/vaapi/gstvaapiencoder_h264.c +++ b/gst-libs/gst/vaapi/gstvaapiencoder_h264.c @@ -2171,6 +2171,12 @@ 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; diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_h265.c b/gst-libs/gst/vaapi/gstvaapiencoder_h265.c index e8bc289d..33975ab2 100644 --- a/gst-libs/gst/vaapi/gstvaapiencoder_h265.c +++ b/gst-libs/gst/vaapi/gstvaapiencoder_h265.c @@ -1771,9 +1771,17 @@ ensure_control_rate_params (GstVaapiEncoderH265 * encoder) if (GST_VAAPI_ENCODER_RATE_CONTROL (encoder) == GST_VAAPI_RATECONTROL_CQP) return TRUE; + /* *INDENT-OFF* */ /* 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; } diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c b/gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c index 2c284ee4..798c00f0 100644 --- a/gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c +++ b/gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c @@ -473,6 +473,12 @@ 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; |