Alien-FreeImage
view release on metacpan or search on metacpan
src/Source/LibJXR/image/encode/strFwdTransform.c view on Meta::CPAN
if (!top && !bHoriTileBoundary)
{
if (left || bVertTileBoundary)
strPre2(p0 + 48 + 0, p1 + 0);
if (right || bVertTileBoundary)
strPre2(p0 + 48 + -64, p1 + -64);
}
if (left || bVertTileBoundary)
strPre2(p1 + 16, p1 + 16 + 16);
if (right || bVertTileBoundary)
strPre2(p1 + -48, p1 + -48 + 16);
}
if (!leftORright && !bVertTileBoundary)
{
if (top || bHoriTileBoundary)
strPre2(p1 - 64, p1);
else
strPre2x2(p0 - 16, p0 + 48, p1 - 64, p1);
strPre2x2(p1 - 48, p1 + 16, p1 - 32, p1 + 32);
}
}
if ((bottom || bHoriTileBoundary) && (!leftORright && !bVertTileBoundary))
strPre2(p0 - 16, p0 + 48);
if ((leftAdjacentColumn || bOneMBRightVertTB) && (top || bHoriTileBoundary))
COMPUTE_CORNER_PRED_ADD(p1 - 128 + 0, *(p1 - 128 + 64));
if ((rightAdjacentColumn || bOneMBLeftVertTB) && (top || bHoriTileBoundary))
iPredAfter[i][0] = *(p1 + 0);
if ((right || bVertTileBoundary) && (top || bHoriTileBoundary))
COMPUTE_CORNER_PRED_ADD(p1 - 128 + 64, iPredAfter[i][0]);
if ((leftAdjacentColumn || bOneMBRightVertTB) && (bottom || bHoriTileBoundary))
COMPUTE_CORNER_PRED_ADD(p0 - 128 + 48, *(p0 - 128 + 112));
if ((rightAdjacentColumn || bOneMBLeftVertTB) && (bottom || bHoriTileBoundary))
iPredAfter[i][1] = *(p0 + 48);
if ((right || bVertTileBoundary) && (bottom || bHoriTileBoundary))
COMPUTE_CORNER_PRED_ADD(p0 - 128 + 112, iPredAfter[i][1]);
}
//================================
// second level transform (422_UV)
if (!topORleft)
{
if (!pSC->m_param.bScaledArith) {
strDCT2x2dn(p0 - 128, p0 - 64, p0 - 112, p0 - 48);
strDCT2x2dn(p0 - 96, p0 - 32, p0 - 80, p0 - 16);
}
else {
strDCT2x2dnEnc(p0 - 128, p0 - 64, p0 - 112, p0 - 48);
strDCT2x2dnEnc(p0 - 96, p0 - 32, p0 - 80, p0 - 16);
}
// 1D lossless HT
p0[- 96] -= p0[-128];
p0[-128] += ((p0[-96] + 1) >> 1);
}
}
assert(NULL == p);
}
( run in 0.903 second using v1.01-cache-2.11-cpan-acf6aa7dc9e )