Guest User

Untitled

a guest
May 23rd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. u8* block=(u8*)data;
  2. u8* line[4];
  3. for (u32 y=0; y<height; y+=4)
  4. {
  5. // fetch the next 4 scanlines
  6. line[0]=(u8*)FreeImage_GetScanLine(src,height-y-1);
  7. line[1]=(u8*)FreeImage_GetScanLine(src,height-y-2);
  8. line[2]=(u8*)FreeImage_GetScanLine(src,height-y-3);
  9. line[3]=(u8*)FreeImage_GetScanLine(src,height-y-4);
  10.  
  11. for (u32 x=0; x<width; x+=4)
  12. {
  13. for (int l=0; l<4; ++l)
  14. {
  15. // copy AR pairs
  16. block[ 0]=line[l][ 3]; block[ 1]=line[l][ 0];
  17. block[ 2]=line[l][ 7]; block[ 3]=line[l][ 4];
  18. block[ 4]=line[l][11]; block[ 5]=line[l][ 8];
  19. block[ 6]=line[l][15]; block[ 7]=line[l][12];
  20.  
  21. // copy GB pairs
  22. block[32]=line[l][ 1]; block[33]=line[l][ 2];
  23. block[34]=line[l][ 5]; block[35]=line[l][ 6];
  24. block[36]=line[l][ 9]; block[37]=line[l][10];
  25. block[38]=line[l][13]; block[39]=line[l][14];
  26.  
  27. block+=8;
  28. line[l]+=16;
  29. }
  30. block+=32;
  31. }
  32. }
Add Comment
Please, Sign In to add comment