Mercurial > libavcodec.hg
comparison alpha/dsputil_alpha.c @ 856:3c6df37177dd libavcodec
* using DSPContext - so each codec could use its local (sub)set of CPU extension
* these are untested - users/developers please check
author | kabi |
---|---|
date | Mon, 11 Nov 2002 10:04:45 +0000 |
parents | 2f7da29ede37 |
children | 3dbbdc2f8bd3 |
comparison
equal
deleted
inserted
replaced
855:df26acd21c84 | 856:3c6df37177dd |
---|---|
279 { | 279 { |
280 put_pixels_axp_asm(block, pixels, line_size, h); | 280 put_pixels_axp_asm(block, pixels, line_size, h); |
281 put_pixels_axp_asm(block + 8, pixels + 8, line_size, h); | 281 put_pixels_axp_asm(block + 8, pixels + 8, line_size, h); |
282 } | 282 } |
283 | 283 |
284 void dsputil_init_alpha(void) | 284 void dsputil_init_alpha(DSPContext* c, unsigned mask) |
285 { | 285 { |
286 put_pixels_tab[0][0] = put_pixels16_axp_asm; | 286 c->put_pixels_tab[0][0] = put_pixels16_axp_asm; |
287 put_pixels_tab[0][1] = put_pixels16_x2_axp; | 287 c->put_pixels_tab[0][1] = put_pixels16_x2_axp; |
288 put_pixels_tab[0][2] = put_pixels16_y2_axp; | 288 c->put_pixels_tab[0][2] = put_pixels16_y2_axp; |
289 put_pixels_tab[0][3] = put_pixels16_xy2_axp; | 289 c->put_pixels_tab[0][3] = put_pixels16_xy2_axp; |
290 | 290 |
291 put_no_rnd_pixels_tab[0][0] = put_pixels16_axp_asm; | 291 c->put_no_rnd_pixels_tab[0][0] = put_pixels16_axp_asm; |
292 put_no_rnd_pixels_tab[0][1] = put_no_rnd_pixels16_x2_axp; | 292 c->put_no_rnd_pixels_tab[0][1] = put_no_rnd_pixels16_x2_axp; |
293 put_no_rnd_pixels_tab[0][2] = put_no_rnd_pixels16_y2_axp; | 293 c->put_no_rnd_pixels_tab[0][2] = put_no_rnd_pixels16_y2_axp; |
294 put_no_rnd_pixels_tab[0][3] = put_no_rnd_pixels16_xy2_axp; | 294 c->put_no_rnd_pixels_tab[0][3] = put_no_rnd_pixels16_xy2_axp; |
295 | 295 |
296 avg_pixels_tab[0][0] = avg_pixels16_axp; | 296 c->avg_pixels_tab[0][0] = avg_pixels16_axp; |
297 avg_pixels_tab[0][1] = avg_pixels16_x2_axp; | 297 c->avg_pixels_tab[0][1] = avg_pixels16_x2_axp; |
298 avg_pixels_tab[0][2] = avg_pixels16_y2_axp; | 298 c->avg_pixels_tab[0][2] = avg_pixels16_y2_axp; |
299 avg_pixels_tab[0][3] = avg_pixels16_xy2_axp; | 299 c->avg_pixels_tab[0][3] = avg_pixels16_xy2_axp; |
300 | 300 |
301 avg_no_rnd_pixels_tab[0][0] = avg_no_rnd_pixels16_axp; | 301 c->avg_no_rnd_pixels_tab[0][0] = avg_no_rnd_pixels16_axp; |
302 avg_no_rnd_pixels_tab[0][1] = avg_no_rnd_pixels16_x2_axp; | 302 c->avg_no_rnd_pixels_tab[0][1] = avg_no_rnd_pixels16_x2_axp; |
303 avg_no_rnd_pixels_tab[0][2] = avg_no_rnd_pixels16_y2_axp; | 303 c->avg_no_rnd_pixels_tab[0][2] = avg_no_rnd_pixels16_y2_axp; |
304 avg_no_rnd_pixels_tab[0][3] = avg_no_rnd_pixels16_xy2_axp; | 304 c->avg_no_rnd_pixels_tab[0][3] = avg_no_rnd_pixels16_xy2_axp; |
305 | 305 |
306 put_pixels_tab[1][0] = put_pixels_axp_asm; | 306 c->put_pixels_tab[1][0] = put_pixels_axp_asm; |
307 put_pixels_tab[1][1] = put_pixels_x2_axp; | 307 c->put_pixels_tab[1][1] = put_pixels_x2_axp; |
308 put_pixels_tab[1][2] = put_pixels_y2_axp; | 308 c->put_pixels_tab[1][2] = put_pixels_y2_axp; |
309 put_pixels_tab[1][3] = put_pixels_xy2_axp; | 309 c->put_pixels_tab[1][3] = put_pixels_xy2_axp; |
310 | 310 |
311 put_no_rnd_pixels_tab[1][0] = put_pixels_axp_asm; | 311 c->put_no_rnd_pixels_tab[1][0] = put_pixels_axp_asm; |
312 put_no_rnd_pixels_tab[1][1] = put_no_rnd_pixels_x2_axp; | 312 c->put_no_rnd_pixels_tab[1][1] = put_no_rnd_pixels_x2_axp; |
313 put_no_rnd_pixels_tab[1][2] = put_no_rnd_pixels_y2_axp; | 313 c->put_no_rnd_pixels_tab[1][2] = put_no_rnd_pixels_y2_axp; |
314 put_no_rnd_pixels_tab[1][3] = put_no_rnd_pixels_xy2_axp; | 314 c->put_no_rnd_pixels_tab[1][3] = put_no_rnd_pixels_xy2_axp; |
315 | 315 |
316 avg_pixels_tab[1][0] = avg_pixels_axp; | 316 c->avg_pixels_tab[1][0] = avg_pixels_axp; |
317 avg_pixels_tab[1][1] = avg_pixels_x2_axp; | 317 c->avg_pixels_tab[1][1] = avg_pixels_x2_axp; |
318 avg_pixels_tab[1][2] = avg_pixels_y2_axp; | 318 c->avg_pixels_tab[1][2] = avg_pixels_y2_axp; |
319 avg_pixels_tab[1][3] = avg_pixels_xy2_axp; | 319 c->avg_pixels_tab[1][3] = avg_pixels_xy2_axp; |
320 | 320 |
321 avg_no_rnd_pixels_tab[1][0] = avg_no_rnd_pixels_axp; | 321 c->avg_no_rnd_pixels_tab[1][0] = avg_no_rnd_pixels_axp; |
322 avg_no_rnd_pixels_tab[1][1] = avg_no_rnd_pixels_x2_axp; | 322 c->avg_no_rnd_pixels_tab[1][1] = avg_no_rnd_pixels_x2_axp; |
323 avg_no_rnd_pixels_tab[1][2] = avg_no_rnd_pixels_y2_axp; | 323 c->avg_no_rnd_pixels_tab[1][2] = avg_no_rnd_pixels_y2_axp; |
324 avg_no_rnd_pixels_tab[1][3] = avg_no_rnd_pixels_xy2_axp; | 324 c->avg_no_rnd_pixels_tab[1][3] = avg_no_rnd_pixels_xy2_axp; |
325 | 325 |
326 clear_blocks = clear_blocks_axp; | 326 c->clear_blocks = clear_blocks_axp; |
327 | 327 |
328 /* amask clears all bits that correspond to present features. */ | 328 /* amask clears all bits that correspond to present features. */ |
329 if (amask(AMASK_MVI) == 0) { | 329 if (amask(AMASK_MVI) == 0) { |
330 put_pixels_clamped = put_pixels_clamped_mvi_asm; | 330 c->put_pixels_clamped = put_pixels_clamped_mvi_asm; |
331 add_pixels_clamped = add_pixels_clamped_mvi_asm; | 331 c->add_pixels_clamped = add_pixels_clamped_mvi_asm; |
332 | 332 |
333 get_pixels = get_pixels_mvi; | 333 c->get_pixels = get_pixels_mvi; |
334 diff_pixels = diff_pixels_mvi; | 334 c->diff_pixels = diff_pixels_mvi; |
335 pix_abs8x8 = pix_abs8x8_mvi; | 335 c->pix_abs8x8 = pix_abs8x8_mvi; |
336 pix_abs16x16 = pix_abs16x16_mvi_asm; | 336 c->pix_abs16x16 = pix_abs16x16_mvi_asm; |
337 pix_abs16x16_x2 = pix_abs16x16_x2_mvi; | 337 c->pix_abs16x16_x2 = pix_abs16x16_x2_mvi; |
338 pix_abs16x16_y2 = pix_abs16x16_y2_mvi; | 338 c->pix_abs16x16_y2 = pix_abs16x16_y2_mvi; |
339 pix_abs16x16_xy2 = pix_abs16x16_xy2_mvi; | 339 c->pix_abs16x16_xy2 = pix_abs16x16_xy2_mvi; |
340 } | 340 } |
341 } | 341 } |