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: PL2_Load.inc
  12.  
  13. #undef  nY_NUM_OF_ROWS
  14. #undef  nUV_NUM_OF_ROWS
  15.  
  16. #define nY_NUM_OF_ROWS      8                                         // Number of Y rows per block
  17. #define nDPR_BLOCK_SIZE_Y   nBLOCK_WIDTH_16+nBLOCK_HEIGHT_8           // Y block size 16x8
  18. #define nDPR_MSG_SIZE_Y     nRESLEN_4                                 // # of MRF's to hold Y block data (4)
  19.  
  20.  
  21. #if defined(NV11_LOAD_4x8)
  22.        #define nUV_NUM_OF_ROWS     8                                 // Number of U/V rows per block
  23.        #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_8+nBLOCK_HEIGHT_8    // U/V block size 8x8
  24.        #define nDPR_MSG_SIZE_UV    nRESLEN_2                         // # of MRF's to hold U/V block data (2)
  25. #endif
  26.  
  27. #if defined(NV11_LOAD_5x8)
  28.         #define nUV_NUM_OF_ROWS     8                                 // Number of U/V rows per block
  29.         #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_12+nBLOCK_HEIGHT_8   // U/V block size 12x8
  30.         #define nDPR_MSG_SIZE_UV    nRESLEN_4                         // # of MRF's to hold U/V block data (4)
  31. #endif
  32. #if defined(NV12_LOAD_8x4)
  33.        #define nUV_NUM_OF_ROWS     4                                 // Number of U/V rows per block
  34.        #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_16+nBLOCK_HEIGHT_4   // U/V block size 16x4
  35.        #define nDPR_MSG_SIZE_UV    nRESLEN_2                         // # of MRF's to hold U/V block data (2)
  36. #endif
  37. #if defined(NV12_LOAD_8x5)
  38.         #define nUV_NUM_OF_ROWS     6                                 // Number of U/V rows per block (Rounded Up to Nearest Even Number)
  39.         #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_16+nBLOCK_HEIGHT_5   // U/V block size 16x5
  40.         #define nDPR_MSG_SIZE_UV    nRESLEN_3                         // # of MRF's to hold U/V block data (3)
  41. #endif
  42. #if defined(NV12_LOAD_9x5)
  43.        #define nUV_NUM_OF_ROWS     6                                 // Number of U/V rows per block (Rounded Up to Nearest Even Number)
  44.        #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_20+nBLOCK_HEIGHT_5   // U/V block size 20x5
  45.        #define nDPR_MSG_SIZE_UV    nRESLEN_5                         // # of MRF's to hold U/V block data (5)
  46. #endif
  47. #if defined(P208_LOAD_8x8)
  48.         #define nUV_NUM_OF_ROWS     8                                 // Number of U/V rows per block
  49.         #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_16+nBLOCK_HEIGHT_8   // U/V block size 16x8
  50.         #define nDPR_MSG_SIZE_UV    nRESLEN_4                         // # of MRF's to hold U/V block data (4)
  51. #endif
  52. #if defined(P208_LOAD_9x8)
  53.        #define nUV_NUM_OF_ROWS     8                                 // Number of U/V rows per block
  54.        #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_20+nBLOCK_HEIGHT_8   // U/V block size 20x8
  55.        #define nDPR_MSG_SIZE_UV    nRESLEN_8                         // # of MRF's to hold U/V block data (8)
  56. #endif
  57.  
  58. // Source/destination region definitions
  59. #if !defined(udSRC_Y)
  60.         #define udSRC_Y  udBOT_Y_IO     // Default Y source region is top Y region
  61. #endif
  62.  
  63. #if !defined(udSRC_U)
  64.         #define udSRC_U  udBOT_U_IO     // Default U source region is top U region
  65. #endif
  66.  
  67. #define ubSRC_Y           ubBOT_Y
  68. #define nSRC_Y_REG        nBOT_Y
  69. #define ubSRC_U           ubBOT_U
  70. #define nSRC_U_REG        nBOT_U
  71.  
  72. #define uwDEST_Y          uwTOP_Y       // However they can be transferred to word-aligned byte if desired
  73. #define uwDEST_U          uwTOP_U
  74. #define uwDEST_V          uwTOP_V
  75.  
  76. #define ubDEST_Y          ubTOP_Y       // I'd like use them for color conversion
  77. #define uwSRC_U           uwBOT_U
  78.  
  79. #define nSRC_REGION       nREGION_1     // REGION_1 will be the source region for first kernel
  80.  
  81. // End of PL2_Load.inc
  82.