#include "XAcc_jpegdecoder.hpp"
void mcu_decoder ( hls::stream <CHType>& image_strm, hls::stream <bool>& eof_strm, const uint16_t dht_tbl1 [2][2][1<< (9)], const uint16_t dht_tbl2 [2][2][1<< (10)], ap_uint <12> hls_cmp, const uint8_t hls_cs_cmpc, const uint8_t hls_mbs [(3)], const uint16_t hls_mcuh, const uint32_t hls_mcuc, bool& rtn2, uint32_t& rst_cnt, hls::stream <ap_uint <24>>& block_strm )
Level 1 : decode all mcu.
Parameters:
CH_W | size of data path in dataflow region, in bit. when CH_W is 16, the decoder could decode one symbol per cycle in about 99% cases. when CH_W is 8 , the decoder could decode one symbol per cycle in about 80% cases, but use less resource. |
image_strm | the stream of compressed data after SOS marker. |
eof_strm | the stream of end flag for image_strm, synchronous signal using false and an addtional true in the end. |
dht_tbl1/dht_tbl2 | the segment data of Define huffman table marker. |
hls_cmp | the shift register organized by the index of each color component. |
image | info include hls_cs_cmpc/hls_mbs/hls_mcuh/hls_mcuc is just for csim tests. |
block_strm | the stream of coefficients in block,23:is_rst, 22:is_endblock,21~16:bpos,15~0:block val |