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
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++;