From: James Zern Date: Thu, 4 Jun 2015 20:05:29 +0000 (-0700) Subject: vp9_reconintra: fix d45/d63 discrepancies X-Git-Tag: v1.5.0~607^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=faea038f4f9f7e744b4178c2483007a1390e9e0c;p=libvpx vp9_reconintra: fix d45/d63 discrepancies the final index in rows 2, 3 differ from vp8 Change-Id: I0fcea907b4ab44e266c0f1fd77b290d2236b280a --- diff --git a/vp9/common/vp9_reconintra.c b/vp9/common/vp9_reconintra.c index f7c01fd1d..610523114 100644 --- a/vp9/common/vp9_reconintra.c +++ b/vp9/common/vp9_reconintra.c @@ -418,19 +418,18 @@ void vp9_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, 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 @@ void vp9_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, 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,