net.sourceforge.jaad.aac.tools.IS Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jcodec Show documentation
Show all versions of jcodec Show documentation
Pure Java implementation of video/audio codecs and formats
package net.sourceforge.jaad.aac.tools;
import net.sourceforge.jaad.aac.huffman.HCB;
import net.sourceforge.jaad.aac.syntax.CPE;
import net.sourceforge.jaad.aac.syntax.SyntaxConstants;
import net.sourceforge.jaad.aac.syntax.ICSInfo;
import net.sourceforge.jaad.aac.syntax.ICStream;
/**
* This class is part of JAAD ( jaadec.sourceforge.net ) that is distributed
* under the Public Domain license. Code changes provided by the JCodec project
* are distributed under FreeBSD license.
*
* Intensity stereo
* @author in-somnia
*/
public final class IS implements SyntaxConstants, ISScaleTable, HCB {
private IS() {
}
public static void process(CPE cpe, float[] specL, float[] specR) {
final ICStream ics = cpe.getRightChannel();
final ICSInfo info = ics.getInfo();
final int[] offsets = info.getSWBOffsets();
final int windowGroups = info.getWindowGroupCount();
final int maxSFB = info.getMaxSFB();
final int[] sfbCB = ics.getSfbCB();
final int[] sectEnd = ics.getSectEnd();
final float[] scaleFactors = ics.getScaleFactors();
int w, i, j, c, end, off;
int idx = 0, groupOff = 0;
float scale;
for(int g = 0; g