From 6a1aa752f0d732fac4ec68f71c4c871b2f823bf6 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michaelni@gmx.at>
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 33342d00561..75aeaeb4485 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:
-- 
GitLab