41 std::vector<int> col_polys,
48 void generic_work(
void* inBuffer,
void* outbuffer);
49 int get_output_size();
52 std::vector<int> d_rowpolys;
53 std::vector<int> d_colpolys;
63 std::vector<std::vector<int>> rowOutputs;
64 std::vector<std::vector<int>> rowNextStates;
66 std::vector<std::vector<int>> colOutputs;
67 std::vector<std::vector<int>> colNextStates;
69 std::vector<int> rowTail;
70 std::vector<int> colTail;
83 std::vector<unsigned char> inputWithPad;
85 std::vector<std::vector<uint8_t>> rowEncodedBits;
86 std::vector<unsigned char> rowToEncode;
87 size_t numRowsToEncode;
88 std::vector<uint8_t> rowEncoded_block;
90 std::vector<std::vector<uint8_t>> colEncodedBits;
91 std::vector<unsigned char> colToEncode;
93 std::vector<uint8_t> colEncoded_block;
95 void block_conv_encode(std::vector<uint8_t>& output,
96 std::vector<uint8_t> input,
97 std::vector<std::vector<int>> transOutputVec,
98 std::vector<std::vector<int>> transNextStateVec,
99 std::vector<int> tail,
108 std::vector<int> col_poly,
113 double rate() {
return (1.0 * get_input_size() / get_output_size()); }
static generic_encoder::sptr make(std::vector< int > row_poly, std::vector< int > col_poly, int krow, int kcol, int bval, int qval)