Mercurial > libavcodec.hg
changeset 2176:ab4ee35c4137 libavcodec
big endian fix (untested)
author | michael |
---|---|
date | Tue, 17 Aug 2004 09:57:56 +0000 |
parents | 24ed7893bf82 |
children | d46ca56136d5 |
files | huffyuv.c |
diffstat | 1 files changed, 22 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/huffyuv.c Mon Aug 16 22:51:18 2004 +0000 +++ b/huffyuv.c Tue Aug 17 09:57:56 2004 +0000 @@ -32,6 +32,16 @@ #define VLC_BITS 11 +#ifdef WORDS_BIGENDIAN +#define B 3 +#define G 2 +#define R 1 +#else +#define B 0 +#define G 1 +#define R 2 +#endif + typedef enum Predictor{ LEFT= 0, PLANE, @@ -157,13 +167,13 @@ b= *blue; for(i=0; i<w; i++){ - b+= src[4*i+0]; - g+= src[4*i+1]; - r+= src[4*i+2]; + b+= src[4*i+B]; + g+= src[4*i+G]; + r+= src[4*i+R]; - dst[4*i+0]= b; - dst[4*i+1]= g; - dst[4*i+2]= r; + dst[4*i+B]= b; + dst[4*i+G]= g; + dst[4*i+R]= r; } *red= r; @@ -619,9 +629,9 @@ } }else{ for(i=0; i<count; i++){ - s->temp[0][4*i+1]= get_vlc2(&s->gb, s->vlc[1].table, VLC_BITS, 3); - s->temp[0][4*i ]= get_vlc2(&s->gb, s->vlc[0].table, VLC_BITS, 3) + s->temp[0][4*i+1]; - s->temp[0][4*i+2]= get_vlc2(&s->gb, s->vlc[2].table, VLC_BITS, 3) + s->temp[0][4*i+1]; + s->temp[0][4*i+G]= get_vlc2(&s->gb, s->vlc[1].table, VLC_BITS, 3); + s->temp[0][4*i+B]= get_vlc2(&s->gb, s->vlc[0].table, VLC_BITS, 3) + s->temp[0][4*i+G]; + s->temp[0][4*i+R]= get_vlc2(&s->gb, s->vlc[2].table, VLC_BITS, 3) + s->temp[0][4*i+G]; get_vlc2(&s->gb, s->vlc[2].table, VLC_BITS, 3); //?! } } @@ -634,9 +644,9 @@ } }else{ for(i=0; i<count; i++){ - s->temp[0][4*i ]= get_vlc2(&s->gb, s->vlc[0].table, VLC_BITS, 3); - s->temp[0][4*i+1]= get_vlc2(&s->gb, s->vlc[1].table, VLC_BITS, 3); - s->temp[0][4*i+2]= get_vlc2(&s->gb, s->vlc[2].table, VLC_BITS, 3); + s->temp[0][4*i+B]= get_vlc2(&s->gb, s->vlc[0].table, VLC_BITS, 3); + s->temp[0][4*i+G]= get_vlc2(&s->gb, s->vlc[1].table, VLC_BITS, 3); + s->temp[0][4*i+R]= get_vlc2(&s->gb, s->vlc[2].table, VLC_BITS, 3); get_vlc2(&s->gb, s->vlc[2].table, VLC_BITS, 3); //?! } }