remove low pass filtering from two 4x4 intra prediction
authorYaowu Xu <yaowu@google.com>
Mon, 1 Nov 2010 21:04:01 +0000 (14:04 -0700)
committerYaowu Xu <yaowu@google.com>
Thu, 18 Nov 2010 18:42:08 +0000 (10:42 -0800)
In the process of developing new intra prediction modes, tests have
shown removal of the low pass filtering from B_HE_PRED and B_VE_PRED
has an overall minor positive impact in both PSNR and SSIM metric.
Overall difference is about 0.1%. The change shall also have a small
positive impact on speed. Intuitively, this change should also reduce
some of the tendency of "flattening"

Change-Id: I3c43b0daca833c6eff77d00f19c811f9ef9368a3

vp8/common/reconintra4x4.c

index db44fa1..d3d1338 100644 (file)
@@ -81,10 +81,10 @@ void vp8_predict_intra4x4(BLOCKD *x,
     {
 
         unsigned int ap[4];
-        ap[0] = (top_left  + 2 * Above[0] + Above[1] + 2) >> 2;
-        ap[1] = (Above[0] + 2 * Above[1] + Above[2] + 2) >> 2;
-        ap[2] = (Above[1] + 2 * Above[2] + Above[3] + 2) >> 2;
-        ap[3] = (Above[2] + 2 * Above[3] + Above[4] + 2) >> 2;
+        ap[0] = Above[0];
+        ap[1] = Above[1];
+        ap[2] = Above[2];
+        ap[3] = Above[3];
 
         for (r = 0; r < 4; r++)
         {
@@ -105,10 +105,10 @@ void vp8_predict_intra4x4(BLOCKD *x,
     {
 
         unsigned int lp[4];
-        lp[0] = (top_left + 2 * Left[0] + Left[1] + 2) >> 2;
-        lp[1] = (Left[0] + 2 * Left[1] + Left[2] + 2) >> 2;
-        lp[2] = (Left[1] + 2 * Left[2] + Left[3] + 2) >> 2;
-        lp[3] = (Left[2] + 2 * Left[3] + Left[3] + 2) >> 2;
+        lp[0] = Left[0];
+        lp[1] = Left[1];
+        lp[2] = Left[2];
+        lp[3] = Left[3];
 
         for (r = 0; r < 4; r++)
         {