-static inline void put_rac(RangeCoder *c, uint8_t * const state, int bit){
- int range1= (c->range * (*state)) >> 8;
+static inline int get_rac_count(RangeCoder *c)
+{
+ int x = c->bytestream - c->bytestream_start + c->outstanding_count;
+ if (c->outstanding_byte >= 0)
+ x++;
+ return 8 * x - av_log2(c->range);
+}
+
+static inline void put_rac(RangeCoder *c, uint8_t *const state, int bit)
+{
+ int range1 = (c->range * (*state)) >> 8;