Advertisement
Guest User

Untitled

a guest
Jul 16th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. #pragma version(1)
  2. #pragma rs java_package_name(com.liewjuntung.image)
  3.  
  4. rs_allocation inImage;
  5.  
  6. int inWidth;
  7. int inHeight;
  8.  
  9. float rotation = 0.0f;
  10.  
  11. uchar4 __attribute__ ((kernel)) rotate_270_clockwise_natural (uchar4 in, uint32_t x, uint32_t y) {
  12. uint32_t inX = inWidth - 1 - y;
  13. uint32_t inY = inHeight - 1 - x;
  14. const uchar4 *out = rsGetElementAt(inImage, inX, inY);
  15. return *out;
  16. }
  17.  
  18. uchar4 __attribute__ ((kernel)) rotate_270_clockwise (uchar4 in, uint32_t x, uint32_t y) {
  19. uint32_t inX = inWidth - 1 - y;
  20. uint32_t inY = x;
  21. const uchar4 *out = rsGetElementAt(inImage, inX, inY);
  22. return *out;
  23. }
  24.  
  25. uchar4 __attribute__ ((kernel)) rotate_90_clockwise (uchar4 in, uint32_t x, uint32_t y) {
  26. uint32_t inX = y;
  27. uint32_t inY = inHeight - 1 - x;
  28.  
  29. const uchar4 *out = rsGetElementAt(inImage, inX, inY);
  30. return *out;
  31. }
  32.  
  33. uchar4 __attribute__ ((kernel)) rotate_90_counterclockwise (uchar4 in, uint32_t x, uint32_t y) {
  34. uint32_t inX = inWidth - 1 - y;
  35. uint32_t inY = inHeight - 1 - x;
  36.  
  37. const uchar4 *out = rsGetElementAt(inImage, inX, inY);
  38. return *out;
  39. }
  40.  
  41.  
  42. uchar4 __attribute__ ((kernel)) rotate_180 (uchar4 in, uint32_t x, uint32_t y) {
  43. uint32_t inX = inWidth - 1 - x;
  44. uint32_t inY = inHeight - 1 - y;
  45.  
  46. const uchar4 *out = rsGetElementAt(inImage, inX, inY);
  47. return *out;
  48. }
  49.  
  50. uchar4 __attribute__ ((kernel)) flip_vertical (uchar4 in, uint32_t x, uint32_t y) {
  51. uint32_t inX = x;
  52. uint32_t inY = inHeight - 1 - y;
  53.  
  54. const uchar4 *out = rsGetElementAt(inImage, inX, inY);
  55. return *out;
  56. }
  57.  
  58. uchar4 __attribute__ ((kernel)) flip_horizontal (uchar4 in, uint32_t x, uint32_t y) {
  59. uint32_t inX = inWidth - 1 - x;
  60. uint32_t inY = y;
  61.  
  62. const uchar4 *out = rsGetElementAt(inImage, inX, inY);
  63. return *out;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement