Ignore:
Timestamp:
28 Nov 2013, 10:04:37 (10 years ago)
Author:
mediatek-htm
Message:

Bug fix for F0093, addded macro is

#define BUGFIX_F0093 1 bug fix for F0093 for depth IvMC pruning

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-8.2-dev0-MediaTek/source/Lib/TLibCommon/TComMotionInfo.cpp

    r608 r716  
    4040#include "assert.h"
    4141#include <stdlib.h>
     42#if MTK_SPIVMP_F0110
     43#include "TComDataCU.h"
     44#include "TComPic.h"
     45#endif
    4246
    4347//! \ingroup TLibCommon
     
    323327  setAllRefIdx( mvField.getRefIdx(), eCUMode, iPartAddr, uiDepth, iPartIdx );
    324328}
     329
     330#if MTK_SPIVMP_F0110
     331Void TComCUMvField::setMvFieldSP( TComDataCU* pcCU, UInt uiAbsPartIdx, TComMvField cMvField, Int iWidth, Int iHeight  )
     332{
     333  uiAbsPartIdx += pcCU->getZorderIdxInCU();
     334  Int iStartPelX = g_auiRasterToPelX[g_auiZscanToRaster[uiAbsPartIdx]];
     335  Int iStartPelY = g_auiRasterToPelY[g_auiZscanToRaster[uiAbsPartIdx]];
     336  Int iEndPelX = iStartPelX + iWidth;
     337  Int iEndPelY = iStartPelY + iHeight;
     338
     339  Int iCurrRaster, uiPartAddr;
     340
     341  for (Int i=iStartPelY; i<iEndPelY; i+=pcCU->getPic()->getMinCUHeight())
     342  {
     343    for (Int j=iStartPelX; j < iEndPelX; j += pcCU->getPic()->getMinCUWidth())
     344    {
     345      iCurrRaster = i / pcCU->getPic()->getMinCUHeight() * pcCU->getPic()->getNumPartInWidth() + j/pcCU->getPic()->getMinCUWidth();
     346      uiPartAddr = g_auiRasterToZscan[iCurrRaster];
     347      uiPartAddr -= pcCU->getZorderIdxInCU(); 
     348
     349      m_pcMv[uiPartAddr] = cMvField.getMv();
     350      m_piRefIdx[uiPartAddr] = cMvField.getRefIdx();
     351    }
     352  }
     353}
     354#endif
    325355
    326356/**Subsampling of the stored prediction mode, reference index and motion vector
Note: See TracChangeset for help on using the changeset viewer.