[MOVED FROM BAD 076/134] vp8enc: Fix quality to (constant) quantizer mapping
authorAlexey Fisher <bug-track@fisher-privat.net>
Wed, 18 May 2011 11:18:58 +0000 (13:18 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Sun, 16 Sep 2012 13:27:15 +0000 (15:27 +0200)
This now allows to select all possible quantizers between
0 and 63.

See bug #641405.

ext/vp8/gstvp8enc.c

index b65029f..2bf1301 100644 (file)
@@ -242,7 +242,7 @@ gst_vp8_enc_class_init (GstVP8EncClass * klass)
 
   g_object_class_install_property (gobject_class, PROP_QUALITY,
       g_param_spec_double ("quality", "Quality",
-          "Quality",
+          "Quality. This parameter set constant quantizer.",
           0, 10.0, DEFAULT_QUALITY,
           (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
 
@@ -508,8 +508,8 @@ gst_vp8_enc_set_format (GstBaseVideoEncoder * base_video_encoder,
   if (encoder->bitrate) {
     cfg.rc_target_bitrate = encoder->bitrate / 1000;
   } else {
-    cfg.rc_min_quantizer = 63 - encoder->quality * 5.0;
-    cfg.rc_max_quantizer = 63 - encoder->quality * 5.0;
+    cfg.rc_min_quantizer = (gint) (63 - encoder->quality * 6.2);
+    cfg.rc_max_quantizer = (gint) (63 - encoder->quality * 6.2);
     cfg.rc_target_bitrate = encoder->bitrate;
   }