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. // Module name: readSampler16x1.asm
  12. //
  13. // Read one row of pix through sampler
  14. //
  15.  
  16.  
  17.  
  18. //#define SAMPLER_MSG_DSC               0x166A0000      // ILK Sampler Message Descriptor
  19.  
  20.  
  21.  
  22. // Send Message [DevILK]                                Message Descriptor
  23. //  MBZ MsgL=5 MsgR=8                            H MBZ   SIMD     MsgType   SmplrIndx BindTab
  24. //  000 0 101 0 1000                             1  0     10     0000         0000    00000000
  25. //    0     A    8                                     A             0             0     0     0
  26.  
  27. //     MsgL=1+2*2(u,v)=5 MsgR=8
  28.  
  29. #define SAMPLER_MSG_DSC         0x0A8A0000      // ILK Sampler Message Descriptor
  30.  
  31.  
  32.  
  33.  
  34.  
  35.                                                                                
  36.  
  37.         // Assume MSGSRC is set already in the caller
  38.         //mov (8)               rMSGSRC.0<1>:ud                 0:ud    // Unused fileds
  39.  
  40.  
  41.  
  42.         // Read 16 sampled pixels and stored them in float32 in 8 GRFs
  43.         // 422 data is expanded to 444, return 8 GRF in the order of RGB- (UYV-).
  44.         // 420 data has three surfaces, return 8 GRF. Valid is always in the 1st GRF when in R8.  Make sure no overwrite the following 3 GRFs.
  45.         // alpha data is expanded to 4444, return 8 GRF in the order of RGBA (UYVA).
  46.  
  47.     mov(16)     mMSGHDR<1>:uw   rMSGSRC<16;16,1>:uw
  48.     send (16)   DATABUF(0)<1>   mMSGHDR         udDUMMY_NULL    0x2 SAMPLER_MSG_DSC+SAMPLER_IDX+BINDING_IDX:ud
  49.  
  50.  
  51.  
  52.  
  53.    
  54.  
  55.  
  56.