shithub: libvpx

Download patch

ref: 6c3b691c491a3743a324b0cf7a03d68809715d68
parent: 7ccd7fc32539d0ba8307647bed9a80387cb2fe74
parent: faea038f4f9f7e744b4178c2483007a1390e9e0c
author: James Zern <[email protected]>
date: Thu Jun 4 18:56:42 EDT 2015

Merge "vp9_reconintra: fix d45/d63 discrepancies"

--- a/vp9/common/vp9_reconintra.c
+++ b/vp9/common/vp9_reconintra.c
@@ -418,19 +418,18 @@
   const int E = above[4];
   const int F = above[5];
   const int G = above[6];
-  const int H = above[7];
   (void)left;
   DST(0, 0) =             AVG2(A, B);
   DST(1, 0) = DST(0, 2) = AVG2(B, C);
   DST(2, 0) = DST(1, 2) = AVG2(C, D);
   DST(3, 0) = DST(2, 2) = AVG2(D, E);
+              DST(3, 2) = AVG2(E, F);  // differs from vp8
 
   DST(0, 1) =             AVG3(A, B, C);
   DST(1, 1) = DST(0, 3) = AVG3(B, C, D);
   DST(2, 1) = DST(1, 3) = AVG3(C, D, E);
   DST(3, 1) = DST(2, 3) = AVG3(D, E, F);
-              DST(3, 2) = AVG3(E, F, G);
-              DST(3, 3) = AVG3(F, G, H);
+              DST(3, 3) = AVG3(E, F, G);  // differs from vp8
 }
 
 static INLINE void d63_predictor(uint8_t *dst, ptrdiff_t stride, int bs,
@@ -467,7 +466,7 @@
   DST(3, 0) = DST(2, 1) = DST(1, 2) = DST(0, 3) = AVG3(D, E, F);
               DST(3, 1) = DST(2, 2) = DST(1, 3) = AVG3(E, F, G);
                           DST(3, 2) = DST(2, 3) = AVG3(F, G, H);
-                                      DST(3, 3) = AVG3(G, H, H);
+                                      DST(3, 3) = H;  // differs from vp8
 }
 
 static INLINE void d45_predictor(uint8_t *dst, ptrdiff_t stride, int bs,