namespace codec

// namespaces

namespace xf::codec::details

// typedefs

typedef int16_t idct_in_t
typedef uint8_t idct_out_t

// enums

enum COLOR_FORMAT

// structs

struct bas_info
struct cmp_info
struct hls_huff_DHT
struct hls_huff_segment
struct img_info
struct sos_data

// global variables

static const uint8_t hls_jpeg_zigzag_to_raster[64]
const short hls_icos_base_8192_scaled[64]

kernelJpegDecoderTop

#include "jpegDec/XAcc_idct.hpp"
void kernelJpegDecoderTop (
    ap_uint < (16)>* jpeg_pointer,
    const int size,
    ap_uint <64>* yuv_mcu_pointer,
    ap_uint <32>* infos
    )

Level 2 : kernel implement for jfif parser + huffman decoder + iQ_iDCT.

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.
jpeg_pointer the input jpeg to be read from DDR.
size the total bytes to be read from DDR.
yuv_mcu_pointer the output yuv to DDR in mcu order.
info information of the image, maybe use in the recovery image.