comparison sparc/dsputil_vis.c @ 2136:fd1665b9093c libavcodec

* patch from James Morrison (getting rid of broken code)
author romansh
date Fri, 23 Jul 2004 20:10:44 +0000
parents e1fc7c598558
children 8616fd2dd2ef
comparison
equal deleted inserted replaced
2135:9a481659d7cb 2136:fd1665b9093c
3984 } while (--height); 3984 } while (--height);
3985 } 3985 }
3986 3986
3987 /* End of no rounding code */ 3987 /* End of no rounding code */
3988 3988
3989 void get_pixels_vis(uint8_t *restrict dest, const uint8_t *_ref, int stride)
3990 {
3991 int i;
3992 uint8_t *ref = (uint8_t*)_ref;
3993 ref = vis_alignaddr(ref);
3994
3995 for (i = 0; i < 8; i++)
3996 {
3997 vis_ld64(ref[0], TMP0);
3998 vis_st64(TMP0, dest[0]);
3999 dest += 8;
4000 ref += stride;
4001 }
4002 }
4003
4004 static sigjmp_buf jmpbuf; 3989 static sigjmp_buf jmpbuf;
4005 static volatile sig_atomic_t canjump = 0; 3990 static volatile sig_atomic_t canjump = 0;
4006 3991
4007 static void sigill_handler (int sig) 3992 static void sigill_handler (int sig)
4008 { 3993 {
4059 { 4044 {
4060 /* VIS specific optimisations */ 4045 /* VIS specific optimisations */
4061 int accel = vis_level (); 4046 int accel = vis_level ();
4062 4047
4063 if (accel & ACCEL_SPARC_VIS) { 4048 if (accel & ACCEL_SPARC_VIS) {
4064 c->get_pixels = get_pixels_vis;
4065 c->put_pixels_tab[0][0] = MC_put_o_16_vis; 4049 c->put_pixels_tab[0][0] = MC_put_o_16_vis;
4066 c->put_pixels_tab[0][1] = MC_put_x_16_vis; 4050 c->put_pixels_tab[0][1] = MC_put_x_16_vis;
4067 c->put_pixels_tab[0][2] = MC_put_y_16_vis; 4051 c->put_pixels_tab[0][2] = MC_put_y_16_vis;
4068 c->put_pixels_tab[0][3] = MC_put_xy_16_vis; 4052 c->put_pixels_tab[0][3] = MC_put_xy_16_vis;
4069 4053