Mercurial > libavcodec.hg
comparison bfin/dsputil_bfin.c @ 5690:930587f0259d libavcodec
blackfin vsad primitives
author | mhoffman |
---|---|
date | Mon, 17 Sep 2007 13:23:16 +0000 |
parents | 6c385356e61f |
children | 73ec16dbcbc1 |
comparison
equal
deleted
inserted
replaced
5689:84bc9138be8f | 5690:930587f0259d |
---|---|
159 static int bfin_pix_abs16 (void *c, uint8_t *blk1, uint8_t *blk2, int line_size, int h) | 159 static int bfin_pix_abs16 (void *c, uint8_t *blk1, uint8_t *blk2, int line_size, int h) |
160 { | 160 { |
161 return ff_bfin_z_sad16x16 (blk1,blk2,line_size,line_size,h); | 161 return ff_bfin_z_sad16x16 (blk1,blk2,line_size,line_size,h); |
162 } | 162 } |
163 | 163 |
164 static int bfin_vsad_intra16 (void *c, uint8_t *blk1, uint8_t *dummy, int stride, int h) { | |
165 return ff_bfin_z_sad16x16 (blk1,blk1+stride,stride<<1,stride<<1,h); | |
166 } | |
167 | |
168 static int bfin_vsad (void *c, uint8_t *blk1, uint8_t *blk2, int stride, int h) { | |
169 return ff_bfin_z_sad16x16 (blk1,blk1+stride,stride<<1,stride<<1,h) | |
170 + ff_bfin_z_sad16x16 (blk2,blk2+stride,stride<<1,stride<<1,h); | |
171 } | |
172 | |
164 static uint8_t vtmp_blk[256] __attribute__((l1_data_B)); | 173 static uint8_t vtmp_blk[256] __attribute__((l1_data_B)); |
165 | 174 |
166 static int bfin_pix_abs16_x2 (void *c, uint8_t *blk1, uint8_t *blk2, int line_size, int h) | 175 static int bfin_pix_abs16_x2 (void *c, uint8_t *blk1, uint8_t *blk2, int line_size, int h) |
167 { | 176 { |
168 ff_bfin_put_pixels16uc (vtmp_blk, blk2, blk2+1, 16, line_size, h); | 177 ff_bfin_put_pixels16uc (vtmp_blk, blk2, blk2+1, 16, line_size, h); |
227 c->pix_sum = ff_bfin_pix_sum; | 236 c->pix_sum = ff_bfin_pix_sum; |
228 c->pix_norm1 = ff_bfin_pix_norm1; | 237 c->pix_norm1 = ff_bfin_pix_norm1; |
229 | 238 |
230 c->sad[0] = bfin_pix_abs16; | 239 c->sad[0] = bfin_pix_abs16; |
231 c->sad[1] = bfin_pix_abs8; | 240 c->sad[1] = bfin_pix_abs8; |
241 | |
242 c->vsad[0] = bfin_vsad; | |
243 c->vsad[4] = bfin_vsad_intra16; | |
232 | 244 |
233 /* TODO [0] 16 [1] 8 */ | 245 /* TODO [0] 16 [1] 8 */ |
234 c->pix_abs[0][0] = bfin_pix_abs16; | 246 c->pix_abs[0][0] = bfin_pix_abs16; |
235 c->pix_abs[0][1] = bfin_pix_abs16_x2; | 247 c->pix_abs[0][1] = bfin_pix_abs16_x2; |
236 c->pix_abs[0][2] = bfin_pix_abs16_y2; | 248 c->pix_abs[0][2] = bfin_pix_abs16_y2; |