public void clone(FrameData fd){
		fd.setInfo(version, bitrate, fs, mode, hModeExtension, emphasis, CHANNELS, hMode, hProtectionBit, hPaddingBit);
		fd.setBitrateIndex(hBitrateIndex);

		SideInfo si_u = fd.getSi();

		si_u.setMainDataBegin(si.getMainDataBegin());


		for( int gr = 0; gr < MAXGR; gr++ ){
			for (int ch = 0; ch < CHANNELS; ch++ ){
				Channel t = si.gr[gr].ch[ch];

				if( t.window_switching_flag != 0)
					fd.set_granule_info(ch, gr, t.big_values, t.count1table_select, t.global_gain, t.part2_3_length,
							t.preflag, t.block_type, t.scalefac_compress, t.table_select, t.mixed_block_flag,
							t.scalefac_scale, t.subblock_gain);
				else
					fd.set_granule_info(ch, gr, t.big_values, t.count1table_select, t.global_gain, t.part2_3_length, t.preflag,
							t.region0_count, t.region1_count, t.scalefac_compress, t.table_select, t.block_type,
							t.scalefac_scale);
			}
		}

	}