[Pkg-gstreamer-commits] [gstreamer-vaapi] 107/176: encoder: fix bitrate units to match kbps.

Vincent Cheng vcheng at moszumanska.debian.org
Tue Jun 3 08:09:32 UTC 2014


This is an automated email from the git hooks/post-receive script.

vcheng pushed a commit to branch upstream
in repository gstreamer-vaapi.

commit 368caf22da7cdd2f6b6e29fd20ca40616ca98bc2
Author: Gwenole Beauchesne <gwenole.beauchesne at intel.com>
Date:   Sun Jan 12 23:17:14 2014 +0100

    encoder: fix bitrate units to match kbps.
    
    Bitrate is expressed in kilobits per second (kbps). So, this exactly
    means in multiple of 1000 bits, not 1024 bits.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=722086
---
 gst-libs/gst/vaapi/gstvaapiencoder_h264.c  | 14 +++++++-------
 gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c | 10 +++++-----
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_h264.c b/gst-libs/gst/vaapi/gstvaapiencoder_h264.c
index 4cd1021..28bccd8 100644
--- a/gst-libs/gst/vaapi/gstvaapiencoder_h264.c
+++ b/gst-libs/gst/vaapi/gstvaapiencoder_h264.c
@@ -564,9 +564,9 @@ gst_bit_writer_write_sps (GstBitWriter * bitwriter,
 
       for (i = 0; i < 1; ++i) {
         /* bit_rate_value_minus1[0] */
-        gst_bit_writer_put_ue (bitwriter, seq->bits_per_second / 1024 - 1);
+        gst_bit_writer_put_ue (bitwriter, seq->bits_per_second / 1000 - 1);
         /* cpb_size_value_minus1[0] */
-        gst_bit_writer_put_ue (bitwriter, seq->bits_per_second / 1024 * 8 - 1);
+        gst_bit_writer_put_ue (bitwriter, seq->bits_per_second / 1000 * 8 - 1);
         /* cbr_flag[0] */
         gst_bit_writer_put_bits_uint32 (bitwriter, 1, 1);
       }
@@ -857,7 +857,7 @@ fill_va_sequence_param (GstVaapiEncoderH264 * encoder,
   seq->intra_period = GST_VAAPI_ENCODER_KEYFRAME_PERIOD (encoder);
   seq->ip_period = 0;           // ?
   if (base_encoder->bitrate > 0)
-    seq->bits_per_second = base_encoder->bitrate * 1024;
+    seq->bits_per_second = base_encoder->bitrate * 1000;
   else
     seq->bits_per_second = 0;
 
@@ -1215,8 +1215,8 @@ ensure_misc (GstVaapiEncoderH264 * encoder, GstVaapiEncPicture * picture)
   gst_vaapi_enc_picture_add_misc_buffer (picture, misc);
   hrd = misc->impl;
   if (base_encoder->bitrate > 0) {
-    hrd->initial_buffer_fullness = base_encoder->bitrate * 1024 * 4;
-    hrd->buffer_size = base_encoder->bitrate * 1024 * 8;
+    hrd->initial_buffer_fullness = base_encoder->bitrate * 1000 * 4;
+    hrd->buffer_size = base_encoder->bitrate * 1000 * 8;
   } else {
     hrd->initial_buffer_fullness = 0;
     hrd->buffer_size = 0;
@@ -1234,7 +1234,7 @@ ensure_misc (GstVaapiEncoderH264 * encoder, GstVaapiEncPicture * picture)
     rate_control = misc->impl;
     memset (rate_control, 0, sizeof (VAEncMiscParameterRateControl));
     if (base_encoder->bitrate)
-      rate_control->bits_per_second = base_encoder->bitrate * 1024;
+      rate_control->bits_per_second = base_encoder->bitrate * 1000;
     else
       rate_control->bits_per_second = 0;
     rate_control->target_percentage = 70;
@@ -1272,7 +1272,7 @@ ensure_bitrate (GstVaapiEncoderH264 * encoder)
         base_encoder->bitrate = GST_VAAPI_ENCODER_WIDTH (encoder) *
             GST_VAAPI_ENCODER_HEIGHT (encoder) *
             GST_VAAPI_ENCODER_FPS_N (encoder) /
-            GST_VAAPI_ENCODER_FPS_D (encoder) / 4 / 1024;
+            GST_VAAPI_ENCODER_FPS_D (encoder) / 4 / 1000;
       break;
     default:
       base_encoder->bitrate = 0;
diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c b/gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c
index 7b88128..6f5ca72 100644
--- a/gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c
+++ b/gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c
@@ -126,7 +126,7 @@ ensure_bitrate (GstVaapiEncoderMpeg2 * encoder)
         base_encoder->bitrate = GST_VAAPI_ENCODER_WIDTH (encoder) *
             GST_VAAPI_ENCODER_HEIGHT (encoder) *
             GST_VAAPI_ENCODER_FPS_N (encoder) /
-            GST_VAAPI_ENCODER_FPS_D (encoder) / 4 / 1024;
+            GST_VAAPI_ENCODER_FPS_D (encoder) / 4 / 1000;
       break;
     default:
       base_encoder->bitrate = 0;
@@ -183,7 +183,7 @@ fill_sequence (GstVaapiEncoderMpeg2 * encoder, GstVaapiEncSequence * sequence)
   seq->picture_height = GST_VAAPI_ENCODER_HEIGHT (encoder);
 
   if (base_encoder->bitrate > 0)
-    seq->bits_per_second = base_encoder->bitrate * 1024;
+    seq->bits_per_second = base_encoder->bitrate * 1000;
   else
     seq->bits_per_second = 0;
 
@@ -428,8 +428,8 @@ set_misc_parameters (GstVaapiEncoderMpeg2 * encoder,
   gst_vaapi_enc_picture_add_misc_buffer (picture, misc);
   hrd = misc->impl;
   if (base_encoder->bitrate > 0) {
-    hrd->initial_buffer_fullness = base_encoder->bitrate * 1024 * 4;
-    hrd->buffer_size = base_encoder->bitrate * 1024 * 8;
+    hrd->initial_buffer_fullness = base_encoder->bitrate * 1000 * 4;
+    hrd->buffer_size = base_encoder->bitrate * 1000 * 8;
   } else {
     hrd->initial_buffer_fullness = 0;
     hrd->buffer_size = 0;
@@ -446,7 +446,7 @@ set_misc_parameters (GstVaapiEncoderMpeg2 * encoder,
     rate_control = misc->impl;
     memset (rate_control, 0, sizeof (VAEncMiscParameterRateControl));
     if (base_encoder->bitrate)
-      rate_control->bits_per_second = base_encoder->bitrate * 1024;
+      rate_control->bits_per_second = base_encoder->bitrate * 1000;
     else
       rate_control->bits_per_second = 0;
     rate_control->target_percentage = 70;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gstreamer/gstreamer-vaapi.git



More information about the Pkg-gstreamer-commits mailing list