private void jinit_c_master_control(bool transcode_only)
{
/* Validate parameters, determine derived values */
initial_setup(transcode_only);
if (m_scan_info != null)
{
validate_script();
if (block_size < JpegConstants.DCTSIZE)
reduce_script();
}
else
{
m_progressive_mode = false;
m_num_scans = 1;
}
if (m_optimize_coding)
{
arith_code = false; /* disable arithmetic coding */
}
else if (!arith_code &&
(m_progressive_mode || (block_size > 1 && block_size < JpegConstants.DCTSIZE)))
{
/* TEMPORARY HACK ??? */
/* assume default tables no good for progressive or reduced AC mode */
m_optimize_coding = true; /* force Huffman optimization */
}
m_master = new jpeg_comp_master(this, transcode_only);
}