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. //---------- PL2_AVS_IEF_8x4.asm ----------
  12.        
  13.     // Move first 8x8 words of Y to dest GRF at lower 8 words of each RGF.
  14.     $for(0; <8/2; 1) {
  15.         mov (8) uwDEST_Y(%1*2)<1>        ubAVS_RESPONSE(%1,1)<16;4,2>      // Copy high byte in a word
  16.         mov (8) uwDEST_Y(%1*2+1)<1>      ubAVS_RESPONSE(%1,8+1)<16;4,2>    // Copy high byte in a word
  17.     }
  18.  
  19.     // Move 8x4 words of U to dest GRF  (Copy high byte in a word)
  20.     mov (8) uwDEST_U(0)<1>            ubAVS_RESPONSE(4,1)<16;4,2>      
  21.     mov (8) uwDEST_U(0,8)<1>          ubAVS_RESPONSE(5,1)<16;4,2>    
  22.     mov (8) uwDEST_U(1)<1>            ubAVS_RESPONSE(8,1)<16;4,2>      
  23.     mov (8) uwDEST_U(1,8)<1>          ubAVS_RESPONSE(9,1)<16;4,2>    
  24.  
  25.     // Move 8x4 words of V to dest GRF  
  26.     mov (8) uwDEST_V(0)<1>            ubAVS_RESPONSE(6,1)<16;4,2>      
  27.     mov (8) uwDEST_V(0,8)<1>          ubAVS_RESPONSE(7,1)<16;4,2>    
  28.     mov (8) uwDEST_V(1)<1>            ubAVS_RESPONSE(10,1)<16;4,2>      
  29.     mov (8) uwDEST_V(1,8)<1>          ubAVS_RESPONSE(11,1)<16;4,2>    
  30.  
  31.     // Move 2nd 8x8 words of Y to dest GRF at higher 8 words of each GRF.
  32.     $for(0; <8/2; 1) {
  33.         mov (8) uwDEST_Y(%1*2,8)<1>      ubAVS_RESPONSE_2(%1,1)<16;4,2>    // Copy high byte in a word
  34.         mov (8) uwDEST_Y(%1*2+1,8)<1>    ubAVS_RESPONSE_2(%1,8+1)<16;4,2>  // Copy high byte in a word
  35.     }
  36.  
  37. //------------------------------------------------------------------------------
  38.  
  39.     // Re-define new # of lines
  40.     #undef nUV_NUM_OF_ROWS
  41.     #undef nY_NUM_OF_ROWS
  42.    
  43.     #define nY_NUM_OF_ROWS      8
  44.     #define nUV_NUM_OF_ROWS     4
  45.  
  46.