pixel_ops.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. static inline unsigned int rgb_to_pixel8(unsigned int r, unsigned int g,
  2. unsigned int b)
  3. {
  4. return ((r >> 5) << 5) | ((g >> 5) << 2) | (b >> 6);
  5. }
  6. static inline unsigned int rgb_to_pixel15(unsigned int r, unsigned int g,
  7. unsigned int b)
  8. {
  9. return ((r >> 3) << 10) | ((g >> 3) << 5) | (b >> 3);
  10. }
  11. static inline unsigned int rgb_to_pixel15bgr(unsigned int r, unsigned int g,
  12. unsigned int b)
  13. {
  14. return ((b >> 3) << 10) | ((g >> 3) << 5) | (r >> 3);
  15. }
  16. static inline unsigned int rgb_to_pixel16(unsigned int r, unsigned int g,
  17. unsigned int b)
  18. {
  19. return ((r >> 3) << 11) | ((g >> 2) << 5) | (b >> 3);
  20. }
  21. static inline unsigned int rgb_to_pixel16bgr(unsigned int r, unsigned int g,
  22. unsigned int b)
  23. {
  24. return ((b >> 3) << 11) | ((g >> 2) << 5) | (r >> 3);
  25. }
  26. static inline unsigned int rgb_to_pixel24(unsigned int r, unsigned int g,
  27. unsigned int b)
  28. {
  29. return (r << 16) | (g << 8) | b;
  30. }
  31. static inline unsigned int rgb_to_pixel24bgr(unsigned int r, unsigned int g,
  32. unsigned int b)
  33. {
  34. return (b << 16) | (g << 8) | r;
  35. }
  36. static inline unsigned int rgb_to_pixel32(unsigned int r, unsigned int g,
  37. unsigned int b)
  38. {
  39. return (r << 16) | (g << 8) | b;
  40. }
  41. static inline unsigned int rgb_to_pixel32bgr(unsigned int r, unsigned int g,
  42. unsigned int b)
  43. {
  44. return (b << 16) | (g << 8) | r;
  45. }