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.  
  11. // Module name: AYUV_Load_16x8.inc
  12. //
  13. // AYUV data are first loaded to bottom I/O REGION_2, then unpacked to planar data
  14. // and stored in top I/O REGION_1
  15.  
  16. #undef  nY_NUM_OF_ROWS
  17.  
  18. #define nY_NUM_OF_ROWS      8       // Number of Y rows per block
  19.  
  20. #define nDPR_BLOCK_SIZE_YUV           nBLOCK_WIDTH_32+nBLOCK_HEIGHT_8   // Y block size 32x8
  21. #define nDPR_MSG_SIZE_YUV             nRESLEN_8                         // # of MRF's to hold Y block data (8)
  22.  
  23. //Temporary storage for unpacked AYUV data
  24. #define     rUNPACK_TEMP     REG(r,nTEMP0)
  25. .declare    udUNPACK_TEMP    Base=rUNPACK_TEMP    ElementSize=4    SrcRegion=<8;8,1>    Type=ud        //1 GRF
  26. .declare    ubUNPACK_TEMP    Base=rUNPACK_TEMP    ElementSize=1    SrcRegion=<32;32,1>    Type=ub        //1 GRF
  27.  
  28. .declare ubBOT_Y_IO     Base=REG(r,nBOT_Y) ElementSize=1 SrcRegion=REGION(32,1) Type=ub
  29.  
  30.  
  31. #define udSRC_YUV               udBOT_Y_IO
  32. #define ubSRC_YUV               ubBOT_Y_IO
  33. #define nSRC_YUV_REG            nBOT_Y
  34.  
  35. #define uwDEST_Y                uwTOP_Y
  36. #define uwDEST_U                uwTOP_U
  37. #define uwDEST_V                uwTOP_V
  38.  
  39. #define SRC_YUV_OFFSET a0.0
  40.  
  41. #define nSRC_REGION nREGION_1    // REGION_1 will be the source region for first kernel
  42.  
  43. // End of AYUV_Load_16x8.inc
  44.