diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2007-09-05 02:04:12 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2007-09-05 02:04:12 +0000 |
commit | 6a1aa752f0d732fac4ec68f71c4c871b2f823bf6 (patch) | |
tree | 6f80dfbc5e65b5a8db2f7e094821f9712448e531 /doc | |
parent | c78fc717d9881fa1050c52d04df199582c067b9f (diff) | |
download | ffmpeg-6a1aa752f0d732fac4ec68f71c4c871b2f823bf6.tar.gz |
16bit IDWT implementation note
Originally committed as revision 10396 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'doc')
-rw-r--r-- | doc/snow.txt | 16 |
1 files changed, 16 insertions, 0 deletions
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: |