public static PictureCodingExtension read(BitReader inb) { PictureCodingExtension pce = new PictureCodingExtension(); pce.f_code = (int[][])Array.CreateInstance(typeof(int), new int[] { 2, 2, }); pce.f_code[0][0] = inb.readNBit(4); pce.f_code[0][1] = inb.readNBit(4); pce.f_code[1][0] = inb.readNBit(4); pce.f_code[1][1] = inb.readNBit(4); pce.intra_dc_precision = inb.readNBit(2); pce.picture_structure = inb.readNBit(2); pce.top_field_first = inb.read1Bit(); pce.frame_pred_frame_dct = inb.read1Bit(); pce.concealment_motion_vectors = inb.read1Bit(); pce.q_scale_type = inb.read1Bit(); pce.intra_vlc_format = inb.read1Bit(); pce.alternate_scan = inb.read1Bit(); pce.repeat_first_field = inb.read1Bit(); pce.chroma_420_type = inb.read1Bit(); pce.progressive_frame = inb.read1Bit(); if (inb.read1Bit() != 0) { pce.compositeDisplay = CompositeDisplay.read(inb); } return(pce); }
public static CompositeDisplay read(BitReader inb) { CompositeDisplay cd = new CompositeDisplay(); cd.v_axis = inb.read1Bit(); cd.field_sequence = inb.readNBit(3); cd.sub_carrier = inb.read1Bit(); cd.burst_amplitude = inb.readNBit(7); cd.sub_carrier_phase = inb.readNBit(8); return(cd); }