From e5fa44c869f03925d2f5f97f89effcc20982d826 Mon Sep 17 00:00:00 2001 From: Dmitry Kovalev <dkovalev@google.com> Date: Fri, 18 Oct 2013 12:20:26 -0700 Subject: [PATCH] Using stride (# of elements) instead of pitch (bytes) in fdct8x8. Just making fdct consistent with iht/idct/fht functions which all use stride (# of elements) as input argument. Change-Id: Ibc944952a192e6c7b2b6a869ec2894c01da82ed1 --- test/fdct8x8_test.cc | 4 ++-- vp9/common/vp9_rtcd_defs.sh | 2 +- vp9/encoder/vp9_dct.c | 3 +-- vp9/encoder/vp9_encodemb.c | 4 ++-- vp9/encoder/x86/vp9_dct_sse2.c | 3 +-- 5 files changed, 7 insertions(+), 9 deletions(-) diff --git a/test/fdct8x8_test.cc b/test/fdct8x8_test.cc index 728db6dc7..ffd7d235a 100644 --- a/test/fdct8x8_test.cc +++ b/test/fdct8x8_test.cc @@ -223,7 +223,7 @@ class FwdTrans8x8DCT : public FwdTrans8x8TestBase, fwd_txfm_ = GET_PARAM(0); inv_txfm_ = GET_PARAM(1); tx_type_ = GET_PARAM(2); - pitch_ = 16; + pitch_ = 8; fwd_txfm_ref = fdct8x8_ref; } @@ -234,7 +234,7 @@ class FwdTrans8x8DCT : public FwdTrans8x8TestBase, fwd_txfm_(in, out, stride); } void RunInvTxfm(int16_t *out, uint8_t *dst, int stride) { - inv_txfm_(out, dst, stride >> 1); + inv_txfm_(out, dst, stride); } fdct_t fwd_txfm_; diff --git a/vp9/common/vp9_rtcd_defs.sh b/vp9/common/vp9_rtcd_defs.sh index af96bb314..cc88c771e 100644 --- a/vp9/common/vp9_rtcd_defs.sh +++ b/vp9/common/vp9_rtcd_defs.sh @@ -695,7 +695,7 @@ specialize vp9_short_fht8x8 sse2 prototype void vp9_short_fht16x16 "int16_t *InputData, int16_t *OutputData, int pitch, int tx_type" specialize vp9_short_fht16x16 sse2 -prototype void vp9_short_fdct8x8 "int16_t *InputData, int16_t *OutputData, int pitch" +prototype void vp9_short_fdct8x8 "int16_t *InputData, int16_t *OutputData, int stride" specialize vp9_short_fdct8x8 sse2 prototype void vp9_short_fdct4x4 "int16_t *InputData, int16_t *OutputData, int pitch" diff --git a/vp9/encoder/vp9_dct.c b/vp9/encoder/vp9_dct.c index 00a29037e..6dc966c01 100644 --- a/vp9/encoder/vp9_dct.c +++ b/vp9/encoder/vp9_dct.c @@ -230,8 +230,7 @@ static void fdct8(const int16_t *input, int16_t *output) { output[7] = dct_const_round_shift(t3); } -void vp9_short_fdct8x8_c(int16_t *input, int16_t *final_output, int pitch) { - const int stride = pitch >> 1; +void vp9_short_fdct8x8_c(int16_t *input, int16_t *final_output, int stride) { int i, j; int16_t intermediate[64]; diff --git a/vp9/encoder/vp9_encodemb.c b/vp9/encoder/vp9_encodemb.c index 2b5451bb8..5fe44c9e6 100644 --- a/vp9/encoder/vp9_encodemb.c +++ b/vp9/encoder/vp9_encodemb.c @@ -391,7 +391,7 @@ void vp9_xform_quant(int plane, int block, BLOCK_SIZE plane_bsize, xoff = 8 * (block & twmask); yoff = 8 * (block >> twl); src_diff = p->src_diff + 4 * bw * yoff + xoff; - vp9_short_fdct8x8(src_diff, coeff, bw * 8); + vp9_short_fdct8x8(src_diff, coeff, bw * 4); vp9_quantize_b(coeff, 64, x->skip_block, p->zbin, p->round, p->quant, p->quant_shift, qcoeff, dqcoeff, pd->dequant, p->zbin_extra, eob, scan, iscan); @@ -584,7 +584,7 @@ void vp9_encode_block_intra(int plane, int block, BLOCK_SIZE plane_bsize, if (tx_type != DCT_DCT) vp9_short_fht8x8(src_diff, coeff, bw * 4, tx_type); else - vp9_short_fdct8x8(src_diff, coeff, bw * 8); + vp9_short_fdct8x8(src_diff, coeff, bw * 4); vp9_quantize_b(coeff, 64, x->skip_block, p->zbin, p->round, p->quant, p->quant_shift, qcoeff, dqcoeff, pd->dequant, p->zbin_extra, eob, scan, iscan); diff --git a/vp9/encoder/x86/vp9_dct_sse2.c b/vp9/encoder/x86/vp9_dct_sse2.c index 5e1e5ed4a..52a0528cc 100644 --- a/vp9/encoder/x86/vp9_dct_sse2.c +++ b/vp9/encoder/x86/vp9_dct_sse2.c @@ -271,8 +271,7 @@ void vp9_short_fht4x4_sse2(int16_t *input, int16_t *output, write_buffer_4x4(output, in); } -void vp9_short_fdct8x8_sse2(int16_t *input, int16_t *output, int pitch) { - const int stride = pitch >> 1; +void vp9_short_fdct8x8_sse2(int16_t *input, int16_t *output, int stride) { int pass; // Constants // When we use them, in one case, they are all the same. In all others