Mercurial > libavcodec.hg
changeset 5690:930587f0259d libavcodec
blackfin vsad primitives
author | mhoffman |
---|---|
date | Mon, 17 Sep 2007 13:23:16 +0000 |
parents | 84bc9138be8f |
children | fc98cdbe29b8 |
files | bfin/dsputil_bfin.c |
diffstat | 1 files changed, 12 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/bfin/dsputil_bfin.c Mon Sep 17 13:17:50 2007 +0000 +++ b/bfin/dsputil_bfin.c Mon Sep 17 13:23:16 2007 +0000 @@ -161,6 +161,15 @@ return ff_bfin_z_sad16x16 (blk1,blk2,line_size,line_size,h); } +static int bfin_vsad_intra16 (void *c, uint8_t *blk1, uint8_t *dummy, int stride, int h) { + return ff_bfin_z_sad16x16 (blk1,blk1+stride,stride<<1,stride<<1,h); +} + +static int bfin_vsad (void *c, uint8_t *blk1, uint8_t *blk2, int stride, int h) { + return ff_bfin_z_sad16x16 (blk1,blk1+stride,stride<<1,stride<<1,h) + + ff_bfin_z_sad16x16 (blk2,blk2+stride,stride<<1,stride<<1,h); +} + static uint8_t vtmp_blk[256] __attribute__((l1_data_B)); static int bfin_pix_abs16_x2 (void *c, uint8_t *blk1, uint8_t *blk2, int line_size, int h) @@ -230,6 +239,9 @@ c->sad[0] = bfin_pix_abs16; c->sad[1] = bfin_pix_abs8; + c->vsad[0] = bfin_vsad; + c->vsad[4] = bfin_vsad_intra16; + /* TODO [0] 16 [1] 8 */ c->pix_abs[0][0] = bfin_pix_abs16; c->pix_abs[0][1] = bfin_pix_abs16_x2;