Browse Source

avcodec/vp9dsp: fix overwrite by 1 in vert_left pred.

The memset following the memcpy was silencing the problem since
re-writing that same byte.

Fixes CID1108597, CID1108598, (16x16)
      CID1108599, CID1108600, (8x8)
      CID1108601, CID1108602  (32x32)

Signed-off-by: Clément Bœsch <u@pkh.me>
tags/n2.1
Ronald S. Bultje Clément Bœsch 12 years ago
parent
commit
fed483f188
1 changed files with 2 additions and 2 deletions
  1. +2
    -2
      libavcodec/vp9dsp.c

+ 2
- 2
libavcodec/vp9dsp.c View File

@@ -772,9 +772,9 @@ static void vert_left_##size##x##size##_c(uint8_t *dst, ptrdiff_t stride, \
vo[size - 2] = (top[size - 2] + top[size - 1] * 3 + 2) >> 2; \
\
for (j = 0; j < size / 2; j++) { \
memcpy(dst + j*2 * stride, ve + j, size - j); \
memcpy(dst + j*2 * stride, ve + j, size - j - 1); \
memset(dst + j*2 * stride + size - j - 1, top[size - 1], j + 1); \
memcpy(dst + (j*2 + 1) * stride, vo + j, size - j); \
memcpy(dst + (j*2 + 1) * stride, vo + j, size - j - 1); \
memset(dst + (j*2 + 1) * stride + size - j - 1, top[size - 1], j + 1); \
} \
}


Loading…
Cancel
Save