From 32fe3ac0f9003181435c6881f8cebd0551b975b1 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 9 Jul 2005 21:39:29 +0000 Subject: [PATCH] Here is the patch suggested by: unkaggregate, users sf net Main reason is: deltas in interframes need scaling by 3/4 before applying. Detailed description is at: http://sourceforge.net/tracker/index.php?func=detail&aid=1222099&group_id=16082&atid=116082 He also mentioned some samples at: http://www.nerdgrounds.com/indeo21_test/ patch posted to ffmpeg-devel by (Kostya: kostya shishkov, gmail com) Originally committed as revision 4425 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/indeo2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/indeo2.c b/libavcodec/indeo2.c index 25561ec2d7..5063117ca0 100644 --- a/libavcodec/indeo2.c +++ b/libavcodec/indeo2.c @@ -118,11 +118,11 @@ static int ir2_decode_plane_inter(Ir2Context *ctx, int width, int height, uint8_ c -= 0x7F; out += c * 2; } else { /* add two deltas from table */ - t = dst[out] + (table[c * 2] - 128); + t = dst[out] + (((table[c * 2] - 128)*3) >> 2); t= clip_uint8(t); dst[out] = t; out++; - t = dst[out] + (table[(c * 2) + 1] - 128); + t = dst[out] + (((table[(c * 2) + 1] - 128)*3) >> 2); t= clip_uint8(t); dst[out] = t; out++;