Commit 32fe3ac0 authored by Michael Niedermayer's avatar Michael Niedermayer

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
parent 002c01a6
...@@ -118,11 +118,11 @@ static int ir2_decode_plane_inter(Ir2Context *ctx, int width, int height, uint8_ ...@@ -118,11 +118,11 @@ static int ir2_decode_plane_inter(Ir2Context *ctx, int width, int height, uint8_
c -= 0x7F; c -= 0x7F;
out += c * 2; out += c * 2;
} else { /* add two deltas from table */ } 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); t= clip_uint8(t);
dst[out] = t; dst[out] = t;
out++; out++;
t = dst[out] + (table[(c * 2) + 1] - 128); t = dst[out] + (((table[(c * 2) + 1] - 128)*3) >> 2);
t= clip_uint8(t); t= clip_uint8(t);
dst[out] = t; dst[out] = t;
out++; out++;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment