Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * All Video Processing kernels
  3.  * Copyright © <2010>, Intel Corporation.
  4.  *
  5.  * This program is licensed under the terms and conditions of the
  6.  * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
  7.  * http://www.opensource.org/licenses/eclipse-1.0.php.
  8.  *
  9.  */
  10. #ifndef RGBA_LOAD_16X8_INC
  11. #define RGBA_LOAD_16X8_INC
  12.  
  13. // Module name: RGBA_Load_16x8.inc
  14. //
  15. // RGBA data are first loaded to bottom I/O REGION_2, then does color conversion from RGB to YUV
  16. // finally, YUV data are stored in top I/O REGION_1 with planar format
  17.  
  18. #undef  nY_NUM_OF_ROWS
  19.  
  20. #define nY_NUM_OF_ROWS      8       // Number of Y rows per block
  21.  
  22. #define nDPR_BLOCK_SIZE_RGBA           nBLOCK_WIDTH_32+nBLOCK_HEIGHT_8   // RGBA block size 32x8 (it is half size)
  23. #define nDPR_MSG_SIZE_RGBA             nRESLEN_8                         // # of MRF's to hold RGBA block data (8)
  24.  
  25. //Temporary storage for unpacked AYUV data
  26. #define     rUNPACK_TEMP     REG(r,nTEMP0)
  27. .declare    udUNPACK_TEMP    Base=rUNPACK_TEMP    ElementSize=4    SrcRegion=<8;8,1>    Type=ud        //1 GRF
  28. .declare    ubUNPACK_TEMP    Base=rUNPACK_TEMP    ElementSize=1    SrcRegion=<32;32,1>    Type=ub        //1 GRF
  29.  
  30. .declare ubBOT_Y_IO     Base=REG(r,nBOT_Y) ElementSize=1 SrcRegion=REGION(32,1) Type=ub
  31.  
  32.  
  33. #define udSRC_RGBA              udBOT_Y_IO
  34. #define ubSRC_RGBA              ubBOT_Y_IO
  35. #define nSRC_RGBA_REG           nBOT_Y
  36.  
  37. #define uwDEST_Y                uwTOP_Y
  38. #define uwDEST_U                uwTOP_U
  39. #define uwDEST_V                uwTOP_V
  40.  
  41. #define SRC_RGBA_OFFSET         a0.0
  42. #define SRC_RGBA_OFFSET_1       a0.0
  43. #define SRC_RGBA_OFFSET_2       a0.1
  44.  
  45. #define nSRC_REGION nREGION_1    // REGION_1 will be the source region for first kernel
  46.  
  47. // End of RGBA_Load_16x8.inc
  48. #endif