137 |
Interpolate8x8qpel(const int x, const int y, const int block, const int dir, const SearchData * const data) |
Interpolate8x8qpel(const int x, const int y, const int block, const int dir, const SearchData * const data) |
138 |
{ |
{ |
139 |
// create or find a qpel-precision reference picture; return pointer to it |
// create or find a qpel-precision reference picture; return pointer to it |
140 |
uint8_t * Reference = (uint8_t *)data->RefQ; |
uint8_t * Reference = (uint8_t *)data->RefQ + 16*dir; |
141 |
const int32_t iEdgedWidth = data->iEdgedWidth; |
const int32_t iEdgedWidth = data->iEdgedWidth; |
142 |
const uint32_t rounding = data->rounding; |
const uint32_t rounding = data->rounding; |
143 |
const int halfpel_x = x/2; |
const int halfpel_x = x/2; |
182 |
Interpolate16x16qpel(const int x, const int y, const int dir, const SearchData * const data) |
Interpolate16x16qpel(const int x, const int y, const int dir, const SearchData * const data) |
183 |
{ |
{ |
184 |
// create or find a qpel-precision reference picture; return pointer to it |
// create or find a qpel-precision reference picture; return pointer to it |
185 |
uint8_t * Reference = (uint8_t *)data->RefQ; |
uint8_t * Reference = (uint8_t *)data->RefQ + 16*dir; |
186 |
const int32_t iEdgedWidth = data->iEdgedWidth; |
const int32_t iEdgedWidth = data->iEdgedWidth; |
187 |
const uint32_t rounding = data->rounding; |
const uint32_t rounding = data->rounding; |
188 |
const int halfpel_x = x/2; |
const int halfpel_x = x/2; |
1536 |
bData.RefHV = fData->bRefHV = b_RefHV + (x + y * iEdgedWidth) * 16; |
bData.RefHV = fData->bRefHV = b_RefHV + (x + y * iEdgedWidth) * 16; |
1537 |
bData.RefQ = fData->RefQ; |
bData.RefQ = fData->RefQ; |
1538 |
fData->qpel_precision = bData.qpel_precision = 0; |
fData->qpel_precision = bData.qpel_precision = 0; |
1539 |
bData.rounding = 0; |
bData.rounding = 0; bData.qpel = fData->qpel; |
1540 |
|
|
1541 |
bData.bpredMV = fData->predMV = *f_predMV; |
bData.bpredMV = fData->predMV = *f_predMV; |
1542 |
fData->bpredMV = bData.predMV = *b_predMV; |
fData->bpredMV = bData.predMV = *b_predMV; |