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);
}
}