static void wmapro_window(WMAProDecodeCtx *s)
{
    int i;
    for (i = 0; i < s->channels_for_cur_subframe; i++) {
        int c = s->channel_indexes_for_cur_subframe[i];
        float* window;
        int winlen = s->channel[c].prev_block_len;
        float* start = s->channel[c].coeffs - (winlen >> 1);
        if (s->subframe_len < winlen) {
            start += (winlen - s->subframe_len) >> 1;
            winlen = s->subframe_len;
        }
        window = s->windows[av_log2(winlen) - WMAPRO_BLOCK_MIN_BITS];
        winlen >>= 1;
        s->dsp.vector_fmul_window(start, start, start + winlen,
                                  window, winlen);
        s->channel[c].prev_block_len = s->subframe_len;
    }
}
['static void wmapro_window(WMAProDecodeCtx *s)\n{\n    int i;\n    for (i = 0; i < s->channels_for_cur_subframe; i++) {\n        int c = s->channel_indexes_for_cur_subframe[i];\n        float* window;\n        int winlen = s->channel[c].prev_block_len;\n        float* start = s->channel[c].coeffs - (winlen >> 1);\n        if (s->subframe_len < winlen) {\n            start += (winlen - s->subframe_len) >> 1;\n            winlen = s->subframe_len;\n        }\n        window = s->windows[av_log2(winlen) - WMAPRO_BLOCK_MIN_BITS];\n        winlen >>= 1;\n        s->dsp.vector_fmul_window(start, start, start + winlen,\n                                  window, winlen);\n        s->channel[c].prev_block_len = s->subframe_len;\n    }\n}', 'static av_always_inline av_const int av_log2_c(unsigned int v)\n{\n    int n = 0;\n    if (v & 0xffff0000) {\n        v >>= 16;\n        n += 16;\n    }\n    if (v & 0xff00) {\n        v >>= 8;\n        n += 8;\n    }\n    n += ff_log2_tab[v];\n    return n;\n}']