Mercurial > libavcodec.hg
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 |