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: PL8x4_Save_IMC3.inc
  12. //
  13. // Setup for storing planar data
  14. //
  15.  
  16. #include "undefall.inc"                 //Undefine the SRC and DEST sysmbols
  17.  
  18. // For saving
  19. #define nDPW_BLOCK_SIZE_Y        nBLOCK_WIDTH_16+nBLOCK_HEIGHT_8    // Y block size 16x8
  20. #define nDPW_MSG_SIZE_Y          nMSGLEN_4                          // # of MRF's to hold Y block data (4)
  21. #define nDPW_BLOCK_SIZE_UV       nBLOCK_WIDTH_8+nBLOCK_HEIGHT_4     // U/V block size 8x4
  22. #define nDPW_MSG_SIZE_UV         nMSGLEN_1                          // # of MRF's to hold U/V block data (1)
  23.  
  24. // For masking
  25. #undef  nDPR_MSG_SIZE_Y
  26. #define nDPR_MSG_SIZE_Y      nRESLEN_4        // # of MRF's to hold Y block data (4)
  27. #undef  nDPR_MSG_SIZE_UV
  28. #define nDPR_MSG_SIZE_UV     nRESLEN_1        // # of MRF's to hold U/V block data (1)
  29. #define     rMASK_TEMP     REG(r,nTEMP0)
  30. .declare    uwMASK_TEMP    Base=rMASK_TEMP    ElementSize=2    SrcRegion=<8;8,1>    Type=uw        //1 GRF
  31.  
  32. #if (nSRC_REGION==nREGION_1)
  33.     // For saving
  34.     #define ub2DEST_Y        ub2TOP_Y
  35.     #define ub2DEST_U        ub2TOP_U
  36.     #define ub2DEST_V        ub2TOP_V
  37.     //For masking operation
  38.     #define udSRC_Y          udBOT_Y_IO
  39.     #define udSRC_U          udBOT_U_IO
  40.     #define udSRC_V          udBOT_V_IO
  41.     #define ubSRC_Y          ubBOT_Y
  42.     #define ubSRC_U          ubBOT_U
  43.     #define ubSRC_V          ubBOT_V
  44.     #define uwSRC_U          uwBOT_U
  45.     #define uwSRC_V          uwBOT_V
  46.  
  47. #elif (nSRC_REGION==nREGION_2)
  48.     // For saving
  49.     #define ub2DEST_Y        ub2BOT_Y
  50.     #define ub2DEST_U        ub2BOT_U
  51.     #define ub2DEST_V        ub2BOT_V
  52.     //For masking operation
  53.     #define udSRC_Y          udTOP_Y_IO
  54.     #define udSRC_U          udTOP_U_IO
  55.     #define udSRC_V          udTOP_V_IO
  56.     #define ubSRC_Y          ubTOP_Y
  57.     #define ubSRC_U          ubTOP_U
  58.     #define ubSRC_V          ubTOP_V
  59.     #define uwSRC_U          uwTOP_U
  60.     #define uwSRC_V          uwTOP_V
  61.  
  62. #endif
  63.