From: Ronald S. Bultje Date: Thu, 2 May 2013 02:28:17 +0000 (-0700) Subject: Fix block reconstruction with sb8x8 enabled. X-Git-Tag: v1.3.0~1106^2~87^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ff37688a916c5e55aa36ace2e48a096c70a9413e;p=platform%2Fupstream%2Flibvpx.git Fix block reconstruction with sb8x8 enabled. The encoder reconstruction is now correct. Decoder to follow shortly. Change-Id: Iedf98cdaebb4ca1256c7714cad7024a75853ad6a --- diff --git a/vp9/common/vp9_recon.c b/vp9/common/vp9_recon.c index 4119450..4ab4f39 100644 --- a/vp9/common/vp9_recon.c +++ b/vp9/common/vp9_recon.c @@ -31,9 +31,10 @@ static INLINE void recon(int rows, int cols, void vp9_recon_b_c(uint8_t *pred_ptr, int16_t *diff_ptr, uint8_t *dst_ptr, int stride) { assert(pred_ptr == dst_ptr); - recon(4, 4, diff_ptr, 16, dst_ptr, stride); + recon(4, 4, diff_ptr, 16 >> CONFIG_SB8X8, dst_ptr, stride); } +#if !CONFIG_SB8X8 void vp9_recon_uv_b_c(uint8_t *pred_ptr, int16_t *diff_ptr, uint8_t *dst_ptr, int stride) { assert(pred_ptr == dst_ptr); @@ -51,6 +52,7 @@ void vp9_recon2b_c(uint8_t *pred_ptr, int16_t *diff_ptr, uint8_t *dst_ptr, assert(pred_ptr == dst_ptr); recon(4, 8, diff_ptr, 8, dst_ptr, stride); } +#endif static void recon_plane(MACROBLOCKD *xd, BLOCK_SIZE_TYPE bsize, int plane) { const int bw = 4 << (b_width_log2(bsize) - xd->plane[plane].subsampling_x); diff --git a/vp9/common/vp9_rtcd_defs.sh b/vp9/common/vp9_rtcd_defs.sh index 78cb786..6725cdf 100644 --- a/vp9/common/vp9_rtcd_defs.sh +++ b/vp9/common/vp9_rtcd_defs.sh @@ -63,6 +63,8 @@ specialize vp9_copy_mem8x4 mmx prototype void vp9_recon_b "uint8_t *pred_ptr, int16_t *diff_ptr, uint8_t *dst_ptr, int stride" specialize vp9_recon_b +if [ "$CONFIG_SB8X8" != "yes" ]; then + prototype void vp9_recon_uv_b "uint8_t *pred_ptr, int16_t *diff_ptr, uint8_t *dst_ptr, int stride" specialize vp9_recon_uv_b @@ -76,6 +78,8 @@ prototype void vp9_recon4b "uint8_t *pred_ptr, int16_t *diff_ptr, uint8_t *dst_p specialize vp9_recon4b # specialize vp9_recon4b sse2 +fi + prototype void vp9_recon_sb "struct macroblockd *x, enum BLOCK_SIZE_TYPE bsize" specialize vp9_recon_sb