summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorPaul Wilkins <paulwilkins@google.com>2017-02-21 09:42:37 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-02-21 09:42:38 +0000
commit4d4231352c8cefdae2e76b7bad4286ec21747c89 (patch)
tree7692f8186a1c9616c7254b3fb190a79debdbb386 /vp9
parentf091752a9c71cf029247b9805fc3ad6a76b453af (diff)
parenta63adac6040345003f806fba0e778092c06ffdff (diff)
downloadlibvpx-4d4231352c8cefdae2e76b7bad4286ec21747c89.tar
libvpx-4d4231352c8cefdae2e76b7bad4286ec21747c89.tar.gz
libvpx-4d4231352c8cefdae2e76b7bad4286ec21747c89.tar.bz2
libvpx-4d4231352c8cefdae2e76b7bad4286ec21747c89.zip
Merge "Change to prediction decay calculation."
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_firstpass.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_firstpass.c b/vp9/encoder/vp9_firstpass.c
index f95081c98..3f722090f 100644
--- a/vp9/encoder/vp9_firstpass.c
+++ b/vp9/encoder/vp9_firstpass.c
@@ -1275,7 +1275,11 @@ void vp9_first_pass_encode_tile_mb_row(VP9_COMP *cpi, ThreadData *td,
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 @@ static double get_sr_decay_rate(const VP9_COMP *cpi,
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);