comparison arm/dsputil_init_armv6.c @ 11112:ffe1ea72ea29 libavcodec

ARMv6 optimised pix_abs8
author mru
date Tue, 09 Feb 2010 16:13:34 +0000
parents 95b1fd6057d3
children b529129c4563
comparison
equal deleted inserted replaced
11111:95b1fd6057d3 11112:ffe1ea72ea29
55 int ff_pix_abs16_x2_armv6(void *s, uint8_t *blk1, uint8_t *blk2, 55 int ff_pix_abs16_x2_armv6(void *s, uint8_t *blk1, uint8_t *blk2,
56 int line_size, int h); 56 int line_size, int h);
57 int ff_pix_abs16_y2_armv6(void *s, uint8_t *blk1, uint8_t *blk2, 57 int ff_pix_abs16_y2_armv6(void *s, uint8_t *blk1, uint8_t *blk2,
58 int line_size, int h); 58 int line_size, int h);
59 59
60 int ff_pix_abs8_armv6(void *s, uint8_t *blk1, uint8_t *blk2,
61 int line_size, int h);
62
60 void av_cold ff_dsputil_init_armv6(DSPContext* c, AVCodecContext *avctx) 63 void av_cold ff_dsputil_init_armv6(DSPContext* c, AVCodecContext *avctx)
61 { 64 {
62 if (!avctx->lowres && (avctx->idct_algo == FF_IDCT_AUTO || 65 if (!avctx->lowres && (avctx->idct_algo == FF_IDCT_AUTO ||
63 avctx->idct_algo == FF_IDCT_SIMPLEARMV6)) { 66 avctx->idct_algo == FF_IDCT_SIMPLEARMV6)) {
64 c->idct_put = ff_simple_idct_put_armv6; 67 c->idct_put = ff_simple_idct_put_armv6;
92 95
93 c->pix_abs[0][0] = ff_pix_abs16_armv6; 96 c->pix_abs[0][0] = ff_pix_abs16_armv6;
94 c->pix_abs[0][1] = ff_pix_abs16_x2_armv6; 97 c->pix_abs[0][1] = ff_pix_abs16_x2_armv6;
95 c->pix_abs[0][2] = ff_pix_abs16_y2_armv6; 98 c->pix_abs[0][2] = ff_pix_abs16_y2_armv6;
96 99
100 c->pix_abs[1][0] = ff_pix_abs8_armv6;
101
97 c->sad[0] = ff_pix_abs16_armv6; 102 c->sad[0] = ff_pix_abs16_armv6;
103 c->sad[1] = ff_pix_abs8_armv6;
98 } 104 }