comparison arm/dsputil_init_armv6.c @ 10372:e55d957ef1a2 libavcodec

ARM: ARMv6 optimised add_pixels_clamped()
author mru
date Tue, 06 Oct 2009 21:55:35 +0000
parents 838b42ccd65e
children 0f845e20982a
comparison
equal deleted inserted replaced
10371:e1cddc20418c 10372:e55d957ef1a2
23 23
24 void ff_simple_idct_armv6(DCTELEM *data); 24 void ff_simple_idct_armv6(DCTELEM *data);
25 void ff_simple_idct_put_armv6(uint8_t *dest, int line_size, DCTELEM *data); 25 void ff_simple_idct_put_armv6(uint8_t *dest, int line_size, DCTELEM *data);
26 void ff_simple_idct_add_armv6(uint8_t *dest, int line_size, DCTELEM *data); 26 void ff_simple_idct_add_armv6(uint8_t *dest, int line_size, DCTELEM *data);
27 27
28 void ff_add_pixels_clamped_armv6(const DCTELEM *block,
29 uint8_t *restrict pixels,
30 int line_size);
31
28 void av_cold ff_dsputil_init_armv6(DSPContext* c, AVCodecContext *avctx) 32 void av_cold ff_dsputil_init_armv6(DSPContext* c, AVCodecContext *avctx)
29 { 33 {
30 if (!avctx->lowres && (avctx->idct_algo == FF_IDCT_AUTO || 34 if (!avctx->lowres && (avctx->idct_algo == FF_IDCT_AUTO ||
31 avctx->idct_algo == FF_IDCT_SIMPLEARMV6)) { 35 avctx->idct_algo == FF_IDCT_SIMPLEARMV6)) {
32 c->idct_put = ff_simple_idct_put_armv6; 36 c->idct_put = ff_simple_idct_put_armv6;
33 c->idct_add = ff_simple_idct_add_armv6; 37 c->idct_add = ff_simple_idct_add_armv6;
34 c->idct = ff_simple_idct_armv6; 38 c->idct = ff_simple_idct_armv6;
35 c->idct_permutation_type = FF_LIBMPEG2_IDCT_PERM; 39 c->idct_permutation_type = FF_LIBMPEG2_IDCT_PERM;
36 } 40 }
41
42 c->add_pixels_clamped = ff_add_pixels_clamped_armv6;
37 } 43 }