Mercurial > libavcodec.hg
comparison dca.c @ 11611:a207cc043de8 libavcodec
DCA: use FASTDIV in decode_blockcode()
| author | mru |
|---|---|
| date | Mon, 12 Apr 2010 16:05:10 +0000 |
| parents | bd4754d81e42 |
| children | bb17732c00ef |
comparison
equal
deleted
inserted
replaced
| 11610:475eab960878 | 11611:a207cc043de8 |
|---|---|
| 28 | 28 |
| 29 #include <math.h> | 29 #include <math.h> |
| 30 #include <stddef.h> | 30 #include <stddef.h> |
| 31 #include <stdio.h> | 31 #include <stdio.h> |
| 32 | 32 |
| 33 #include "libavutil/intmath.h" | |
| 33 #include "libavutil/intreadwrite.h" | 34 #include "libavutil/intreadwrite.h" |
| 34 #include "avcodec.h" | 35 #include "avcodec.h" |
| 35 #include "dsputil.h" | 36 #include "dsputil.h" |
| 36 #include "fft.h" | 37 #include "fft.h" |
| 37 #include "get_bits.h" | 38 #include "get_bits.h" |
| 905 { | 906 { |
| 906 int i; | 907 int i; |
| 907 int offset = (levels - 1) >> 1; | 908 int offset = (levels - 1) >> 1; |
| 908 | 909 |
| 909 for (i = 0; i < 4; i++) { | 910 for (i = 0; i < 4; i++) { |
| 910 values[i] = (code % levels) - offset; | 911 int div = FASTDIV(code, levels); |
| 911 code /= levels; | 912 values[i] = code - offset - div*levels; |
| 913 code = div; | |
| 912 } | 914 } |
| 913 | 915 |
| 914 if (code == 0) | 916 if (code == 0) |
| 915 return 0; | 917 return 0; |
| 916 else { | 918 else { |
