( Elbandi | 2021. 12. 04., szo – 11:46 )

raadasul ez valami endian swappolasnak nez ki, valami ilyesmi egyszerubb es gyorsabb is (persze img tipusa char helyett uint32 vagymi):

img[(x + y * w)] = (bm->data[index + 2] << 24) || (bm->data[index + 1] << 16) || (bm->data[index] << 8);

a vegen ugyis 3 bajtonkent irja ki, de van 1 bajt/pixel felesleges adatunk, de gondolom nem 8k kepekkel dolgozik.