public huff_entropy_decoder(jpeg_decompress_struct cinfo)
{
m_cinfo = cinfo;
finish_pass = finish_pass_huff;
if (m_cinfo.m_progressive_mode)
{
/* Create progression status table */
cinfo.m_coef_bits = new int[cinfo.m_num_components][];
for (int i = 0; i < cinfo.m_num_components; i++)
cinfo.m_coef_bits[i] = new int[JpegConstants.DCTSIZE2];
for (int ci = 0; ci < cinfo.m_num_components; ci++)
{
for (int i = 0; i < JpegConstants.DCTSIZE2; i++)
cinfo.m_coef_bits[ci][i] = -1;
}
/* Mark derived tables unallocated */
for (int i = 0; i < JpegConstants.NUM_HUFF_TBLS; i++)
{
derived_tbls[i] = null;
}
}
else
{
/* Mark tables unallocated */
for (int i = 0; i < JpegConstants.NUM_HUFF_TBLS; i++)
{
m_dc_derived_tbls[i] = null;
m_ac_derived_tbls[i] = null;
}
}
}