summaryrefslogtreecommitdiff
path: root/vp8/encoder/ethreading.c
diff options
context:
space:
mode:
authorMarco Paniconi <marpan@google.com>2014-07-24 12:54:38 -0700
committerMarco Paniconi <marpan@google.com>2014-07-29 11:16:45 -0700
commit91801176fe17e5ce31314a7492b96977f0b31e1c (patch)
treeed30ba8d3ea47bffe32df2324e92d319920688bf /vp8/encoder/ethreading.c
parentac1f06188d880ca9316205efbb2012da9b6bb4e3 (diff)
downloadlibvpx-91801176fe17e5ce31314a7492b96977f0b31e1c.tar
libvpx-91801176fe17e5ce31314a7492b96977f0b31e1c.tar.gz
libvpx-91801176fe17e5ce31314a7492b96977f0b31e1c.tar.bz2
libvpx-91801176fe17e5ce31314a7492b96977f0b31e1c.zip
vp8: Add an aggressive denoising mode.
Change-Id: Ie4686e1b15af6bcc8d59d585bbeb996f38224522
Diffstat (limited to 'vp8/encoder/ethreading.c')
-rw-r--r--vp8/encoder/ethreading.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/vp8/encoder/ethreading.c b/vp8/encoder/ethreading.c
index d4b17cef1..7b8b51f30 100644
--- a/vp8/encoder/ethreading.c
+++ b/vp8/encoder/ethreading.c
@@ -206,6 +206,21 @@ THREAD_FUNCTION thread_encoding_proc(void *p_data)
}
#endif
+ // Keep track of how many (consecutive) times a block
+ // is coded as ZEROMV_LASTREF, for base layer frames.
+ // Reset to 0 if its coded as anything else.
+ if (cpi->current_layer == 0) {
+ if (xd->mode_info_context->mbmi.mode == ZEROMV &&
+ xd->mode_info_context->mbmi.ref_frame ==
+ LAST_FRAME) {
+ // Increment, check for wrap-around.
+ if (cpi->consec_zero_last[map_index+mb_col] < 255)
+ cpi->consec_zero_last[map_index+mb_col] +=
+ 1;
+ } else {
+ cpi->consec_zero_last[map_index+mb_col] = 0;
+ }
+ }
/* Special case code for cyclic refresh
* If cyclic update enabled then copy