Skip to content
  • Timothy B. Terriberry's avatar
    Refactor the entropy coder. · a093f4df
    Timothy B. Terriberry authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
    This unifies the byte buffer, encoder, and decoder into a single
     struct.
    The common encoder and decoder functions (such as ec_tell()) can
     operate on either one, simplifying code which uses both.
    The precision argument to ec_tell() has been removed.
    It now comes in two precisions:
      ec_tell() gives 1 bit precision in two operations, and
      ec_tell_frac() gives 1/8th bit precision in... somewhat more.
    ec_{enc|dec}_bit_prob() were removed (they are no longer needed).
    Some of the byte buffer access functions were made static and
     removed from the cross-module API.
    All of the code in rangeenc.c and rangedec.c was merged into
     entenc.c and entdec.c, respectively, as we are no longer
     considering alternative backends.
    rangeenc.c and rangede.c have been removed entirely.
    
    This passes make check, after disabling the modes that we removed
     support for in cf5d3a8c.
    a093f4df