diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2005-07-10 01:39:29 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2005-07-10 01:39:29 +0400 |
commit | 32fe3ac0f9003181435c6881f8cebd0551b975b1 (patch) | |
tree | 5abedcf477d1bd5ae784c6747a226c57bd5767f8 /libavcodec/indeo2.c | |
parent | 002c01a6f3e718dad7faff2c088bed215e17bff5 (diff) |
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
Diffstat (limited to 'libavcodec/indeo2.c')
-rw-r--r-- | libavcodec/indeo2.c | 4 |
1 files 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++; |