comparison dsputil.c @ 10207:658b2ca35e22 libavcodec

extend ff_inverse[], and fix its documentation
author lorenm
date Mon, 21 Sep 2009 03:01:57 +0000
parents 7775f6627612
children 87ae4a167138
comparison
equal deleted inserted replaced
10206:87ab0f0e0baf 10207:658b2ca35e22
108 21, 29, 36, 44, 52, 60, 37, 45, 108 21, 29, 36, 44, 52, 60, 37, 45,
109 53, 61, 22, 30, 7, 15, 23, 31, 109 53, 61, 22, 30, 7, 15, 23, 31,
110 38, 46, 54, 62, 39, 47, 55, 63, 110 38, 46, 54, 62, 39, 47, 55, 63,
111 }; 111 };
112 112
113 /* a*inverse[b]>>32 == a/b for all 0<=a<=65536 && 2<=b<=255 */ 113 /* a*inverse[b]>>32 == a/b for all 0<=a<=16909558 && 2<=b<=256
114 const uint32_t ff_inverse[256]={ 114 * for a>16909558, is an overestimate by less than 1 part in 1<<24 */
115 const uint32_t ff_inverse[257]={
115 0, 4294967295U,2147483648U,1431655766, 1073741824, 858993460, 715827883, 613566757, 116 0, 4294967295U,2147483648U,1431655766, 1073741824, 858993460, 715827883, 613566757,
116 536870912, 477218589, 429496730, 390451573, 357913942, 330382100, 306783379, 286331154, 117 536870912, 477218589, 429496730, 390451573, 357913942, 330382100, 306783379, 286331154,
117 268435456, 252645136, 238609295, 226050911, 214748365, 204522253, 195225787, 186737709, 118 268435456, 252645136, 238609295, 226050911, 214748365, 204522253, 195225787, 186737709,
118 178956971, 171798692, 165191050, 159072863, 153391690, 148102321, 143165577, 138547333, 119 178956971, 171798692, 165191050, 159072863, 153391690, 148102321, 143165577, 138547333,
119 134217728, 130150525, 126322568, 122713352, 119304648, 116080198, 113025456, 110127367, 120 134217728, 130150525, 126322568, 122713352, 119304648, 116080198, 113025456, 110127367,
142 19884108, 19792477, 19701685, 19611723, 19522579, 19434242, 19346700, 19259944, 143 19884108, 19792477, 19701685, 19611723, 19522579, 19434242, 19346700, 19259944,
143 19173962, 19088744, 19004281, 18920561, 18837576, 18755316, 18673771, 18592933, 144 19173962, 19088744, 19004281, 18920561, 18837576, 18755316, 18673771, 18592933,
144 18512791, 18433337, 18354562, 18276457, 18199014, 18122225, 18046082, 17970575, 145 18512791, 18433337, 18354562, 18276457, 18199014, 18122225, 18046082, 17970575,
145 17895698, 17821442, 17747799, 17674763, 17602325, 17530479, 17459217, 17388532, 146 17895698, 17821442, 17747799, 17674763, 17602325, 17530479, 17459217, 17388532,
146 17318417, 17248865, 17179870, 17111424, 17043522, 16976156, 16909321, 16843010, 147 17318417, 17248865, 17179870, 17111424, 17043522, 16976156, 16909321, 16843010,
148 16777216
147 }; 149 };
148 150
149 /* Input permutation for the simple_idct_mmx */ 151 /* Input permutation for the simple_idct_mmx */
150 static const uint8_t simple_mmx_permutation[64]={ 152 static const uint8_t simple_mmx_permutation[64]={
151 0x00, 0x08, 0x04, 0x09, 0x01, 0x0C, 0x05, 0x0D, 153 0x00, 0x08, 0x04, 0x09, 0x01, 0x0C, 0x05, 0x0D,