XAccPIKEncoderKernel1Top

#include "pikEnc/XAccPIKEncoderKernel1.hpp"
void kernel1Top(ap_uint<32> config[MAX_NUM_CONFIG],
                   ap_uint<AXI_WIDTH> rbuf[BUF_DEPTH / 2],
                   ap_uint<32> axi_out[AXI_OUT],
                   ap_uint<32> axi_cmap[AXI_CMAP],
                   ap_uint<32> axi_qf[AXI_QF]);

Parameters:

config control signals, such as image size information, stream length and offsets of each colors.
rbuf the input RGB data, alligned by different colors.
axi_out the output of XYB data generated by color transformation of RGB.
axi_cmap color correlation map, for adjust color in AC quantization.
axi_qf information of the quant-field, for choosing correct quant-table in AC quantization.

XAccPIKEncoderKernel2Top

#include "pikEnc/XAccPIKEncoderKernel2.hpp"
void kernel2Top(ap_uint<AXI_SZ> config[MAX_NUM_CONFIG],

                   ap_uint<2 * AXI_SZ> src[AXI_OUT / 2],
                   ap_uint<AXI_SZ> quant_field_in[AXI_QF],
                   ap_uint<AXI_SZ> cmap[AXI_CMAP],

                   ap_uint<AXI_SZ> ac[MAX_NUM_AC],
                   ap_uint<AXI_SZ> dc[MAX_NUM_DC],
                   ap_uint<AXI_SZ> quant_field_out[AXI_QF],
                   ap_uint<AXI_SZ> ac_strategy[MAX_NUM_BLOCK88],
                   ap_uint<AXI_SZ> block[MAX_NUM_BLOCK88],
                   ap_uint<AXI_SZ> order[MAX_NUM_ORDER]);

Parameters:

config control signals, such as image size information, stream length and offsets of each colors.
src the input XYB data, alligned by different colors and stored in 32x32 of rectangular block order.
quant_field_in information of the floating point quant-field, for choosing correct quant-table in AC quantization.
cmap color correlation map, for adjust color in AC quantization.
ac output quantized AC stream.
dc output quantized DC stream.
quant_field_out output information of quantized quant-field, it indicate the correct quant-table for decoder.
ac_startegy output AC strategy is the information about DCT size of each 8x8 block in image.
block output block show the beginning position of each DCT computation.
order output information of order is used for zigzag encoding in kernel3.

XAccPIKEncoderKernel3Top

#include "pikEnc/XAccPIKEncoderKernel3.hpp"
void kernel3Top(ap_uint<32>* config,

                   ap_uint<32>* ddr_ac,
                   ap_uint<32>* ddr_dc,
                   ap_uint<32>* ddr_quant_field,
                   ap_uint<32>* ddr_ac_strategy,
                   ap_uint<32>* ddr_block,
                   ap_uint<32>* hls_order,

                   ap_uint<32>* histo_cfg,
                   ap_uint<32>* dc_histo_code_out,
                   ap_uint<32>* dc_code_out,
                   ap_uint<32>* ac_histo_code_out,
                   ap_uint<32>* ac_code_out);

Parameters:

config control signals, such as image size information, stream length and offsets of each colors.
ddr_ac the input quantized AC.
ddr_dc the input quantized DC.
ddr_quant_field the input of quant-table information for decoder
ddr_ac_strategy the input information of DCT size of each small block8x8.
ddr_block the input information of DCT starting position.
hls_order the input information of encoding order.
histo_cfg the output config for AC and DC histo lengths.
dc_histo_code_out the encoding result of DC histo.
dc_code_out the encoding result of DC token.
ac_histo_code_out the encoding result of AC histo.
ac_code_out the encoding result of AC token.