comparison ac3enc.c @ 87:6f0e167504e8 libavcodec

fixed symetric quantization (better quality!)
author glantau
date Sun, 16 Sep 2001 21:52:58 +0000
parents bc27d8c5dc2e
children 5fc0c3af3fe4
comparison
equal deleted inserted replaced
86:5e0eb8a361b7 87:6f0e167504e8
840 static inline int sym_quant(int c, int e, int levels) 840 static inline int sym_quant(int c, int e, int levels)
841 { 841 {
842 int v; 842 int v;
843 843
844 if (c >= 0) { 844 if (c >= 0) {
845 v = (levels * (c << e)) >> 25; 845 v = (levels * (c << e)) >> 24;
846 v = (v + 1) >> 1;
846 v = (levels >> 1) + v; 847 v = (levels >> 1) + v;
847 } else { 848 } else {
848 v = (levels * ((-c) << e)) >> 25; 849 v = (levels * ((-c) << e)) >> 24;
850 v = (v + 1) >> 1;
849 v = (levels >> 1) - v; 851 v = (levels >> 1) - v;
850 } 852 }
851 assert (v >= 0 && v < levels); 853 assert (v >= 0 && v < levels);
852 return v; 854 return v;
853 } 855 }