Revision 80ba1ddb libavcodec/aacdec.c

View differences:

libavcodec/aacdec.c
1721 1721
     */
1722 1722
    if ((ics->window_sequence[1] == ONLY_LONG_SEQUENCE || ics->window_sequence[1] == LONG_STOP_SEQUENCE) &&
1723 1723
            (ics->window_sequence[0] == ONLY_LONG_SEQUENCE || ics->window_sequence[0] == LONG_START_SEQUENCE)) {
1724
        ac->dsp.vector_fmul_window(    out,               saved,            buf,         lwindow_prev, 0, 512);
1724
        ac->dsp.vector_fmul_window(    out,               saved,            buf,         lwindow_prev, 512);
1725 1725
    } else {
1726 1726
        memcpy(                        out,               saved,            448 * sizeof(float));
1727 1727

  
1728 1728
        if (ics->window_sequence[0] == EIGHT_SHORT_SEQUENCE) {
1729
            ac->dsp.vector_fmul_window(out + 448 + 0*128, saved + 448,      buf + 0*128, swindow_prev, 0, 64);
1730
            ac->dsp.vector_fmul_window(out + 448 + 1*128, buf + 0*128 + 64, buf + 1*128, swindow,      0, 64);
1731
            ac->dsp.vector_fmul_window(out + 448 + 2*128, buf + 1*128 + 64, buf + 2*128, swindow,      0, 64);
1732
            ac->dsp.vector_fmul_window(out + 448 + 3*128, buf + 2*128 + 64, buf + 3*128, swindow,      0, 64);
1733
            ac->dsp.vector_fmul_window(temp,              buf + 3*128 + 64, buf + 4*128, swindow,      0, 64);
1729
            ac->dsp.vector_fmul_window(out + 448 + 0*128, saved + 448,      buf + 0*128, swindow_prev, 64);
1730
            ac->dsp.vector_fmul_window(out + 448 + 1*128, buf + 0*128 + 64, buf + 1*128, swindow,      64);
1731
            ac->dsp.vector_fmul_window(out + 448 + 2*128, buf + 1*128 + 64, buf + 2*128, swindow,      64);
1732
            ac->dsp.vector_fmul_window(out + 448 + 3*128, buf + 2*128 + 64, buf + 3*128, swindow,      64);
1733
            ac->dsp.vector_fmul_window(temp,              buf + 3*128 + 64, buf + 4*128, swindow,      64);
1734 1734
            memcpy(                    out + 448 + 4*128, temp, 64 * sizeof(float));
1735 1735
        } else {
1736
            ac->dsp.vector_fmul_window(out + 448,         saved + 448,      buf,         swindow_prev, 0, 64);
1736
            ac->dsp.vector_fmul_window(out + 448,         saved + 448,      buf,         swindow_prev, 64);
1737 1737
            memcpy(                    out + 576,         buf + 64,         448 * sizeof(float));
1738 1738
        }
1739 1739
    }
......
1741 1741
    // buffer update
1742 1742
    if (ics->window_sequence[0] == EIGHT_SHORT_SEQUENCE) {
1743 1743
        memcpy(                    saved,       temp + 64,         64 * sizeof(float));
1744
        ac->dsp.vector_fmul_window(saved + 64,  buf + 4*128 + 64, buf + 5*128, swindow, 0, 64);
1745
        ac->dsp.vector_fmul_window(saved + 192, buf + 5*128 + 64, buf + 6*128, swindow, 0, 64);
1746
        ac->dsp.vector_fmul_window(saved + 320, buf + 6*128 + 64, buf + 7*128, swindow, 0, 64);
1744
        ac->dsp.vector_fmul_window(saved + 64,  buf + 4*128 + 64, buf + 5*128, swindow, 64);
1745
        ac->dsp.vector_fmul_window(saved + 192, buf + 5*128 + 64, buf + 6*128, swindow, 64);
1746
        ac->dsp.vector_fmul_window(saved + 320, buf + 6*128 + 64, buf + 7*128, swindow, 64);
1747 1747
        memcpy(                    saved + 448, buf + 7*128 + 64,  64 * sizeof(float));
1748 1748
    } else if (ics->window_sequence[0] == LONG_START_SEQUENCE) {
1749 1749
        memcpy(                    saved,       buf + 512,        448 * sizeof(float));

Also available in: Unified diff