Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * Save Intra_8x8 decoded Y picture data to frame buffer
  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. #if !defined(__SAVE_8X8_Y__)            // Make sure this is only included once
  11. #define __SAVE_8X8_Y__
  12.  
  13. // Module name: save_8x8_Y.asm
  14. //
  15. // Save Intra_8x8 decoded Y picture data to frame buffer
  16. // NotE: Every 4 rows of Y data are interleaved with the horizontal neighboring blcok
  17. //
  18. save_8x8_Y:
  19.  
  20.     mov (1) MSGSRC.2:ud         0x000F000F:ud {NoDDClr}         // Block width and height (16x16)
  21.     mov (2) MSGSRC.0:ud         I_ORIX<2;2,1>:w {NoDDChk}       // X, Y offset
  22.  
  23. //  Update message descriptor based on previous read setup
  24. //
  25. #ifdef DEV_ILK
  26.     add (1)             MSGDSC  MSGDSC MSG_LEN(8)+DWBWMSGDSC_WC-DWBRMSGDSC_RC-0x00200000:ud  // Set message descriptor
  27. #else
  28.     add (1)             MSGDSC  MSGDSC MSG_LEN(8)+DWBWMSGDSC_WC-DWBRMSGDSC_RC-0x00020000:ud  // Set message descriptor
  29. #endif  // DEV_ILK
  30.  
  31.         mov (16)        MSGPAYLOAD(0)<1>        DEC_Y(0)<32;8,1>
  32.         mov (16)        MSGPAYLOAD(0,16)<1>     DEC_Y(0,8)<32;8,1>
  33.         mov (16)        MSGPAYLOAD(1,0)<1>      DEC_Y(0,16)<32;8,1>
  34.         mov (16)        MSGPAYLOAD(1,16)<1>     DEC_Y(0,24)<32;8,1>
  35.  
  36.         mov (16)        MSGPAYLOAD(2)<1>        DEC_Y(2)<32;8,1>
  37.         mov (16)        MSGPAYLOAD(2,16)<1>     DEC_Y(2,8)<32;8,1>
  38.         mov (16)        MSGPAYLOAD(3,0)<1>      DEC_Y(2,16)<32;8,1>
  39.         mov (16)        MSGPAYLOAD(3,16)<1>     DEC_Y(2,24)<32;8,1>
  40.  
  41.         mov (16)        MSGPAYLOAD(4)<1>        DEC_Y(4)<32;8,1>
  42.         mov (16)        MSGPAYLOAD(4,16)<1>     DEC_Y(4,8)<32;8,1>
  43.         mov (16)        MSGPAYLOAD(5,0)<1>      DEC_Y(4,16)<32;8,1>
  44.         mov (16)        MSGPAYLOAD(5,16)<1>     DEC_Y(4,24)<32;8,1>
  45.  
  46.         mov (16)        MSGPAYLOAD(6)<1>        DEC_Y(6)<32;8,1>
  47.         mov (16)        MSGPAYLOAD(6,16)<1>     DEC_Y(6,8)<32;8,1>
  48.         mov (16)        MSGPAYLOAD(7,0)<1>      DEC_Y(6,16)<32;8,1>
  49.         mov (16)        MSGPAYLOAD(7,16)<1>     DEC_Y(6,24)<32;8,1>
  50.  
  51.     send (8)    REG_WRITE_COMMIT_Y<1>:ud        MSGHDR  MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC
  52.  
  53.     RETURN
  54. // End of save_8x8_Y
  55.  
  56. #endif  // !defined(__SAVE_8X8_Y__)
  57.