| 175 | } |
| 176 | |
| 177 | static av_always_inline int wp_log2(int32_t val) |
| 178 | { |
| 179 | int bits; |
| 180 | |
| 181 | if(!val) |
| 182 | return 0; |
| 183 | if(val == 1) |
| 184 | return 256; |
| 185 | val += val >> 9; |
| 186 | bits = av_log2(val) + 1; |
| 187 | if(bits < 9) |
| 188 | return (bits << 8) + wp_log2_table[(val << (9 - bits)) & 0xFF]; |
| 189 | else |
| 190 | return (bits << 8) + wp_log2_table[(val >> (bits - 9)) & 0xFF]; |
| 191 | } |
| 192 | |
| 193 | #define LEVEL_DECAY(a) ((a + 0x80) >> 8) |
| 194 |