shithub: libvpx

Download patch

ref: 4d4231352c8cefdae2e76b7bad4286ec21747c89
parent: f091752a9c71cf029247b9805fc3ad6a76b453af
parent: a63adac6040345003f806fba0e778092c06ffdff
author: Paul Wilkins <paulwilkins@google.com>
date: Tue Feb 21 04:42:37 EST 2017

Merge "Change to prediction decay calculation."

--- a/vp9/encoder/vp9_firstpass.c
+++ b/vp9/encoder/vp9_firstpass.c
@@ -1275,7 +1275,11 @@
         int scaled_low_intra_thresh = scale_sse_threshold(cm, LOW_I_THRESH);
         if (this_intra_error < scaled_low_intra_thresh) {
           fp_acc_data->frame_noise_energy += fp_estimate_block_noise(x, bsize);
-          fp_acc_data->intra_count_low += 1.0;
+          if (motion_error < scaled_low_intra_thresh) {
+            fp_acc_data->intra_count_low += 1.0;
+          } else {
+            fp_acc_data->intra_count_high += 1.0;
+          }
         } else {
           fp_acc_data->frame_noise_energy += (int64_t)SECTION_NOISE_DEF;
           fp_acc_data->intra_count_high += 1.0;
@@ -1731,7 +1735,8 @@
   if (((frame->coded_error / num_mbs) > LOW_CODED_ERR_PER_MB) &&
       ((frame->intra_error / DOUBLE_DIVIDE_CHECK(frame->coded_error)) <
        (double)NCOUNT_FRAME_II_THRESH)) {
-    modified_pct_inter = frame->pcnt_inter - frame->pcnt_neutral;
+    modified_pct_inter =
+        frame->pcnt_inter + frame->pcnt_intra_low - frame->pcnt_neutral;
   }
   modified_pcnt_intra = 100 * (1.0 - modified_pct_inter);