summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoren Merritt <lorenm@u.washington.edu>2009-09-21 03:01:57 +0000
committerLoren Merritt <lorenm@u.washington.edu>2009-09-21 03:01:57 +0000
commit1a918c08e453a106c6737bca96757e26aade2964 (patch)
tree83c2726cff0d00cc47de7574dddad2ce8b992266
parentd650574e6834ffa881324699341487f21c7cab61 (diff)
extend ff_inverse[], and fix its documentation
Originally committed as revision 19942 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/dsputil.c6
-rw-r--r--libavutil/internal.h2
2 files changed, 5 insertions, 3 deletions
diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c
index e1f2eda76a..773d47f80b 100644
--- a/libavcodec/dsputil.c
+++ b/libavcodec/dsputil.c
@@ -110,8 +110,9 @@ const uint8_t ff_alternate_vertical_scan[64] = {
38, 46, 54, 62, 39, 47, 55, 63,
};
-/* a*inverse[b]>>32 == a/b for all 0<=a<=65536 && 2<=b<=255 */
-const uint32_t ff_inverse[256]={
+/* a*inverse[b]>>32 == a/b for all 0<=a<=16909558 && 2<=b<=256
+ * for a>16909558, is an overestimate by less than 1 part in 1<<24 */
+const uint32_t ff_inverse[257]={
0, 4294967295U,2147483648U,1431655766, 1073741824, 858993460, 715827883, 613566757,
536870912, 477218589, 429496730, 390451573, 357913942, 330382100, 306783379, 286331154,
268435456, 252645136, 238609295, 226050911, 214748365, 204522253, 195225787, 186737709,
@@ -144,6 +145,7 @@ const uint32_t ff_inverse[256]={
18512791, 18433337, 18354562, 18276457, 18199014, 18122225, 18046082, 17970575,
17895698, 17821442, 17747799, 17674763, 17602325, 17530479, 17459217, 17388532,
17318417, 17248865, 17179870, 17111424, 17043522, 16976156, 16909321, 16843010,
+ 16777216
};
/* Input permutation for the simple_idct_mmx */
diff --git a/libavutil/internal.h b/libavutil/internal.h
index a129bfb35f..141186bb5f 100644
--- a/libavutil/internal.h
+++ b/libavutil/internal.h
@@ -124,7 +124,7 @@
/* math */
-extern const uint32_t ff_inverse[256];
+extern const uint32_t ff_inverse[257];
#if ARCH_X86
# define FASTDIV(a,b) \