summaryrefslogtreecommitdiff
path: root/vp9/common
diff options
context:
space:
mode:
authorDeb Mukherjee <debargha@google.com>2013-01-30 08:38:17 -0800
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2013-01-30 08:38:17 -0800
commitd28750537eaad88991f84239d1203282b65ca6dd (patch)
tree7c6246b978b52661399dedb856b24aa2360c0552 /vp9/common
parent2f6fce3e5a30c9016aa816e2d57678d88729af37 (diff)
parent3b04d467ac8eb143bceb388d242a199423e006fd (diff)
downloadlibvpx-d28750537eaad88991f84239d1203282b65ca6dd.tar
libvpx-d28750537eaad88991f84239d1203282b65ca6dd.tar.gz
libvpx-d28750537eaad88991f84239d1203282b65ca6dd.tar.bz2
libvpx-d28750537eaad88991f84239d1203282b65ca6dd.zip
Merge "Further improvement on compound inter-intra expt" into experimental
Diffstat (limited to 'vp9/common')
-rw-r--r--vp9/common/vp9_reconintra.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/vp9/common/vp9_reconintra.c b/vp9/common/vp9_reconintra.c
index 2828d0373..9ee89d5cf 100644
--- a/vp9/common/vp9_reconintra.c
+++ b/vp9/common/vp9_reconintra.c
@@ -393,6 +393,7 @@ static void combine_interintra(MB_PREDICTION_MODE mode,
70, 70, 69, 69, 69, 69, 68, 68,
68, 68, 68, 67, 67, 67, 67, 67,
};
+
int size_scale = (size >= 64 ? 1:
size == 32 ? 2 :
size == 16 ? 4 :
@@ -469,8 +470,21 @@ static void combine_interintra(MB_PREDICTION_MODE mode,
break;
case D45_PRED:
- case DC_PRED:
+ for (i = 0; i < size; ++i) {
+ for (j = 0; j < size; ++j) {
+ int k = i * interstride + j;
+ int scale = (weights1d[i * size_scale] +
+ weights1d[j * size_scale]) >> 1;
+ interpred[k] =
+ ((scale_max - scale) * interpred[k] +
+ scale * intrapred[i * intrastride + j] + scale_round)
+ >> scale_bits;
+ }
+ }
+ break;
+
case TM_PRED:
+ case DC_PRED:
default:
// simple average
for (i = 0; i < size; ++i) {