summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyunjun Ko <zzoon@igalia.com>2017-02-09 12:39:19 +0900
committerVíctor Manuel Jáquez Leal <victorx.jaquez@intel.com>2017-02-10 13:10:10 +0100
commitffc5b43da735f8c5a00e7f152e09e6a8e840f151 (patch)
tree3247c36dbe8c0ec4fc011dbc7e9f687a9aef19e8
parent025d5ce33e98d35ba5419dd7f4cf811a2f0e5cfc (diff)
libs: encoder: vp8: fix bitrate calculation
Base encoder's unit of bitrate is in Kbps. We should honor it so we use the value of bitrate in VA, in which is expressed in bps. https://bugzilla.gnome.org/show_bug.cgi?id=749950
-rw-r--r--gst-libs/gst/vaapi/gstvaapiencoder_vp8.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_vp8.c b/gst-libs/gst/vaapi/gstvaapiencoder_vp8.c
index a0023471..00e9baec 100644
--- a/gst-libs/gst/vaapi/gstvaapiencoder_vp8.c
+++ b/gst-libs/gst/vaapi/gstvaapiencoder_vp8.c
@@ -129,8 +129,9 @@ ensure_bitrate (GstVaapiEncoderVP8 * encoder)
gst_util_uint64_scale (GST_VAAPI_ENCODER_WIDTH (encoder) *
GST_VAAPI_ENCODER_HEIGHT (encoder),
GST_VAAPI_ENCODER_FPS_N (encoder),
- GST_VAAPI_ENCODER_FPS_D (encoder)) / 4 * 1000;
+ GST_VAAPI_ENCODER_FPS_D (encoder)) / (4 * 1000);
}
+ break;
default:
base_encoder->bitrate = 0;
break;
@@ -219,7 +220,7 @@ fill_sequence (GstVaapiEncoderVP8 * encoder, GstVaapiEncSequence * sequence)
seq_param->frame_height = GST_VAAPI_ENCODER_HEIGHT (encoder);
if (GST_VAAPI_ENCODER_RATE_CONTROL (encoder) & GST_VAAPI_RATECONTROL_CBR)
- seq_param->bits_per_second = base_encoder->bitrate;
+ seq_param->bits_per_second = base_encoder->bitrate * 1000;
seq_param->intra_period = base_encoder->keyframe_period;