110 |
VECTOR predMV; |
VECTOR predMV; |
111 |
VECTOR * currentMV; |
VECTOR * currentMV; |
112 |
VECTOR * currentQMV; |
VECTOR * currentQMV; |
113 |
|
VECTOR * currentMV2; |
114 |
|
VECTOR * currentQMV2; |
115 |
int32_t * iMinSAD; |
int32_t * iMinSAD; |
116 |
|
int32_t * iMinSAD2; |
117 |
const uint8_t * RefP[6]; /* N, V, H, HV, cU, cV */ |
const uint8_t * RefP[6]; /* N, V, H, HV, cU, cV */ |
118 |
const uint8_t * CurU; |
const uint8_t * CurU; |
119 |
const uint8_t * CurV; |
const uint8_t * CurV; |
124 |
uint32_t iEdgedWidth; |
uint32_t iEdgedWidth; |
125 |
uint32_t iFcode; |
uint32_t iFcode; |
126 |
int * temp; |
int * temp; |
127 |
|
int * dir; |
128 |
int qpel, qpel_precision; |
int qpel, qpel_precision; |
129 |
int chroma; |
int chroma; |
130 |
int rrv; |
int rrv; |
149 |
|
|
150 |
|
|
151 |
typedef void(CheckFunc)(const int x, const int y, |
typedef void(CheckFunc)(const int x, const int y, |
152 |
const int Direction, int * const dir, |
const SearchData * const Data, |
153 |
const SearchData * const Data); |
const int Direction); |
|
CheckFunc *CheckCandidate; |
|
154 |
|
|
155 |
/* |
/* |
156 |
* Calculate the min/max range |
* Calculate the min/max range |
182 |
} |
} |
183 |
|
|
184 |
k = (int)(width - (x<<block_sz))<<precision; |
k = (int)(width - (x<<block_sz))<<precision; |
185 |
*max_dx = min(high, k); |
*max_dx = MIN(high, k); |
186 |
k = (int)(height - (y<<block_sz))<<precision; |
k = (int)(height - (y<<block_sz))<<precision; |
187 |
*max_dy = min(high, k); |
*max_dy = MIN(high, k); |
188 |
|
|
189 |
k = (-(int)((x+1)<<block_sz))<<precision; |
k = (-(int)((x+1)<<block_sz))<<precision; |
190 |
*min_dx = max(low, k); |
*min_dx = MAX(low, k); |
191 |
k = (-(int)((y+1)<<block_sz))<<precision; |
k = (-(int)((y+1)<<block_sz))<<precision; |
192 |
*min_dy = max(low, k); |
*min_dy = MAX(low, k); |
193 |
} |
} |
194 |
|
|
195 |
typedef void MainSearchFunc(int x, int y, const SearchData * const Data, int bDirection); |
typedef void |
196 |
|
MainSearchFunc(int x, int y, const SearchData * const Data, |
197 |
|
int bDirection, CheckFunc * const CheckCandidate); |
198 |
|
|
199 |
static MainSearchFunc DiamondSearch, AdvDiamondSearch, SquareSearch; |
static MainSearchFunc DiamondSearch, AdvDiamondSearch, SquareSearch; |
200 |
|
|