2012 |
bData.bpredMV = fData->predMV = *f_predMV; |
bData.bpredMV = fData->predMV = *f_predMV; |
2013 |
fData->bpredMV = bData.predMV = *b_predMV; |
fData->bpredMV = bData.predMV = *b_predMV; |
2014 |
|
|
2015 |
fData->currentMV[0] = fData->currentMV[3]; |
fData->currentMV[0] = fData->currentMV[2]; |
2016 |
get_range(&fData->min_dx, &fData->max_dx, &fData->min_dy, &fData->max_dy, x, y, 16, pParam->width, pParam->height, fcode, pParam->m_quarterpel); |
get_range(&fData->min_dx, &fData->max_dx, &fData->min_dy, &fData->max_dy, x, y, 16, pParam->width, pParam->height, fcode, pParam->m_quarterpel); |
2017 |
get_range(&bData.min_dx, &bData.max_dx, &bData.min_dy, &bData.max_dy, x, y, 16, pParam->width, pParam->height, bcode, pParam->m_quarterpel); |
get_range(&bData.min_dx, &bData.max_dx, &bData.min_dy, &bData.max_dy, x, y, 16, pParam->width, pParam->height, bcode, pParam->m_quarterpel); |
2018 |
|
|
2060 |
fData->currentQMV[2].y = fData->currentQMV[0].y = 2 * fData->currentMV[0].y; |
fData->currentQMV[2].y = fData->currentQMV[0].y = 2 * fData->currentMV[0].y; |
2061 |
fData->currentQMV[1].x = 2 * fData->currentMV[1].x; |
fData->currentQMV[1].x = 2 * fData->currentMV[1].x; |
2062 |
fData->currentQMV[1].y = 2 * fData->currentMV[1].y; |
fData->currentQMV[1].y = 2 * fData->currentMV[1].y; |
2063 |
QuarterpelRefine(fData); |
// QuarterpelRefine(fData); |
2064 |
fData->currentQMV[2] = fData->currentQMV[0]; |
fData->currentQMV[2] = fData->currentQMV[0]; |
2065 |
QuarterpelRefine(&bData); |
// QuarterpelRefine(&bData); |
2066 |
} |
} |
2067 |
|
|
2068 |
if (*fData->iMinSAD < *best_sad) { |
if (*fData->iMinSAD < *best_sad) { |
2185 |
MODE_BACKWARD, &Data); |
MODE_BACKWARD, &Data); |
2186 |
|
|
2187 |
// interpolate search comes last, because it uses data from forward and backward as prediction |
// interpolate search comes last, because it uses data from forward and backward as prediction |
2188 |
|
/* |
2189 |
SearchInterpolate(f_ref->y, f_refH->y, f_refV->y, f_refHV->y, |
SearchInterpolate(f_ref->y, f_refH->y, f_refV->y, f_refHV->y, |
2190 |
b_ref->y, b_refH->y, b_refV->y, b_refHV->y, |
b_ref->y, b_refH->y, b_refV->y, b_refHV->y, |
2191 |
&frame->image, |
&frame->image, |
2196 |
&f_predMV, &b_predMV, |
&f_predMV, &b_predMV, |
2197 |
pMB, &best_sad, |
pMB, &best_sad, |
2198 |
&Data); |
&Data); |
2199 |
|
*/ |
2200 |
switch (pMB->mode) { |
switch (pMB->mode) { |
2201 |
case MODE_FORWARD: |
case MODE_FORWARD: |
2202 |
f_count++; |
f_count++; |