2 * Decode Intra_16x16 macroblock
\r
3 * Copyright © <2010>, Intel Corporation.
\r
5 * This program is licensed under the terms and conditions of the
\r
6 * Eclipse Public License (EPL), version 1.0. The full text of the EPL is at
\r
7 * http://www.opensource.org/licenses/eclipse-1.0.php.
\r
10 // Kernel name: Intra_16x16.asm
\r
12 // Decoding of Intra_16x16 macroblock
\r
15 // $Date: 10/18/06 4:10p $
\r
18 // ----------------------------------------------------
\r
19 // Main: Intra_16x16
\r
20 // ----------------------------------------------------
\r
28 // WA for FULSIM so we'll know which kernel is being debugged
\r
29 mov (1) acc0:ud 0x00aa55a5:ud
\r
32 #include "SetupForHWMC.asm"
\r
34 #ifdef SW_SCOREBOARD
\r
35 CALL(scoreboard_start_intra,1)
\r
38 #ifdef SW_SCOREBOARD
\r
39 wait n0:ud // Now wait for scoreboard to response
\r
45 // Load reference data from neighboring macroblocks
\r
46 CALL(load_Intra_Ref_Y,1)
\r
48 // Intra predict Intra_16x16 luma block
\r
49 #include "intra_pred_16x16_Y.asm"
\r
51 // Add error data to predicted intra data
\r
52 #include "add_Error_16x16_Y.asm"
\r
54 // Save decoded Y picture
\r
55 CALL(save_16x16_Y,1)
\r
57 // Decode U/V blocks
\r
59 // Note: The decoding for chroma blocks will be the same for all intra prediction mode
\r
61 CALL(decode_Chroma_Intra,1)
\r
63 #ifdef SW_SCOREBOARD
\r
64 #include "scoreboard_update.asm"
\r
67 // Terminate the thread
\r
69 #include "EndIntraThread.asm"
\r
71 // End of Intra_16x16
\r