Conversão Rápida de RGBA em ARGB

Eu estou tentando converter um buffer rgba em argb, existe alguma maneira de melhorar o próximo algoritmo, ou qualquer outra maneira mais rápida de realizar essa operação? Levando em consideração que o valor alfa não é importante uma vez no buffer argb, e deve sempre terminar como 0xFF.

int y, x, pixel;

for (y = 0; y < height; y++)
{
    for (x = 0; x < width; x++)
    {
     pixel = rgbaBuffer[y * width + x];
     argbBuffer[(height - y - 1) * width + x] = (pixel & 0xff00ff00) | ((pixel << 16) & 0x00ff0000) | ((pixel >> 16) & 0xff);
    }
}

questionAnswers(4)

yourAnswerToTheQuestion