Mercurial > libavcodec.hg
comparison alpha/dsputil_alpha.c @ 511:fa4425cf6b31 libavcodec
Assembly version of put_pixels. This is currently the function that
takes the most time, and it allows for more efficient unaligned access
and better control over memory latencies.
author | mellum |
---|---|
date | Mon, 01 Jul 2002 23:47:01 +0000 |
parents | cab79946302f |
children | fb670ca9f8eb |
comparison
equal
deleted
inserted
replaced
510:ccd90a9cc09b | 511:fa4425cf6b31 |
---|---|
20 #include "asm.h" | 20 #include "asm.h" |
21 #include "../dsputil.h" | 21 #include "../dsputil.h" |
22 | 22 |
23 void simple_idct_axp(DCTELEM *block); | 23 void simple_idct_axp(DCTELEM *block); |
24 | 24 |
25 void put_pixels_axp_asm(uint8_t *block, const uint8_t *pixels, | |
26 int line_size, int h); | |
25 void put_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels, | 27 void put_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels, |
26 int line_size); | 28 int line_size); |
27 void add_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels, | 29 void add_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels, |
28 int line_size); | 30 int line_size); |
29 | 31 |
230 | 232 |
231 #endif | 233 #endif |
232 | 234 |
233 void dsputil_init_alpha(void) | 235 void dsputil_init_alpha(void) |
234 { | 236 { |
235 put_pixels_tab[0] = put_pixels_axp; | 237 put_pixels_tab[0] = put_pixels_axp_asm; |
236 put_pixels_tab[1] = put_pixels_x2_axp; | 238 put_pixels_tab[1] = put_pixels_x2_axp; |
237 put_pixels_tab[2] = put_pixels_y2_axp; | 239 put_pixels_tab[2] = put_pixels_y2_axp; |
238 put_pixels_tab[3] = put_pixels_xy2_axp; | 240 put_pixels_tab[3] = put_pixels_xy2_axp; |
239 | 241 |
240 put_no_rnd_pixels_tab[0] = put_pixels_axp; | 242 put_no_rnd_pixels_tab[0] = put_pixels_axp_asm; |
241 put_no_rnd_pixels_tab[1] = put_no_rnd_pixels_x2_axp; | 243 put_no_rnd_pixels_tab[1] = put_no_rnd_pixels_x2_axp; |
242 put_no_rnd_pixels_tab[2] = put_no_rnd_pixels_y2_axp; | 244 put_no_rnd_pixels_tab[2] = put_no_rnd_pixels_y2_axp; |
243 put_no_rnd_pixels_tab[3] = put_no_rnd_pixels_xy2_axp; | 245 put_no_rnd_pixels_tab[3] = put_no_rnd_pixels_xy2_axp; |
244 | 246 |
245 /* amask clears all bits that correspond to present features. */ | 247 /* amask clears all bits that correspond to present features. */ |