Bluetooth Codec (SBC) - Uses a FFT? In the A2DP specification, the SBC code uses a "polyphase filterbank" which has the formula
$$x[n] = X[m]\cos((m+0.5)(n+M/2)\pi/M).$$
I am confused to what this is? It seems to take in $N$ points and output $2N$ points in some sort of frequency domain. Is this a special type of DFT and can it be optimized with a radix-2 algorithm? I tried searching but could not find any websites that could help me.

Edit: Links - https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=8236 and bottom of Page 64
I figured out the answer. The polyphase filterbank in the SBC codec is a variation on the discrete cosine transform type 4 that also divides it into frequency bands at the same time. If you look in the spec, the double for loop is used to both to multiple across all basis and sum up the frequency bands.