aboutsummaryrefslogtreecommitdiffstats
path: root/libswscale/input.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-04-05 22:26:50 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-04-05 22:26:50 +0200
commit2c5a2958e961c25434a54c832a04139525f661da (patch)
tree7fba548115bae83f10089b8c9b5ff77ee9f14224 /libswscale/input.c
parent3e4b5e68c1589590736fce62c0e677c4632f965b (diff)
parent0becb07842b57ea225ddf0726de33b5f8e669297 (diff)
downloadffmpeg-2c5a2958e961c25434a54c832a04139525f661da.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: h264: Factorize declaration of mb_sizes array. vsrc_buffer: when no frame is available, return an error instead of segfaulting. configure: add dl to frei0r extralibs. dsputil x86: use SSE float instruction instead of SSE2 integer equivalent dsputil x86: remove deprecated parameter from scalarproduct_int16 prototype vp8dsp x86: perform rounding shift with a single instruction fate: add BMP tests. swscale: handle complete dimensions for monoblack/white. aacenc: Mark deinterleave_input_samples argument as const. vf_unsharp: Mark readonly variable as const. h264: fix 4:2:2 PCM-macroblocks decoding Conflicts: configure libavcodec/h264.h libavcodec/x86/dsputil_mmx.c libavfilter/vf_unsharp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libswscale/input.c')
-rw-r--r--libswscale/input.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libswscale/input.c b/libswscale/input.c
index 1d139a67ee..a3c00ced61 100644
--- a/libswscale/input.c
+++ b/libswscale/input.c
@@ -425,7 +425,8 @@ static void palToUV_c(uint16_t *dstU, int16_t *dstV,
static void monowhite2Y_c(int16_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
{
int i, j;
- for (i=0; i<width/8; i++) {
+ width = (width + 7) >> 3;
+ for (i = 0; i < width; i++) {
int d= ~src[i];
for(j=0; j<8; j++)
dst[8*i+j]= ((d>>(7-j))&1)*16383;
@@ -440,7 +441,8 @@ static void monowhite2Y_c(int16_t *dst, const uint8_t *src, const uint8_t *unuse
static void monoblack2Y_c(int16_t *dst, const uint8_t *src, const uint8_t *unused1, const uint8_t *unused2, int width, uint32_t *unused)
{
int i, j;
- for (i=0; i<width/8; i++) {
+ width = (width + 7) >> 3;
+ for (i = 0; i < width; i++) {
int d= src[i];
for(j=0; j<8; j++)
dst[8*i+j]= ((d>>(7-j))&1)*16383;