diff options
author | Ronald S. Bultje <rbultje@google.com> | 2012-08-20 17:04:23 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2012-08-20 17:04:23 -0700 |
commit | 4396441b8b6a97aae50694d49971cdc062c469e0 (patch) | |
tree | c7e53cb1e8fe71b42bfff31d63554929bde20b63 /vp8/encoder/encodemb.c | |
parent | fc892cc54d6c443f2e29e270c7ad0dc5e0f137a2 (diff) | |
parent | 5d4cffb35f4bc23462eedc95a4802c65e32d7d5a (diff) | |
download | libvpx-4396441b8b6a97aae50694d49971cdc062c469e0.tar libvpx-4396441b8b6a97aae50694d49971cdc062c469e0.tar.gz libvpx-4396441b8b6a97aae50694d49971cdc062c469e0.tar.bz2 libvpx-4396441b8b6a97aae50694d49971cdc062c469e0.zip |
Merge "Superblock coding." into experimental
Diffstat (limited to 'vp8/encoder/encodemb.c')
-rw-r--r-- | vp8/encoder/encodemb.c | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/vp8/encoder/encodemb.c b/vp8/encoder/encodemb.c index 454244457..8c48b0d83 100644 --- a/vp8/encoder/encodemb.c +++ b/vp8/encoder/encodemb.c @@ -67,11 +67,10 @@ void vp8_subtract_4b_c(BLOCK *be, BLOCKD *bd, int pitch) { } } -void vp8_subtract_mbuv_c(short *diff, unsigned char *usrc, unsigned char *vsrc, unsigned char *pred, int stride) { +void vp8_subtract_mbuv_s_c(short *diff, unsigned char *usrc, unsigned char *vsrc, int src_stride, + unsigned char *upred, unsigned char *vpred, int dst_stride) { short *udiff = diff + 256; short *vdiff = diff + 320; - unsigned char *upred = pred + 256; - unsigned char *vpred = pred + 320; int r, c; @@ -81,8 +80,8 @@ void vp8_subtract_mbuv_c(short *diff, unsigned char *usrc, unsigned char *vsrc, } udiff += 8; - upred += 8; - usrc += stride; + upred += dst_stride; + usrc += src_stride; } for (r = 0; r < 8; r++) { @@ -91,12 +90,19 @@ void vp8_subtract_mbuv_c(short *diff, unsigned char *usrc, unsigned char *vsrc, } vdiff += 8; - vpred += 8; - vsrc += stride; + vpred += dst_stride; + vsrc += src_stride; } } -void vp8_subtract_mby_c(short *diff, unsigned char *src, unsigned char *pred, int stride) { +void vp8_subtract_mbuv_c(short *diff, unsigned char *usrc, unsigned char *vsrc, unsigned char *pred, int stride) { + unsigned char *upred = pred + 256; + unsigned char *vpred = pred + 320; + + vp8_subtract_mbuv_s_c(diff, usrc, vsrc, stride, upred, vpred, 8); +} + +void vp8_subtract_mby_s_c(short *diff, unsigned char *src, int src_stride, unsigned char *pred, int dst_stride) { int r, c; for (r = 0; r < 16; r++) { @@ -105,11 +111,16 @@ void vp8_subtract_mby_c(short *diff, unsigned char *src, unsigned char *pred, in } diff += 16; - pred += 16; - src += stride; + pred += dst_stride; + src += src_stride; } } +void vp8_subtract_mby_c(short *diff, unsigned char *src, unsigned char *pred, int stride) +{ + vp8_subtract_mby_s_c(diff, src, stride, pred, 16); +} + static void vp8_subtract_mb(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x) { BLOCK *b = &x->block[0]; |