swscale: fix mono input for width%8

Fixes ticket193

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/2/head
Michael Niedermayer 14 years ago
parent 799a87d749
commit 15b4f6449d
  1. 10
      libswscale/swscale.c

@ -1677,6 +1677,11 @@ static void monowhite2Y_c(int16_t *dst, const uint8_t *src, int width, uint32_t
for(j=0; j<8; j++) for(j=0; j<8; j++)
dst[8*i+j]= ((d>>(7-j))&1)*16383; dst[8*i+j]= ((d>>(7-j))&1)*16383;
} }
if(width&7){
int d= ~src[i];
for(j=0; j<(width&7); j++)
dst[8*i+j]= ((d>>(7-j))&1)*16383;
}
} }
static void monoblack2Y_c(int16_t *dst, const uint8_t *src, int width, uint32_t *unused) static void monoblack2Y_c(int16_t *dst, const uint8_t *src, int width, uint32_t *unused)
@ -1687,6 +1692,11 @@ static void monoblack2Y_c(int16_t *dst, const uint8_t *src, int width, uint32_t
for(j=0; j<8; j++) for(j=0; j<8; j++)
dst[8*i+j]= ((d>>(7-j))&1)*16383; dst[8*i+j]= ((d>>(7-j))&1)*16383;
} }
if(width&7){
int d= src[i];
for(j=0; j<(width&7); j++)
dst[8*i+j]= ((d>>(7-j))&1)*16383;
}
} }
//FIXME yuy2* can read up to 7 samples too much //FIXME yuy2* can read up to 7 samples too much

Loading…
Cancel
Save