/// <summary> /// * /// </summary> internal override void ReadAllocation(Bitstream stream, Header header, Crc16 crc) { Allocation = stream.GetBitsFromBuffer(4); if (Allocation > 14) { return; } Channel2Allocation = stream.GetBitsFromBuffer(4); if (Channel2Allocation > 14) { return; } if (crc != null) { crc.AddBits(Allocation, 4); crc.AddBits(Channel2Allocation, 4); } if (Allocation != 0) { Samplelength = Allocation + 1; Factor = TableFactor[Allocation]; Offset = TableOffset[Allocation]; } if (Channel2Allocation != 0) { Channel2Samplelength = Channel2Allocation + 1; Channel2Factor = TableFactor[Channel2Allocation]; Channel2Offset = TableOffset[Channel2Allocation]; } }
/// <summary> /// * /// </summary> public override void read_allocation(Bitstream stream, Header header, Crc16 crc) { allocation = stream.GetBitsFromBuffer(4); channel2_allocation = stream.GetBitsFromBuffer(4); if (crc != null) { crc.add_bits(allocation, 4); crc.add_bits(channel2_allocation, 4); } if (allocation != 0) { samplelength = allocation + 1; factor = TableFactor[allocation]; offset = TableOffset[allocation]; } if (channel2_allocation != 0) { channel2_samplelength = channel2_allocation + 1; channel2_factor = TableFactor[channel2_allocation]; channel2_offset = TableOffset[channel2_allocation]; } }
/// <summary> /// * /// </summary> public override void read_scalefactor(Bitstream stream, Header header) { if (allocation != 0) scalefactor = ScaleFactors[stream.GetBitsFromBuffer(6)]; if (channel2_allocation != 0) channel2_scalefactor = ScaleFactors[stream.GetBitsFromBuffer(6)]; }
/// <summary> /// * /// </summary> public override void read_scalefactor(Bitstream stream, Header header) { if (allocation != 0) { scalefactor = ScaleFactors[stream.GetBitsFromBuffer(6)]; channel2_scalefactor = ScaleFactors[stream.GetBitsFromBuffer(6)]; } }
/// <summary> /// * /// </summary> internal override void ReadScaleFactor(Bitstream stream, Header header) { if (Allocation != 0) { Scalefactor = ScaleFactors[stream.GetBitsFromBuffer(6)]; Channel2Scalefactor = ScaleFactors[stream.GetBitsFromBuffer(6)]; } }
/// <summary> /// * /// </summary> public override void ReadBitAllocation(Bitstream stream, Header header, Crc16 crc) { int length = get_allocationlength(header); allocation = stream.GetBitsFromBuffer(length); channel2_allocation = stream.GetBitsFromBuffer(length); if (crc != null) { crc.add_bits(allocation, length); crc.add_bits(channel2_allocation, length); } }
/// <summary> /// * /// </summary> internal override void ReadAllocation(Bitstream stream, Header header, Crc16 crc) { int length = GetAllocationLength(header); Allocation = stream.GetBitsFromBuffer(length); Channel2Allocation = stream.GetBitsFromBuffer(length); if (crc != null) { crc.AddBits(Allocation, length); crc.AddBits(Channel2Allocation, length); } }
/// <summary> /// * /// </summary> public override void read_scalefactor_selection(Bitstream stream, Crc16 crc) { if (allocation != 0) { scfsi = stream.GetBitsFromBuffer(2); channel2_scfsi = stream.GetBitsFromBuffer(2); if (crc != null) { crc.add_bits(scfsi, 2); crc.add_bits(channel2_scfsi, 2); } } }
/// <summary> /// * /// </summary> internal override void ReadScaleFactorSelection(Bitstream stream, Crc16 crc) { if (Allocation != 0) { Scfsi = stream.GetBitsFromBuffer(2); Channel2Scfsi = stream.GetBitsFromBuffer(2); if (crc != null) { crc.AddBits(Scfsi, 2); crc.AddBits(Channel2Scfsi, 2); } } }
/// <summary> /// * /// </summary> public override bool read_sampledata(Bitstream stream) { bool returnvalue = base.read_sampledata(stream); if (channel2_allocation != 0) { if (groupingtable[1] != null) { int samplecode = stream.GetBitsFromBuffer(channel2_codelength[0]); // create requantized samples: samplecode += samplecode << 1; /* * float[] target = channel2_samples; * float[] source = channel2_groupingtable[0]; * int tmp = 0; * int temp = 0; * target[tmp++] = source[samplecode + temp]; * temp++; * target[tmp++] = source[samplecode + temp]; * temp++; * target[tmp] = source[samplecode + temp]; * // memcpy (channel2_samples, channel2_groupingtable + samplecode, 3 * sizeof (real)); */ float[] target = channel2_samples; float[] source = groupingtable[1]; int tmp = 0; int temp = samplecode; target[tmp] = source[temp]; temp++; tmp++; target[tmp] = source[temp]; temp++; tmp++; target[tmp] = source[temp]; } else { channel2_samples[0] = (float)(stream.GetBitsFromBuffer(channel2_codelength[0]) * channel2_factor[0] - 1.0); channel2_samples[1] = (float)(stream.GetBitsFromBuffer(channel2_codelength[0]) * channel2_factor[0] - 1.0); channel2_samples[2] = (float)(stream.GetBitsFromBuffer(channel2_codelength[0]) * channel2_factor[0] - 1.0); } } return(returnvalue); }
/// <summary> /// * /// </summary> public override void ReadScaleFactor(Bitstream stream, Header header) { base.ReadScaleFactor(stream, header); if (channel2_allocation != 0) { switch (channel2_scfsi) { case 0: channel2_scalefactor1 = ScaleFactors[stream.GetBitsFromBuffer(6)]; channel2_scalefactor2 = ScaleFactors[stream.GetBitsFromBuffer(6)]; channel2_scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 1: channel2_scalefactor1 = channel2_scalefactor2 = ScaleFactors[stream.GetBitsFromBuffer(6)]; channel2_scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 2: channel2_scalefactor1 = channel2_scalefactor2 = channel2_scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 3: channel2_scalefactor1 = ScaleFactors[stream.GetBitsFromBuffer(6)]; channel2_scalefactor2 = channel2_scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; } prepare_sample_reading(header, channel2_allocation, 1, channel2_factor, channel2_codelength, channel2_c, channel2_d); } }
/// <summary> /// * /// </summary> internal override void ReadScaleFactor(Bitstream stream, Header header) { if (Allocation != 0) { base.ReadScaleFactor(stream, header); switch (Channel2Scfsi) { case 0: Channel2Scalefactor1 = ScaleFactors[stream.GetBitsFromBuffer(6)]; Channel2Scalefactor2 = ScaleFactors[stream.GetBitsFromBuffer(6)]; Channel2Scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 1: Channel2Scalefactor1 = Channel2Scalefactor2 = ScaleFactors[stream.GetBitsFromBuffer(6)]; Channel2Scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 2: Channel2Scalefactor1 = Channel2Scalefactor2 = Channel2Scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 3: Channel2Scalefactor1 = ScaleFactors[stream.GetBitsFromBuffer(6)]; Channel2Scalefactor2 = Channel2Scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; } } }
/// <summary> /// * /// </summary> internal override void ReadScaleFactor(Bitstream stream, Header header) { base.ReadScaleFactor(stream, header); if (Channel2Allocation != 0) { switch (Channel2Scfsi) { case 0: Channel2Scalefactor1 = ScaleFactors[stream.GetBitsFromBuffer(6)]; Channel2Scalefactor2 = ScaleFactors[stream.GetBitsFromBuffer(6)]; Channel2Scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 1: Channel2Scalefactor1 = Channel2Scalefactor2 = ScaleFactors[stream.GetBitsFromBuffer(6)]; Channel2Scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 2: Channel2Scalefactor1 = Channel2Scalefactor2 = Channel2Scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 3: Channel2Scalefactor1 = ScaleFactors[stream.GetBitsFromBuffer(6)]; Channel2Scalefactor2 = Channel2Scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; } PrepareForSampleRead(header, Channel2Allocation, 1, Channel2Factor, Channel2Codelength, Channel2C, Channel2D); } }
/// <summary> /// * /// </summary> public override void read_scalefactor(Bitstream stream, Header header) { if (allocation != 0) { base.read_scalefactor(stream, header); switch (channel2_scfsi) { case 0: channel2_scalefactor1 = ScaleFactors[stream.GetBitsFromBuffer(6)]; channel2_scalefactor2 = ScaleFactors[stream.GetBitsFromBuffer(6)]; channel2_scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 1: channel2_scalefactor1 = channel2_scalefactor2 = ScaleFactors[stream.GetBitsFromBuffer(6)]; channel2_scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 2: channel2_scalefactor1 = channel2_scalefactor2 = channel2_scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 3: channel2_scalefactor1 = ScaleFactors[stream.GetBitsFromBuffer(6)]; channel2_scalefactor2 = channel2_scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; } } }
/// <summary> /// * /// </summary> public override bool read_sampledata(Bitstream stream) { bool returnvalue = base.read_sampledata(stream); if (channel2_allocation != 0) { channel2_sample = stream.GetBitsFromBuffer(channel2_samplelength); } return (returnvalue); }
/// <summary> /// * /// </summary> public override bool ReadSampleData(Bitstream stream) { bool returnvalue = base.ReadSampleData(stream); if (channel2_allocation != 0) { channel2_sample = stream.GetBitsFromBuffer(channel2_samplelength); } return(returnvalue); }
/// <summary> /// * /// </summary> internal override bool ReadSampleData(Bitstream stream) { bool returnvalue = base.ReadSampleData(stream); if (Channel2Allocation != 0) { Channel2Sample = stream.GetBitsFromBuffer(Channel2Samplelength); } return(returnvalue); }
/// <summary> /// * /// </summary> public override void ReadScaleFactor(Bitstream stream, Header header) { if (allocation != 0) { base.ReadScaleFactor(stream, header); switch (channel2_scfsi) { case 0: channel2_scalefactor1 = ScaleFactors[stream.GetBitsFromBuffer(6)]; channel2_scalefactor2 = ScaleFactors[stream.GetBitsFromBuffer(6)]; channel2_scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 1: channel2_scalefactor1 = channel2_scalefactor2 = ScaleFactors[stream.GetBitsFromBuffer(6)]; channel2_scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 2: channel2_scalefactor1 = channel2_scalefactor2 = channel2_scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 3: channel2_scalefactor1 = ScaleFactors[stream.GetBitsFromBuffer(6)]; channel2_scalefactor2 = channel2_scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; } } }
/// <summary> /// * /// </summary> internal override bool ReadSampleData(Bitstream stream) { if (Allocation != 0) { Sample = stream.GetBitsFromBuffer(Samplelength); } if (++Samplenumber == 12) { Samplenumber = 0; return(true); } return(false); }
/// <summary> /// * /// </summary> public override bool read_sampledata(Bitstream stream) { if (allocation != 0) { sample = stream.GetBitsFromBuffer(samplelength); } if (++samplenumber == 12) { samplenumber = 0; return(true); } return(false); }
/// <summary> /// * /// </summary> internal override void ReadAllocation(Bitstream stream, Header header, Crc16 crc) { if ((Allocation = stream.GetBitsFromBuffer(4)) == 15) { } // cerr << "WARNING: stream contains an illegal allocation!\n"; // MPEG-stream is corrupted! crc?.AddBits(Allocation, 4); if (Allocation != 0) { Samplelength = Allocation + 1; Factor = TableFactor[Allocation]; Offset = TableOffset[Allocation]; } }
/// <summary> /// * /// </summary> public override void read_allocation(Bitstream stream, Header header, Crc16 crc) { if ((allocation = stream.GetBitsFromBuffer(4)) == 15) { } // cerr << "WARNING: stream contains an illegal allocation!\n"; // MPEG-stream is corrupted! if (crc != null) crc.add_bits(allocation, 4); if (allocation != 0) { samplelength = allocation + 1; factor = TableFactor[allocation]; offset = TableOffset[allocation]; } }
/// <summary> /// * /// </summary> public override void read_allocation(Bitstream stream, Header header, Crc16 crc) { if ((allocation = stream.GetBitsFromBuffer(4)) == 15) { } // cerr << "WARNING: stream contains an illegal allocation!\n"; // MPEG-stream is corrupted! if (crc != null) { crc.add_bits(allocation, 4); } if (allocation != 0) { samplelength = allocation + 1; factor = TableFactor[allocation]; offset = TableOffset[allocation]; } }
/// <summary> /// * /// </summary> public virtual void read_scalefactor_selection(Bitstream stream, Crc16 crc) { if (allocation != 0) { scfsi = stream.GetBitsFromBuffer(2); if (crc != null) crc.add_bits(scfsi, 2); } }
/// <summary> /// * /// </summary> public override bool read_sampledata(Bitstream stream) { if (allocation != 0) { sample = stream.GetBitsFromBuffer(samplelength); } if (++samplenumber == 12) { samplenumber = 0; return true; } return false; }
/// <summary> /// * /// </summary> public override bool ReadSampleData(Bitstream stream) { bool returnvalue = base.ReadSampleData(stream); if (channel2_allocation != 0) if (groupingtable[1] != null) { int samplecode = stream.GetBitsFromBuffer(channel2_codelength[0]); // create requantized samples: samplecode += samplecode << 1; /* float[] target = channel2_samples; float[] source = channel2_groupingtable[0]; int tmp = 0; int temp = 0; target[tmp++] = source[samplecode + temp]; temp++; target[tmp++] = source[samplecode + temp]; temp++; target[tmp] = source[samplecode + temp]; // memcpy (channel2_samples, channel2_groupingtable + samplecode, 3 * sizeof (real)); */ float[] target = channel2_samples; float[] source = groupingtable[1]; int tmp = 0; int temp = samplecode; target[tmp] = source[temp]; temp++; tmp++; target[tmp] = source[temp]; temp++; tmp++; target[tmp] = source[temp]; } else { channel2_samples[0] = (float)((stream.GetBitsFromBuffer(channel2_codelength[0])) * channel2_factor[0] - 1.0); channel2_samples[1] = (float)((stream.GetBitsFromBuffer(channel2_codelength[0])) * channel2_factor[0] - 1.0); channel2_samples[2] = (float)((stream.GetBitsFromBuffer(channel2_codelength[0])) * channel2_factor[0] - 1.0); } return returnvalue; }
/// <summary> /// * /// </summary> public override void ReadScaleFactor(Bitstream stream, Header header) { if (allocation != 0) { switch (scfsi) { case 0: scalefactor1 = ScaleFactors[stream.GetBitsFromBuffer(6)]; scalefactor2 = ScaleFactors[stream.GetBitsFromBuffer(6)]; scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 1: scalefactor1 = scalefactor2 = ScaleFactors[stream.GetBitsFromBuffer(6)]; scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 2: scalefactor1 = scalefactor2 = scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; case 3: scalefactor1 = ScaleFactors[stream.GetBitsFromBuffer(6)]; scalefactor2 = scalefactor3 = ScaleFactors[stream.GetBitsFromBuffer(6)]; break; } prepare_sample_reading(header, allocation, 0, factor, codelength, c, d); } }
/// <summary> /// * /// </summary> public override bool ReadSampleData(Bitstream stream) { if (allocation != 0) if (groupingtable[0] != null) { int samplecode = stream.GetBitsFromBuffer(codelength[0]); // create requantized samples: samplecode += samplecode << 1; float[] target = samples; float[] source = groupingtable[0]; /* int tmp = 0; int temp = 0; target[tmp++] = source[samplecode + temp]; temp++; target[tmp++] = source[samplecode + temp]; temp++; target[tmp] = source[samplecode + temp]; */ //Bugfix: int tmp = 0; int temp = samplecode; if (temp > source.Length - 3) temp = source.Length - 3; target[tmp] = source[temp]; temp++; tmp++; target[tmp] = source[temp]; temp++; tmp++; target[tmp] = source[temp]; // memcpy (samples, groupingtable + samplecode, 3 * sizeof (real)); } else { samples[0] = (float)((stream.GetBitsFromBuffer(codelength[0])) * factor[0] - 1.0); samples[1] = (float)((stream.GetBitsFromBuffer(codelength[0])) * factor[0] - 1.0); samples[2] = (float)((stream.GetBitsFromBuffer(codelength[0])) * factor[0] - 1.0); } samplenumber = 0; if (++groupnumber == 12) return true; return false; }
/// <summary> /// * /// </summary> public override void ReadScaleFactor(Bitstream stream, Header header) { if (allocation != 0) scalefactor = ScaleFactors[stream.GetBitsFromBuffer(6)]; }