25 lines
459 B
C++
25 lines
459 B
C++
#pragma once
|
|
#include "BitWriter.hpp"
|
|
#include <vector>
|
|
|
|
class Compressor
|
|
{
|
|
|
|
public:
|
|
Compressor() = default;
|
|
~Compressor() = default;
|
|
void compress(std::vector<uint8_t> &input);
|
|
BitWriter bitWriter;
|
|
|
|
private:
|
|
void two_bit_dif(int8_t num);
|
|
void tree_bit_dif(int8_t num);
|
|
void four_bit_dif(int8_t num);
|
|
void five_bit_dif(int8_t num);
|
|
void encode_diff(int8_t num);
|
|
void encode_abs(int16_t num);
|
|
void write_zero();
|
|
|
|
int numOfZeros = 0;
|
|
};
|