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: PL9x5_PL16x8.asm
  12.  
  13. #define EXPAND_9x5
  14. #include "Expansion.inc"
  15.  
  16. //------------------------------ Horizontal Upconversion -----------------------------
  17.     $for (nUV_NUM_OF_ROWS-2; >-1; -1) {
  18.         avg.sat (16) uwDEST_U(0, %1*16)<1>    uwDEST_U(0, %1*16)<1;2,0>    uwDEST_U(0, %1*16)<1;2,1>
  19.         avg.sat (16) uwDEST_V(0, %1*16)<1>    uwDEST_V(0, %1*16)<1;2,0>    uwDEST_V(0, %1*16)<1;2,1>
  20.     }
  21.  
  22. #undef  nUV_NUM_OF_ROWS
  23. #define nUV_NUM_OF_ROWS         8       //use packed version of all post-processing kernels
  24.  
  25. //------------------------------- Vertical Upconversion ------------------------------
  26.     avg.sat (16) uwDEST_U(0, 3*32+16)<1>   uwDEST_U(0, 3*16)    uwDEST_U(0, (1+3)*16)
  27.     avg.sat (16) uwDEST_V(0, 3*32+16)<1>   uwDEST_V(0, 3*16)    uwDEST_V(0, (1+3)*16)
  28.  
  29.     $for(nUV_NUM_OF_ROWS/2-2; >-1; -1) {
  30.         mov     (16) uwDEST_U(0, (1+%1)*32)<1>    uwDEST_U(0, (1+%1)*16)
  31.         avg.sat (16) uwDEST_U(0, %1*32+16)<1>   uwDEST_U(0, %1*16)    uwDEST_U(0, (1+%1)*16)
  32.  
  33.         mov     (16) uwDEST_V(0, (1+%1)*32)<1>    uwDEST_V(0, (1+%1)*16)
  34.         avg.sat (16) uwDEST_V(0, %1*32+16)<1>   uwDEST_V(0, %1*16)    uwDEST_V(0, (1+%1)*16)
  35.     }
  36.  
  37. // End of PL9x5_PL16x8
  38.