Szybka konwersja RGBA do ARGB

Próbuję przekonwertować bufor rgba na argb, czy jest jakiś sposób na ulepszenie następnego algorytmu lub jakikolwiek inny szybszy sposób na wykonanie takiej operacji? Biorąc pod uwagę, że wartość alfa nie jest ważna raz w buforze argb, i powinna zawsze kończyć się jako 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