yuv_downscaler.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /* StarPU --- Runtime system for heterogeneous multicore architectures.
  2. *
  3. * Copyright (C) 2010 Université de Bordeaux 1
  4. * Copyright (C) 2010, 2011 Centre National de la Recherche Scientifique
  5. *
  6. * StarPU is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU Lesser General Public License as published by
  8. * the Free Software Foundation; either version 2.1 of the License, or (at
  9. * your option) any later version.
  10. *
  11. * StarPU is distributed in the hope that it will be useful, but
  12. * WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  14. *
  15. * See the GNU Lesser General Public License in COPYING.LGPL for more details.
  16. */
  17. #define WIDTH 1920
  18. #define HEIGHT 1080
  19. #define FACTOR 2
  20. #define NEW_WIDTH (WIDTH/FACTOR)
  21. #define NEW_HEIGHT (HEIGHT/FACTOR)
  22. #define BLOCK_HEIGHT 20
  23. #include <stdint.h>
  24. struct yuv_frame
  25. {
  26. uint8_t y[WIDTH*HEIGHT];
  27. uint8_t u[(WIDTH*HEIGHT)/4];
  28. uint8_t v[(WIDTH*HEIGHT)/4];
  29. };
  30. struct yuv_new_frame
  31. {
  32. uint8_t y[NEW_WIDTH*NEW_HEIGHT];
  33. uint8_t u[(NEW_WIDTH*NEW_HEIGHT)/4];
  34. uint8_t v[(NEW_WIDTH*NEW_HEIGHT)/4];
  35. };