From 6a1aa752f0d732fac4ec68f71c4c871b2f823bf6 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 5 Sep 2007 02:04:12 +0000 Subject: [PATCH] 16bit IDWT implementation note Originally committed as revision 10396 to svn://svn.ffmpeg.org/ffmpeg/trunk --- doc/snow.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/doc/snow.txt b/doc/snow.txt index 33342d0056..75aeaeb448 100644 --- a/doc/snow.txt +++ b/doc/snow.txt @@ -328,6 +328,22 @@ following are exactly identical (3a)>>1 == a + (a>>1) (a + 4b + 8)>>4 == ((a>>2) + b + 2)>>2 +16bit implementation note: +The IDWT can be implemented with 16bits, but this requires some care to +prevent overflows, the following list, lists the minimum number of bits needed +for some terms +1. lifting step +A= s[i-1] + s[i+1] 16bit +3*A + 4 18bit +A + (A>>1) + 2 17bit + +3. lifting step +s[i-1] + s[i+1] 17bit + +4. lifiting step +3*(s[i-1] + s[i+1]) 17bit + + TODO: ===== Important: