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