[SCM] libav/experimental: 16bit IDWT implementation note

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:06:44 UTC 2013


The following commit has been merged in the experimental branch:
commit 6a1aa752f0d732fac4ec68f71c4c871b2f823bf6
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Wed Sep 5 02:04:12 2007 +0000

    16bit IDWT implementation note
    
    Originally committed as revision 10396 to svn://svn.ffmpeg.org/ffmpeg/trunk

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:

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list