summaryrefslogtreecommitdiffstats
path: root/doc/snow.txt
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2007-09-05 02:04:12 +0000
committerMichael Niedermayer <michaelni@gmx.at>2007-09-05 02:04:12 +0000
commit6a1aa752f0d732fac4ec68f71c4c871b2f823bf6 (patch)
tree6f80dfbc5e65b5a8db2f7e094821f9712448e531 /doc/snow.txt
parentc78fc717d9881fa1050c52d04df199582c067b9f (diff)
downloadffmpeg-streaming-6a1aa752f0d732fac4ec68f71c4c871b2f823bf6.zip
ffmpeg-streaming-6a1aa752f0d732fac4ec68f71c4c871b2f823bf6.tar.gz
16bit IDWT implementation note
Originally committed as revision 10396 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'doc/snow.txt')
-rw-r--r--doc/snow.txt16
1 files changed, 16 insertions, 0 deletions
diff --git a/doc/snow.txt b/doc/snow.txt
index 33342d0..75aeaeb 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:
OpenPOWER on IntegriCloud