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;
};