[daala] Why not upgrading Daala range coding with much faster rANS or tANS?
Timothy B. Terriberry
tterribe at xiph.org
Sat Aug 15 03:57:53 PDT 2015
Jarek Duda wrote:
> Indeed I don't see multiplication by frequencies here.
> If I properly understood,
> OD_MAXI, OD_MINI is maximum, minimum of two variables
> OD_SUBSATU(a,b) = a - min(a,b)
> OD_ASSERT is only information for compiler
> dif is the start of the range (?)
This is documented in entdec.h: "The difference between the coded value
and the low end of the current range."
> r is its length
> ft gives the proportions to focus inside the range
ft is everywhere the total of the frequency counts (this is documented
in a few places where it is passed directly).
> I have to admit that I don't see how it finds the new range, lines 280 -
> 291 seem to should do it (?), what is below seem to be renormalization
> related (?)
The new range is computed on line 316: r = v - u;
u and v are evaluations of the partition function on fl and fh
respectively (the low and high cumulative frequency counts of the
decoded symbol). Renormalization happens in od_ec_dec_normalize().
> It seems you have a general purpose entropy coder, which could be also put in different applications, so maybe it's worth benchmarking alone?
Sure, I encourage other people to play around with it. Just saying it's
not the test I'd use to decide if something should be included in Daala.
More information about the daala