6 dequantise (int q
, int quant_factor
, int quant_offset
)
10 return ((q
* quant_factor
- quant_offset
+ 2)>>2);
12 return (q
* quant_factor
+ quant_offset
+ 2)>>2;
17 quantise (int value
, int quant_factor
, int quant_offset
)
21 if (value
== 0) return 0;
23 x
= ((-value
)<<2) - quant_offset
+ (quant_factor
>>1);
24 //x = (x*(uint64_t)inv_quant_factor)>>32;
28 x
= (value
<<2) - quant_offset
+ (quant_factor
>>1);
29 //x = (x*(uint64_t)inv_quant_factor)>>32;
37 main (int argc
, char *argv
[])
40 int quant_factor
= 128;
41 int quant_offset
= 48;
44 for(i
=-1000;i
<1000;i
++){
45 q
= quantise(i
,quant_factor
,quant_offset
);
46 printf("%d %d\n", i
, dequantise(q
,quant_factor
,quant_offset
));