src/main/java/org/jcodec/codecs/mpa/Mp3Mdct.java
private static void imdct12(float[] src, float[] dst, int outOff, int wndIdx) {

        for (int j = 15 + wndIdx, k = 12 + wndIdx; j >= 3 + wndIdx; j -= 3, k -= 3)
            src[j] += src[k];

        src[15 + wndIdx] += src[9 + wndIdx];
        src[9 + wndIdx] += src[3 + wndIdx];

        float pp2 = src[12 + wndIdx] * cos600;
        float pp1 = src[6 + wndIdx] * cos300;
        float sum = src[0 + wndIdx] + pp2;
        tmp[1] = src[wndIdx] - src[12 + wndIdx];
        tmp[0] = sum + pp1;
        tmp[2] = sum - pp1;

        pp2 = src[15 + wndIdx] * cos600;
        pp1 = src[9 + wndIdx] * cos300;
        sum = src[3 + wndIdx] + pp2;
        tmp[4] = src[3 + wndIdx] - src[15 + wndIdx];
        tmp[5] = sum + pp1;
        tmp[3] = sum - pp1;

        tmp[3] *= factor12pt0;
        tmp[4] *= cos450;
        tmp[5] *= factor12pt1;

        float t  = tmp[0];
        tmp[0]  += tmp[5];
        tmp[5]   = t - tmp[5];
        
        t        = tmp[1];
        tmp[1]  += tmp[4];
        tmp[4]   = t - tmp[4];
        
        t        = tmp[2];
        tmp[2]  += tmp[3];
        tmp[3]   = t - tmp[3];

        for (int j = 0; j < 6; j++)
            tmp[j] *= factor12[j];

        tmp[8]  = -tmp[0] * cos375;
        tmp[9]  = -tmp[0] * cos525;
        tmp[7]  = -tmp[1] * cos225;
        tmp[10] = -tmp[1] * cos675;
        tmp[6]  = -tmp[2] * cos075;
        tmp[11] = -tmp[2] * cos825;

        tmp[0]  = tmp[3];
        tmp[1]  = tmp[4]  * cos675;
        tmp[2]  = tmp[5]  * cos525;

        tmp[3]  = -tmp[5] * cos375;
        tmp[4]  = -tmp[4] * cos225;
        tmp[5]  = -tmp[0] * cos075;

        tmp[0] *= cos825;

        for (int i = 0, j = outOff + 6; i < 12; i++, j++) {
            dst[j] += tmp[i];
        }
    }
private static void imdct12(float[] src, float[] dst, int outOff, int wndIdx) {

        for (int j = 15 + wndIdx, k = 12 + wndIdx; j >= 3 + wndIdx; j -= 3, k -= 3)
            src[j] += src[k];

        src[15 + wndIdx] += src[9 + wndIdx];
        src[9 + wndIdx] += src[3 + wndIdx];

        float pp2 = src[12 + wndIdx] * cos600;
        float pp1 = src[6 + wndIdx] * cos300;
        float sum = src[0 + wndIdx] + pp2;
        tmp[1] = src[wndIdx] - src[12 + wndIdx];
        tmp[0] = sum + pp1;
        tmp[2] = sum - pp1;

        pp2 = src[15 + wndIdx] * cos600;
        pp1 = src[9 + wndIdx] * cos300;
        sum = src[3 + wndIdx] + pp2;
        tmp[4] = src[3 + wndIdx] - src[15 + wndIdx];
        tmp[5] = sum + pp1;
        tmp[3] = sum - pp1;

        tmp[3] *= factor12pt0;
        tmp[4] *= cos450;
        tmp[5] *= factor12pt1;

        float t  = tmp[0];
        tmp[0]  += tmp[5];
        tmp[5]   = t - tmp[5];
        
        t        = tmp[1];
        tmp[1]  += tmp[4];
        tmp[4]   = t - tmp[4];
        
        t        = tmp[2];
        tmp[2]  += tmp[3];
        tmp[3]   = t - tmp[3];

        for (int j = 0; j < 6; j++)
            tmp[j] *= factor12[j];

        tmp[8]  = -tmp[0] * cos375;
        tmp[9]  = -tmp[0] * cos525;
        tmp[7]  = -tmp[1] * cos225;
        tmp[10] = -tmp[1] * cos675;
        tmp[6]  = -tmp[2] * cos075;
        tmp[11] = -tmp[2] * cos825;

        tmp[0]  = tmp[3];
        tmp[1]  = tmp[4]  * cos675;
        tmp[2]  = tmp[5]  * cos525;

        tmp[3]  = -tmp[5] * cos375;
        tmp[4]  = -tmp[4] * cos225;
        tmp[5]  = -tmp[0] * cos075;

        tmp[0] *= cos825;

        for (int i = 0, j = outOff + 6; i < 12; i++, j++) {
            dst[j] += tmp[i];
        }
    }
Wrong usage of Javascript keyword:in