2
* All Video Processing kernels
3
* Copyright © <2010>, Intel Corporation.
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.
11
// Module name: AVS_IEF.inc
16
#include "undefall.inc" //Undefine the SRC and DEST sysmbols
25
// 15 Alpha Write Channel Mask enable=0, disable=1
26
// 14 Blue Write Channel Mask (V)
27
// 13 Green Write Channel Mask (Y)
28
// 12 Red Write Channel Mask (U)
33
#define mAVS_8x8_HDR m0 // Message Header
34
#define mAVS_PAYLOAD m1 // Message Payload Header
36
#define mAVS_8x8_HDR_2 m2 // Message Header
37
#define mAVS_PAYLOAD_2 m3 // Message Payload Header
39
#define mAVS_8x8_HDR_UV m2 // Message Header
40
#define mAVS_PAYLOAD_UV m3 // Message Payload Header
42
#define rAVS_8x8_HDR rMSGSRC // Mirror of Message Header
43
#define rAVS_PAYLOAD r9 // Mirror of Message Payload Header
47
// m1.6 Pixel 0 V Address ---> ORIY (Y0)
48
// m1.5 Delta V ---> Step Y
51
// m1.2 Pixel 0 U Address ---> ORIX (X0)
52
// m1.1 U 2nd Derivative ---> NLAS dx
53
// m1.0 Delta U ---> Step X
55
// Sampler Message Descriptor
57
// 28:25 Message length 0010
58
// 24:20 Response length xxxxx ---> 4GRFs for each enabled channel
59
// 19 Header Present 1
61
// 17:16 SIMD Mode 11 ---> SIMD64
62
// 15:12 Message Type 0011 ---> sample_8x8
63
// 11:8 Sampler Index xxxx
64
// 7:0 Binding Table Index xxxxxxxx
65
#define nAVS_MSG_DSC_1CH 0x044BB000
66
#define nAVS_MSG_DSC_2CH 0x048BB000
67
#define nAVS_MSG_DSC_3CH 0x04CBB000
68
#define nAVS_MSG_DSC_4CH 0x050BB000
70
#define nAVS_RED_CHANNEL_ONLY 0x0000E000 // Enable Red channel only
71
#define nAVS_GREEN_CHANNEL_ONLY 0x0000D000 // Enable Green channel only
72
#define nAVS_RED_BLUE_CHANNELS 0x0000A000 // Enable Red and Blue channels
73
#define nAVS_RGB_CHANNELS 0x00008000 // Enable RGB(YUV) channels
74
#define nAVS_ALL_CHANNELS 0x00000000 // Enable all channels (ARGB\AYUV)
78
.declare ubAVS_RESPONSE Base=REG(r,nTEMP8) ElementSize=1 SrcRegion=REGION(16,1) Type=ub
79
.declare uwAVS_RESPONSE Base=REG(r,nTEMP8) ElementSize=2 SrcRegion=REGION(16,1) Type=uw
81
.declare ubAVS_RESPONSE_2 Base=REG(r,nTEMP24) ElementSize=1 SrcRegion=REGION(16,1) Type=ub
82
.declare uwAVS_RESPONSE_2 Base=REG(r,nTEMP24) ElementSize=2 SrcRegion=REGION(16,1) Type=uw
85
#if (nSRC_REGION==nREGION_2)
86
#define uwDEST_Y uwBOT_Y
87
#define uwDEST_U uwBOT_U
88
#define uwDEST_V uwBOT_V
90
#define ubDEST_Y ubBOT_Y
93
#define nSRC_REGION nREGION_2
95
#else //(nSRC_REGION==nREGION_1)
96
#define uwDEST_Y uwTOP_Y
97
#define uwDEST_U uwTOP_U
98
#define uwDEST_V uwTOP_V
100
#define ubDEST_Y ubTOP_Y
103
#define nSRC_REGION nREGION_1
108
#endif //_AVS_INF_INC_