From 00bf66785f7d10c37c1677058caec218a7c8fc08 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 29 Jan 2013 17:19:08 +0100 Subject: [PATCH] fraps: fix off-by one bug for version 1. CC:libav-stable@libav.org (cherry picked from commit 2cd4068071b9a8908823a3107f97e938211045ce) Conflicts: cmdutils.c libavcodec/fraps.c --- cmdutils.c | 2 +- libavcodec/fraps.c | 2 +- tests/ref/fate/fraps-v1 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmdutils.c b/cmdutils.c index dc7e7b2e65..45418afd91 100644 --- a/cmdutils.c +++ b/cmdutils.c @@ -1566,7 +1566,7 @@ static int alloc_buffer(FrameBuffer **pool, AVCodecContext *s, FrameBuffer **pbu /* XXX this shouldn't be needed, but some tests break without this line * those decoders are buggy and need to be fixed. * the following tests fail: - * cdgraphics, ansi, aasc, fraps-v1, qtrle-1bit + * cdgraphics, ansi, aasc, qtrle-1bit */ memset(buf->base[0], 128, ret); diff --git a/libavcodec/fraps.c b/libavcodec/fraps.c index ba2f32af2a..6ac0c61908 100644 --- a/libavcodec/fraps.c +++ b/libavcodec/fraps.c @@ -235,7 +235,7 @@ static int decode_frame(AVCodecContext *avctx, if (f->pict_type == AV_PICTURE_TYPE_I) { for(y=0; yheight; y++) - memcpy(&f->data[0][ (avctx->height-y)*f->linesize[0] ], + memcpy(&f->data[0][ (avctx->height - y -1) * f->linesize[0]], &buf[y*avctx->width*3], 3*avctx->width); } diff --git a/tests/ref/fate/fraps-v1 b/tests/ref/fate/fraps-v1 index 64392c33b4..29c7e37df3 100644 --- a/tests/ref/fate/fraps-v1 +++ b/tests/ref/fate/fraps-v1 @@ -1,2 +1,2 @@ #tb 0: 1/25 -0, 0, 0, 1, 230400, 0x6bc891ff +0, 0, 0, 1, 230400, 0x23c29d17