aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhil Barrett <philb@filmlight.ltd.uk>2012-02-28 19:26:11 +0100
committerKostya Shishkov <kostya.shishkov@gmail.com>2012-02-29 09:28:45 +0100
commitc7084182e85eaa437899df58fd1ae57426d3c7f7 (patch)
tree05801bb467d6329bdac7e667b129db71f970515e
parent235d6932865fcfa686e5614ca609acefa8fed5c1 (diff)
downloadffmpeg-c7084182e85eaa437899df58fd1ae57426d3c7f7.tar.gz
proresenc: correct edge emulation
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
-rw-r--r--libavcodec/proresenc.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/libavcodec/proresenc.c b/libavcodec/proresenc.c
index 552fa7c14a..c10f599f27 100644
--- a/libavcodec/proresenc.c
+++ b/libavcodec/proresenc.c
@@ -189,24 +189,24 @@ static void get_slice_data(ProresContext *ctx, const uint16_t *src,
elinesize = linesize;
} else {
int bw, bh, pix;
- const int estride = 16 / sizeof(*ctx->emu_buf);
esrc = ctx->emu_buf;
- elinesize = 16;
+ elinesize = 16 * sizeof(*ctx->emu_buf);
bw = FFMIN(w - x, mb_width);
bh = FFMIN(h - y, 16);
for (j = 0; j < bh; j++) {
- memcpy(ctx->emu_buf + j * estride, src + j * linesize,
+ memcpy(ctx->emu_buf + j * 16,
+ (const uint8_t*)src + j * linesize,
bw * sizeof(*src));
- pix = ctx->emu_buf[j * estride + bw - 1];
+ pix = ctx->emu_buf[j * 16 + bw - 1];
for (k = bw; k < mb_width; k++)
- ctx->emu_buf[j * estride + k] = pix;
+ ctx->emu_buf[j * 16 + k] = pix;
}
for (; j < 16; j++)
- memcpy(ctx->emu_buf + j * estride,
- ctx->emu_buf + (bh - 1) * estride,
+ memcpy(ctx->emu_buf + j * 16,
+ ctx->emu_buf + (bh - 1) * 16,
mb_width * sizeof(*ctx->emu_buf));
}
if (!is_chroma) {