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 { |