Esempio n. 1
0
void DecodeFrame(SBitObj* pBitObj, Ipp16s* pRandVec, Ipp16s* pMlt,
         Ipp16s* pScale, Ipp16s* pOldScale, Ipp16s* pOldMlt, Ipp16s errFlag){
   Ipp16s absRegPowerIndices[REG_NUM];
   Ipp16s powerCategories[REG_NUM];
   Ipp16s categoryBalances[CAT_CONTROL_MAX-1];
   Ipp16u ctgCtrl;
   Ipp16s stdDeviations[REG_NUM];

   if (errFlag == 0) {
      /* convert the bits to absolute region power index and region standard deviation */
      RecoveStdDeviations(pBitObj, stdDeviations, absRegPowerIndices, pScale);
      /* fill the categorization control with CAT_CONTROL_BITS */
      ctgCtrl = GetNextBits(pBitObj, CAT_CONTROL_BITS);
      /* obtain decoder power categories and category balances */
      CategorizeFrame(pBitObj->curBitsNumber, absRegPowerIndices,
           powerCategories, categoryBalances);
      /* adjustments to the power categories and category balances */
      ArrangePowerCategories(ctgCtrl, powerCategories, categoryBalances);
      /* decode mlt */
      DecodeBitsToMlt(pBitObj, pRandVec, stdDeviations, powerCategories, pMlt);
      /* test for frame errors */
      TestFrame(pBitObj, errFlag, ctgCtrl, absRegPowerIndices);
   }
   /* perform error handling  */
   ProcessErrors(&errFlag, pMlt, pOldMlt, pScale, pOldScale);
}
Esempio n. 2
0
    static void CheckCpp()
    {
        TestPoint();

        TestView();

        TestFrame();

        TestPyramid();
	}
Esempio n. 3
0
bool IMBuffer::Received()
{
  bool b=(rSize>0);
      if (b) {
         b= TestFrame();
      }
  rSize=0;
  if (!b){
    DBGINFO("[");
    DBGINFO(state);
    DBGINFO(":EE:");
    DBGINFO(millis());
    DBGINFO("] ");
  }

  return b;
}