// Check for a restart marker & resynchronize decoder, undifferencer. // Returns false if must suspend. static bool process_restart_d_diff(jpeg_decompress cinfo) { jpeg_lossless_d_codec losslsd = (jpeg_lossless_d_codec)cinfo.coef; d_diff_controller diff = (d_diff_controller)losslsd.diff_private; if (!losslsd.entropy_process_restart(cinfo)) { return(false); } losslsd.predict_process_restart(cinfo); // Reset restart counter diff.restart_rows_to_go = cinfo.restart_interval / cinfo.MCUs_per_row; return(true); }