| 56 | const U32 DM__MaxCount = 1 << DM__LengthShift; // for adaptive models |
| 57 | |
| 58 | class ArithmeticModel |
| 59 | { |
| 60 | public: |
| 61 | ArithmeticModel(U32 symbols, BOOL compress); |
| 62 | ~ArithmeticModel(); |
| 63 | |
| 64 | I32 init(U32* table=0); |
| 65 | |
| 66 | private: |
| 67 | void update(); |
| 68 | U32 * distribution, * symbol_count, * decoder_table; |
| 69 | U32 total_count, update_cycle, symbols_until_update; |
| 70 | U32 symbols, last_symbol, table_size, table_shift; |
| 71 | BOOL compress; |
| 72 | friend class ArithmeticEncoder; |
| 73 | friend class ArithmeticDecoder; |
| 74 | }; |
| 75 | |
| 76 | class ArithmeticBitModel |
| 77 | { |
nothing calls this directly
no outgoing calls
no test coverage detected