Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | 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_8x8.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 8x8 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(4,8+1)<16;4,2>    
  22.     mov (8) uwDEST_U(1)<1>            ubAVS_RESPONSE(5,1)<16;4,2>      
  23.     mov (8) uwDEST_U(1,8)<1>          ubAVS_RESPONSE(5,8+1)<16;4,2>    
  24.     mov (8) uwDEST_U(2)<1>            ubAVS_RESPONSE(8,1)<16;4,2>      
  25.     mov (8) uwDEST_U(2,8)<1>          ubAVS_RESPONSE(8,8+1)<16;4,2>    
  26.     mov (8) uwDEST_U(3)<1>            ubAVS_RESPONSE(9,1)<16;4,2>      
  27.     mov (8) uwDEST_U(3,8)<1>          ubAVS_RESPONSE(9,8+1)<16;4,2>    
  28.  
  29.     // Move 8x8 words of V to dest GRF  
  30.     mov (8) uwDEST_V(0)<1>            ubAVS_RESPONSE(6,1)<16;4,2>      
  31.     mov (8) uwDEST_V(0,8)<1>          ubAVS_RESPONSE(6,8+1)<16;4,2>    
  32.     mov (8) uwDEST_V(1)<1>            ubAVS_RESPONSE(7,1)<16;4,2>      
  33.     mov (8) uwDEST_V(1,8)<1>          ubAVS_RESPONSE(7,8+1)<16;4,2>    
  34.     mov (8) uwDEST_V(2)<1>            ubAVS_RESPONSE(10,1)<16;4,2>    
  35.     mov (8) uwDEST_V(2,8)<1>          ubAVS_RESPONSE(10,8+1)<16;4,2>  
  36.     mov (8) uwDEST_V(3)<1>            ubAVS_RESPONSE(11,1)<16;4,2>    
  37.     mov (8) uwDEST_V(3,8)<1>          ubAVS_RESPONSE(11,8+1)<16;4,2>  
  38.  
  39.     // Move 2nd 8x8 words of Y to dest GRF at higher 8 words of each GRF.
  40.     $for(0; <8/2; 1) {
  41.         mov (8) uwDEST_Y(%1*2,8)<1>      ubAVS_RESPONSE_2(%1,1)<16;4,2>    // Copy high byte in a word
  42.         mov (8) uwDEST_Y(%1*2+1,8)<1>    ubAVS_RESPONSE_2(%1,8+1)<16;4,2>  // Copy high byte in a word
  43.     }
  44.  
  45. //------------------------------------------------------------------------------
  46.  
  47.     // Re-define new # of lines
  48.     #undef nUV_NUM_OF_ROWS
  49.     #undef nY_NUM_OF_ROWS
  50.    
  51.     #define nY_NUM_OF_ROWS      8
  52.     #define nUV_NUM_OF_ROWS     8
  53.  
  54.