]> granicus.if.org Git - libvpx/commitdiff
Rate control adjustment.
authorPaul Wilkins <paulwilkins@google.com>
Wed, 23 Apr 2014 00:09:47 +0000 (17:09 -0700)
committerYaowu Xu <yaowu@google.com>
Wed, 7 May 2014 20:56:05 +0000 (13:56 -0700)
Small adjustment to the active Q range calculations.
These changes should slightly extend the available Q range
for KF/GF/ARF and narrow it for other frames.

The results for this change in isolation are broadly positive
for SSIM and average PSNR and slightly up but mixed for opsnr.

derf +0.293% opsnr, +1.286% SSIM
std-hd + 0.528% opsnr, + 1.746% SSIM
yt +0.056% opsnr, +0.457% SSIM
yt-hd -0.147% opsnr, + 0.226% SSIM

Change-Id: If065280342027ecc5d44b49fc1d440dfef041002

vp9/encoder/vp9_ratectrl.c

index 985743d88a204a664d97ada896252088c3e3315a..4b05494717eb374bcb91b98c0bf1801a9897b665 100644 (file)
@@ -81,13 +81,13 @@ void vp9_rc_init_minq_luts() {
 
   for (i = 0; i < QINDEX_RANGE; i++) {
     const double maxq = vp9_convert_qindex_to_q(i);
-    kf_low_motion_minq[i] = get_minq_index(maxq, 0.000001, -0.0004, 0.15);
+    kf_low_motion_minq[i] = get_minq_index(maxq, 0.000001, -0.0004, 0.125);
     kf_high_motion_minq[i] = get_minq_index(maxq, 0.000002, -0.0012, 0.50);
-    gf_low_motion_minq[i] = get_minq_index(maxq, 0.0000015, -0.0009, 0.32);
+    gf_low_motion_minq[i] = get_minq_index(maxq, 0.0000015, -0.0009, 0.30);
     gf_high_motion_minq[i] = get_minq_index(maxq, 0.0000021, -0.00125, 0.50);
-    afq_low_motion_minq[i] = get_minq_index(maxq, 0.0000015, -0.0009, 0.33);
+    afq_low_motion_minq[i] = get_minq_index(maxq, 0.0000015, -0.0009, 0.30);
     afq_high_motion_minq[i] = get_minq_index(maxq, 0.0000021, -0.00125, 0.55);
-    inter_minq[i] = get_minq_index(maxq, 0.00000271, -0.00113, 0.75);
+    inter_minq[i] = get_minq_index(maxq, 0.00000271, -0.00113, 0.90);
   }
 }