Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * Add macroblock correction UV data blocks to predicted picture        
  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. #if !defined(__ADD_ERROR_UV__)          // Make sure this is only included once
  12. #define __ADD_ERROR_UV__
  13.  
  14. // Module name: add_Error_UV.asm
  15. //
  16. // Add macroblock correction UV data blocks to predicted picture
  17.  
  18. // PERROR points to error block Y3 after decoding Y component
  19.  
  20. //      Update address register used in instruction compression
  21. //
  22.  
  23. //  U component
  24. //
  25.     add (1) PERROR1<1>:w        PERROR:w        0x00010:w       // Pointers to next error row
  26.     $for(0,0; <8; 2,1) {
  27.         add.sat (16)    DEC_UV(%1)<4>   r[PERROR,%2*GRFWIB+0x80]REGION(8,1):w   PRED_UV(%1)REGION(8,4) {Compr}
  28.     }
  29.  
  30. //  V component
  31. //
  32.     $for(0,0; <8; 2,1) {
  33.         add.sat (16)    DEC_UV(%1,2)<4> r[PERROR,%2*GRFWIB+0x100]REGION(8,1):w  PRED_UV(%1,2)REGION(8,4) {Compr}
  34.     }
  35.  
  36. //  End of add_Error_UV
  37.  
  38. #endif  // !defined(__ADD_ERROR_UV__)
  39.