Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5361 serge 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
//---------- PL3_AVS_IEF_Unpack_8x8.asm ----------
12
 
13
    // Move 1st 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
    // Move 8x8 words of U to dest GRF
19
    $for(0; <8/2; 1) {
20
        mov (8) uwDEST_U(%1)<1>            ubAVS_RESPONSE(%1+4,1)<16;4,2>      // Copy high byte in a word
21
        mov (8) uwDEST_U(%1,8)<1>          ubAVS_RESPONSE(%1+4,8+1)<16;4,2>    // Copy high byte in a word
22
    }
23
 
24
    // Move 8x8 words of V to dest GRF
25
    $for(0; <8/2; 1) {
26
        mov (8) uwDEST_V(%1)<1>            ubAVS_RESPONSE(%1+8,1)<16;4,2>      // Copy high byte in a word
27
        mov (8) uwDEST_V(%1,8)<1>          ubAVS_RESPONSE(%1+8,8+1)<16;4,2>    // Copy high byte in a word
28
    }
29
 
30
    // Move 2nd 8x8 words of Y to dest GRF at higher 8 words of each RGF.
31
    $for(0; <8/2; 1) {
32
        mov (8) uwDEST_Y(%1*2,8)<1>        ubAVS_RESPONSE(%1+12,1)<16;4,2>     // Copy high byte in a word
33
        mov (8) uwDEST_Y(%1*2+1,8)<1>      ubAVS_RESPONSE(%1+12,8+1)<16;4,2>   // Copy high byte in a word
34
    }
35
 
36
//------------------------------------------------------------------------------
37
    // Re-define new # of lines
38
    #undef nUV_NUM_OF_ROWS
39
    #undef nY_NUM_OF_ROWS
40
 
41
    #define nY_NUM_OF_ROWS      8
42
    #define nUV_NUM_OF_ROWS     8
43