Changeset 1262 in 3DVCSoftware for branches/HTM-14.1-update-dev4-Qualcomm/source/Lib/TLibCommon/TComPrediction.cpp
- Timestamp:
- 29 Jun 2015, 19:43:32 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-14.1-update-dev4-Qualcomm/source/Lib/TLibCommon/TComPrediction.cpp
r1222 r1262 123 123 m_cYuvPredTemp.destroy(); 124 124 125 #if H_3D_ARP125 #if NH_3D_ARP 126 126 m_acYuvPredBase[0].destroy(); 127 127 m_acYuvPredBase[1].destroy(); … … 182 182 183 183 m_cYuvPredTemp.create( MAX_CU_SIZE, MAX_CU_SIZE, chromaFormatIDC ); 184 #if H_3D_ARP185 m_acYuvPredBase[0] .create( g_uiMaxCUWidth, g_uiMaxCUHeight);186 m_acYuvPredBase[1] .create( g_uiMaxCUWidth, g_uiMaxCUHeight);184 #if NH_3D_ARP 185 m_acYuvPredBase[0] .create( MAX_CU_SIZE, MAX_CU_SIZE, chromaFormatIDC ); 186 m_acYuvPredBase[1] .create( MAX_CU_SIZE, MAX_CU_SIZE, chromaFormatIDC ); 187 187 #endif 188 188 #if H_3D_VSP … … 648 648 Int RefPOCL0 = pcCU->getSlice()->getRefPic(REF_PIC_LIST_0, pcCU->getCUMvField(REF_PIC_LIST_0)->getRefIdx(PartAddr))->getPOC(); 649 649 Int RefPOCL1 = pcCU->getSlice()->getRefPic(REF_PIC_LIST_1, pcCU->getCUMvField(REF_PIC_LIST_1)->getRefIdx(PartAddr))->getPOC(); 650 #if H_3D_ARP650 #if NH_3D_ARP 651 651 if(!pcCU->getARPW(PartAddr) && RefPOCL0 == RefPOCL1 && pcCU->getCUMvField(REF_PIC_LIST_0)->getMv(PartAddr) == pcCU->getCUMvField(REF_PIC_LIST_1)->getMv(PartAddr)) 652 652 #else … … 1389 1389 pcCU->checkMvVertRest(cMv, eRefPicList, iRefIdx ); 1390 1390 #endif 1391 #if H_3D_ARP 1392 if(pcCU->getARPW( uiPartAddr ) > 0 && pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPOC()== pcCU->getSlice()->getPOC()) 1393 { 1394 xPredInterUniARPviewRef( pcCU , uiPartAddr , iWidth , iHeight , eRefPicList , rpcYuvPred , bi ); 1391 #if NH_3D_ARP 1392 if( pcCU->getARPW( uiPartAddr ) > 0 ) 1393 { 1394 if( pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPOC()== pcCU->getSlice()->getPOC() ) 1395 { 1396 xPredInterUniARPviewRef( pcCU , uiPartAddr , iWidth , iHeight , eRefPicList , pcYuvPred , bi ); 1397 } 1398 else 1399 { 1400 xPredInterUniARP( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, pcYuvPred, bi ); 1401 } 1395 1402 } 1396 1403 else 1397 1404 { 1398 if( pcCU->getARPW( uiPartAddr ) > 01399 && pcCU->getPartitionSize(uiPartAddr)==SIZE_2Nx2N1400 && pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPOC()!= pcCU->getSlice()->getPOC()1401 )1402 {1403 xPredInterUniARP( pcCU, uiPartAddr, iWidth, iHeight, eRefPicList, rpcYuvPred, bi );1404 }1405 else1406 {1407 1405 #endif 1408 1406 #if H_3D_IC 1409 1407 Bool bICFlag = pcCU->getICFlag( uiPartAddr ) && ( pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getViewIndex() != pcCU->getSlice()->getViewIndex() ); 1410 1408 xPredInterLumaBlk ( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi 1411 #if H_3D_ARP1409 #if NH_3D_ARP 1412 1410 , false 1413 1411 #endif … … 1415 1413 bICFlag = bICFlag && (iWidth > 8); 1416 1414 xPredInterChromaBlk( pcCU, pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(), uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi 1417 #if H_3D_ARP1415 #if NH_3D_ARP 1418 1416 , false 1419 1417 #endif … … 1427 1425 } 1428 1426 #endif 1429 #if H_3D_ARP 1430 } 1427 #if NH_3D_ARP 1431 1428 } 1432 1429 #endif … … 1479 1476 #endif 1480 1477 1481 #if H_3D_ARP 1482 Void TComPrediction::xPredInterUniARP( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi, TComMvField * pNewMvFiled ) 1483 { 1484 Int iRefIdx = pNewMvFiled ? pNewMvFiled->getRefIdx() : pcCU->getCUMvField( eRefPicList )->getRefIdx( uiPartAddr ); 1485 TComMv cMv = pNewMvFiled ? pNewMvFiled->getMv() : pcCU->getCUMvField( eRefPicList )->getMv( uiPartAddr ); 1478 #if NH_3D_ARP 1479 //temporal ARP 1480 Void TComPrediction::xPredInterUniARP( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi ) 1481 { 1482 Int iRefIdx = pcCU->getCUMvField( eRefPicList )->getRefIdx( uiPartAddr ); 1483 TComMv cMv = pcCU->getCUMvField( eRefPicList )->getMv( uiPartAddr ); 1486 1484 Bool bTobeScaled = false; 1487 1485 TComPic* pcPicYuvBaseCol = NULL; … … 1497 1495 UChar dW = pcCU->getARPW ( uiPartAddr ); 1498 1496 1499 { 1500 Int arpRefIdx = pcCU->getSlice()->getFirstTRefIdx(eRefPicList); 1501 if( dW > 0 && pcCU->getSlice()->getRefPic( eRefPicList, arpRefIdx )->getPOC()!= pcCU->getSlice()->getPOC() ) 1497 Int arpRefIdx = pcCU->getSlice()->getFirstTRefIdx(eRefPicList); 1498 if (arpRefIdx < 0 || !pcCU->getSlice()->getArpRefPicAvailable( eRefPicList, cDistparity.m_aVIdxCan)) 1499 { 1500 dW = 0; 1501 bTobeScaled = false; 1502 } 1503 else 1504 { 1505 if( arpRefIdx != iRefIdx ) 1502 1506 { 1503 1507 bTobeScaled = true; 1504 1508 } 1505 1506 1509 pcPicYuvBaseCol = pcCU->getSlice()->getBaseViewRefPic( pcCU->getSlice()->getPOC(), cDistparity.m_aVIdxCan ); 1507 1508 1510 pcPicYuvBaseRef = pcCU->getSlice()->getBaseViewRefPic( pcCU->getSlice()->getRefPic( eRefPicList, arpRefIdx )->getPOC(), cDistparity.m_aVIdxCan ); 1509 1510 if (!pcCU->getSlice()->getArpRefPicAvailable( eRefPicList, cDistparity.m_aVIdxCan)) 1511 { 1512 dW = 0; 1513 bTobeScaled = false; 1514 } 1515 else 1516 { 1517 assert( pcPicYuvBaseCol->getPOC() == pcCU->getSlice()->getPOC() && pcPicYuvBaseRef->getPOC() == pcCU->getSlice()->getRefPic( eRefPicList, arpRefIdx )->getPOC() ); 1518 } 1519 1520 if(bTobeScaled) 1521 { 1522 Int iCurrPOC = pcCU->getSlice()->getPOC(); 1523 Int iColRefPOC = pcCU->getSlice()->getRefPOC( eRefPicList, iRefIdx ); 1524 Int iCurrRefPOC = pcCU->getSlice()->getRefPOC( eRefPicList, 0); 1525 Int iScale = pcCU-> xGetDistScaleFactor(iCurrPOC, iCurrRefPOC, iCurrPOC, iColRefPOC); 1526 if ( iScale != 4096 ) 1527 { 1528 cMv = cMv.scaleMv( iScale ); 1529 } 1530 iRefIdx = 0; 1531 } 1511 } 1512 if(bTobeScaled) 1513 { 1514 Int iCurrPOC = pcCU->getSlice()->getPOC(); 1515 Int iColRefPOC = pcCU->getSlice()->getRefPOC( eRefPicList, iRefIdx ); 1516 Int iCurrRefPOC = pcCU->getSlice()->getRefPOC( eRefPicList, arpRefIdx ); 1517 Int iScale = pcCU-> xGetDistScaleFactor(iCurrPOC, iCurrRefPOC, iCurrPOC, iColRefPOC); 1518 if ( iScale != 4096 ) 1519 { 1520 cMv = cMv.scaleMv( iScale ); 1521 } 1522 iRefIdx = arpRefIdx; 1532 1523 } 1533 1524 1534 1525 pcCU->clipMv(cMv); 1535 1526 TComPicYuv* pcPicYuvRef = pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec(); 1536 xPredInterLumaBlk ( pcCU, pcPicYuvRef, uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 ), true ); 1537 xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 ), true ); 1527 1528 for (UInt comp=COMPONENT_Y; comp< rpcYuvPred->getNumberValidComponents(); comp++) 1529 { 1530 const ComponentID compID=ComponentID(comp); 1531 xPredInterBlk ( compID, pcCU, pcPicYuvRef, uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 ), pcCU->getSlice()->getSPS()->getBitDepth(toChannelType(compID)), true ); 1532 } 1538 1533 1539 1534 if( dW > 0 ) … … 1551 1546 pcCU->clipMv( cNBDV ); 1552 1547 1553 pcPicYuvRef= pcPicYuvBaseCol->getPicYuvRec();1554 xPredInterLumaBlk ( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, true, true);1555 if (iWidth > 8) 1556 xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, true, true );1557 1558 pcPicYuvRef = pcPicYuvBaseRef->getPicYuvRec();1559 xPredInterLumaBlk ( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, true, true);1560 1561 if (iWidth > 8)1562 xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, true, true );1563 1548 TComPicYuv* pcPicYuvBaseColRec = pcPicYuvBaseCol->getPicYuvRec(); 1549 TComPicYuv* pcPicYuvBaseRefRec = pcPicYuvBaseRef->getPicYuvRec(); 1550 1551 UInt uiCompNum = ( iWidth > 8 ) ? 3: 1; 1552 for (UInt comp=COMPONENT_Y; comp< uiCompNum; comp++) 1553 { 1554 const ComponentID compID=ComponentID(comp); 1555 xPredInterBlk ( compID, pcCU, pcPicYuvBaseColRec, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, true, pcCU->getSlice()->getSPS()->getBitDepth(toChannelType(compID)), true ); 1556 xPredInterBlk ( compID, pcCU, pcPicYuvBaseRefRec, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, true, pcCU->getSlice()->getSPS()->getBitDepth(toChannelType(compID)), true ); 1557 } 1558 1564 1559 pYuvB0->subtractARP( pYuvB0 , pYuvB1 , uiPartAddr , iWidth , iHeight ); 1565 1566 1560 if( 2 == dW ) 1567 1561 { 1568 1562 pYuvB0->multiplyARP( uiPartAddr , iWidth , iHeight , dW ); 1569 1563 } 1570 rpcYuvPred->addARP( rpcYuvPred , pYuvB0 , uiPartAddr , iWidth , iHeight , !bi ); 1571 } 1572 } 1573 1564 rpcYuvPred->addARP( rpcYuvPred , pYuvB0 , uiPartAddr , iWidth , iHeight , !bi, pcCU->getSlice()->getSPS()->getBitDepths() ); 1565 } 1566 } 1574 1567 Bool TComPrediction::xCheckBiInterviewARP( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eBaseRefPicList, TComPic*& pcPicYuvCurrTRef, TComMv& cBaseTMV, Int& iCurrTRefPoc ) 1575 1568 { … … 1577 1570 TComMv cDMv = pcCU->getCUMvField( eBaseRefPicList )->getMv( uiPartAddr ); 1578 1571 TComPic* pcPicYuvBaseCol = pcCU->getSlice()->getRefPic( eBaseRefPicList, iRefIdx ); 1579 TComPicYuv* pcYuvBaseCol = pcPicYuvBaseCol->getPicYuvRec();1580 Int uiLCUAddr,uiAbsPartAddr;1581 1572 Int irefPUX = pcCU->getCUPelX() + g_auiRasterToPelX[g_auiZscanToRaster[uiPartAddr]] + iWidth/2 + ((cDMv.getHor() + 2)>>2); 1582 1573 Int irefPUY = pcCU->getCUPelY() + g_auiRasterToPelY[g_auiZscanToRaster[uiPartAddr]] + iHeight/2 + ((cDMv.getVer() + 2)>>2); … … 1584 1575 irefPUX = (Int)Clip3<Int>(0, pcCU->getSlice()->getSPS()-> getPicWidthInLumaSamples()-1, irefPUX); 1585 1576 irefPUY = (Int)Clip3<Int>(0, pcCU->getSlice()->getSPS()->getPicHeightInLumaSamples()-1, irefPUY); 1586 pcYuvBaseCol->getCUAddrAndPartIdx( irefPUX, irefPUY, uiLCUAddr, uiAbsPartAddr); 1587 TComDataCU *pColCU = pcPicYuvBaseCol->getCU( uiLCUAddr ); 1577 1578 Int uiLCUAddr,uiAbsPartAddr; 1579 pcPicYuvBaseCol->getCUAddrAndPartIdx( irefPUX, irefPUY, uiLCUAddr, uiAbsPartAddr); 1580 TComDataCU *pColCU = pcPicYuvBaseCol->getCtu( uiLCUAddr ); 1588 1581 1589 1582 TComPic* pcPicYuvBaseTRef = NULL; … … 1636 1629 return false; 1637 1630 } 1638 1639 Void TComPrediction::xPredInterUniARPviewRef( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi , TComMvField * pNewMvFiled)1631 //inter-view ARP 1632 Void TComPrediction::xPredInterUniARPviewRef( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi ) 1640 1633 { 1641 1634 Int iRefIdx = pcCU->getCUMvField( eRefPicList )->getRefIdx( uiPartAddr ); … … 1650 1643 Bool bTMVAvai = false; 1651 1644 TComMv cBaseTMV; 1652 if( pNewMvFiled ) 1653 { 1654 iRefIdx = pNewMvFiled->getRefIdx(); 1655 cDMv = pNewMvFiled->getMv(); 1656 } 1645 1657 1646 pcCU->clipMv(cTempDMv); 1658 1647 1659 assert(dW > 0);1660 if (!pcCU->getSlice()->getArpRefPicAvailable( eRefPicList, pcPicYuvBaseCol->getViewIndex()))1661 {1662 dW = 0;1663 }1664 Int uiLCUAddr,uiAbsPartAddr;1665 1648 Int irefPUX = pcCU->getCUPelX() + g_auiRasterToPelX[g_auiZscanToRaster[uiPartAddr]] + iWidth/2 + ((cDMv.getHor() + 2)>>2); 1666 1649 Int irefPUY = pcCU->getCUPelY() + g_auiRasterToPelY[g_auiZscanToRaster[uiPartAddr]] + iHeight/2 + ((cDMv.getVer() + 2)>>2); … … 1668 1651 irefPUX = (Int)Clip3<Int>(0, pcCU->getSlice()->getSPS()-> getPicWidthInLumaSamples()-1, irefPUX); 1669 1652 irefPUY = (Int)Clip3<Int>(0, pcCU->getSlice()->getSPS()->getPicHeightInLumaSamples()-1, irefPUY); 1670 pcYuvBaseCol->getCUAddrAndPartIdx( irefPUX, irefPUY, uiLCUAddr, uiAbsPartAddr); 1671 TComDataCU *pColCU = pcPicYuvBaseCol->getCU( uiLCUAddr ); 1653 1654 Int uiLCUAddr,uiAbsPartAddr; 1655 pcPicYuvBaseCol->getCUAddrAndPartIdx( irefPUX, irefPUY, uiLCUAddr, uiAbsPartAddr); 1656 TComDataCU *pColCU = pcPicYuvBaseCol->getCtu( uiLCUAddr ); 1672 1657 if( pcCU->getSlice()->isInterB() && !pcCU->getSlice()->getIsDepth() ) 1673 1658 { … … 1714 1699 Int iCurrTRefPoc; 1715 1700 bTMVAvai = ( eBaseList != eRefPicList ) && ( pcCU->getSlice()->getViewIndex() != pcCU->getSlice()->getRefPic( eOtherRefList, iOtherRefIdx )->getViewIndex() ); 1716 1717 1701 if ( bTMVAvai ) 1718 1702 { 1719 if( xCheckBiInterviewARP( pcCU, uiPartAddr, iWidth, iHeight, eBaseList, pcPicYuvCurrTRef, cBaseTMV, iCurrTRefPoc ) ) 1703 if( xCheckBiInterviewARP( pcCU, uiPartAddr, iWidth, iHeight, eBaseList, pcPicYuvCurrTRef, cBaseTMV, iCurrTRefPoc ) ) 1720 1704 { 1721 1705 pcPicYuvBaseTRef = pcCU->getSlice()->getBaseViewRefPic( iCurrTRefPoc, pcPicYuvBaseCol->getViewIndex() ); … … 1740 1724 RefPicList eRefPicListCurr = RefPicList(iList); 1741 1725 Int iRef = pColCU->getCUMvField(eRefPicListCurr)->getRefIdx(uiAbsPartAddr); 1742 if( iRef != -1 )1726 if( iRef != -1 && pcCU->getSlice()->getArpRefPicAvailable( eRefPicListCurr, pcPicYuvBaseCol->getViewIndex())) 1743 1727 { 1744 1728 pcPicYuvBaseTRef = pColCU->getSlice()->getRefPic(eRefPicListCurr, iRef); … … 1774 1758 } 1775 1759 1776 xPredInterLumaBlk ( pcCU, pcYuvBaseCol, uiPartAddr, &cTempDMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 && bTMVAvai ), bTMVAvai); 1777 xPredInterChromaBlk( pcCU, pcYuvBaseCol, uiPartAddr, &cTempDMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 && bTMVAvai ), bTMVAvai); 1778 1779 if( dW > 0 && bTMVAvai ) 1780 { 1760 for (UInt comp=COMPONENT_Y; comp< rpcYuvPred->getNumberValidComponents(); comp++) 1761 { 1762 const ComponentID compID=ComponentID(comp); 1763 xPredInterBlk ( compID, pcCU, pcYuvBaseCol, uiPartAddr, &cTempDMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 && bTMVAvai ), pcCU->getSlice()->getSPS()->getBitDepth(toChannelType(compID)), bTMVAvai ); 1764 } 1765 1766 if( dW > 0 ) 1767 { 1768 assert ( bTMVAvai ); 1781 1769 TComYuv* pYuvCurrTRef = &m_acYuvPredBase[0]; 1782 1770 TComYuv* pYuvBaseTRef = &m_acYuvPredBase[1]; … … 1792 1780 pYuvCurrTRef->clear(); pYuvBaseTRef->clear(); 1793 1781 } 1794 xPredInterLumaBlk ( pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, true, true); 1795 1796 if (iWidth > 8) 1797 xPredInterChromaBlk( pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, true, true); 1798 1799 xPredInterLumaBlk ( pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv, iWidth, iHeight, pYuvBaseTRef, true, true); 1800 1801 if (iWidth > 8) 1802 xPredInterChromaBlk( pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv, iWidth, iHeight, pYuvBaseTRef, true, true); 1782 1783 UInt uiCompNum = ( iWidth > 8 ) ? 3: 1; 1784 for (UInt comp=COMPONENT_Y; comp< uiCompNum; comp++) 1785 { 1786 const ComponentID compID=ComponentID(comp); 1787 xPredInterBlk ( compID, pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, true, pcCU->getSlice()->getSPS()->getBitDepth(toChannelType(compID)), true ); 1788 xPredInterBlk ( compID, pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv, iWidth, iHeight, pYuvBaseTRef, true, pcCU->getSlice()->getSPS()->getBitDepth(toChannelType(compID)), true ); 1789 } 1803 1790 1804 1791 pYuvCurrTRef->subtractARP( pYuvCurrTRef , pYuvBaseTRef , uiPartAddr , iWidth , iHeight ); … … 1807 1794 pYuvCurrTRef->multiplyARP( uiPartAddr , iWidth , iHeight , dW ); 1808 1795 } 1809 rpcYuvPred->addARP( rpcYuvPred , pYuvCurrTRef , uiPartAddr , iWidth , iHeight , !bi );1796 rpcYuvPred->addARP( rpcYuvPred , pYuvCurrTRef , uiPartAddr , iWidth , iHeight , !bi, pcCU->getSlice()->getSPS()->getBitDepths() ); 1810 1797 } 1811 1798 } … … 1907 1894 1908 1895 Void TComPrediction::xPredInterBlk(const ComponentID compID, TComDataCU *cu, TComPicYuv *refPic, UInt partAddr, TComMv *mv, Int width, Int height, TComYuv *dstPic, Bool bi, const Int bitDepth 1909 #if H_3D_ARP1896 #if NH_3D_ARP 1910 1897 , Bool filterType 1911 1898 #endif … … 1951 1938 m_if.filterHor(compID, ref, refStride, dst, dstStride, cxWidth, cxHeight, xFrac, !bi, chFmt, bitDepth 1952 1939 #endif 1953 #if H_3D_ARP1940 #if NH_3D_ARP 1954 1941 , filterType 1955 1942 #endif 1956 );1943 ); 1957 1944 } 1958 1945 else if ( xFrac == 0 ) … … 1963 1950 m_if.filterVer(compID, ref, refStride, dst, dstStride, cxWidth, cxHeight, yFrac, true, !bi, chFmt, bitDepth 1964 1951 #endif 1965 #if H_3D_ARP1952 #if NH_3D_ARP 1966 1953 , filterType 1967 1954 #endif 1968 );1955 ); 1969 1956 } 1970 1957 else … … 1976 1963 1977 1964 m_if.filterHor(compID, ref - ((vFilterSize>>1) -1)*refStride, refStride, tmp, tmpStride, cxWidth, cxHeight+vFilterSize-1, xFrac, false, chFmt, bitDepth 1978 #if H_3D_ARP1965 #if N_3D_ARP 1979 1966 , filterType 1980 1967 #endif 1981 );1968 ); 1982 1969 #if H_3D_IC 1983 1970 m_if.filterVerLuma(tmp + (halfFilterSize-1)*tmpStride, tmpStride, dst, dstStride, width, height, yFrac, false, !bi || bICFlag … … 1985 1972 m_if.filterVer(compID, tmp + ((vFilterSize>>1) -1)*tmpStride, tmpStride, dst, dstStride, cxWidth, cxHeight, yFrac, false, !bi, chFmt, bitDepth 1986 1973 #endif 1987 #if H_3D_ARP1974 #if NH_3D_ARP 1988 1975 , filterType 1989 1976 #endif 1990 );1977 ); 1991 1978 } 1992 1979 … … 2028 2015 } 2029 2016 2030 2031 #if H_3D_ARP2032 , Bool filterType2033 #endif2034 2017 #if H_3D_IC 2035 2018 , Bool bICFlag … … 2039 2022 #else 2040 2023 #endif 2041 #if H_3D_ARP2042 , filterType2043 #endif2044 2024 #if H_3D_IC 2045 2025 m_if.filterHorChroma(refCr, refStride, dstCr, dstStride, cxWidth, cxHeight, xFrac, !bi || bICFlag 2046 2026 #else 2047 2027 #endif 2048 #if H_3D_ARP2049 , filterType2050 #endif2051 2028 #if H_3D_IC 2052 2029 m_if.filterVerChroma(refCb, refStride, dstCb, dstStride, cxWidth, cxHeight, yFrac, true, !bi || bICFlag 2053 2030 #else 2054 2031 #endif 2055 #if H_3D_ARP2056 , filterType2057 #endif2058 2032 #if H_3D_IC 2059 2033 m_if.filterVerChroma(refCr, refStride, dstCr, dstStride, cxWidth, cxHeight, yFrac, true, !bi || bICFlag 2060 2034 #else 2061 #endif 2062 #if H_3D_ARP 2063 , filterType 2064 #endif 2065 #if H_3D_ARP 2066 , filterType 2067 #endif 2035 #endif 2068 2036 #if H_3D_IC 2069 2037 m_if.filterVerChroma(extY + (halfFilterSize-1)*extStride, extStride, dstCb, dstStride, cxWidth, cxHeight , yFrac, false, !bi || bICFlag 2070 2038 #else 2071 2039 #endif 2072 #if H_3D_ARP2073 , filterType2074 #endif2075 #if H_3D_ARP2076 , filterType2077 #endif2078 2040 #if H_3D_IC 2079 2041 m_if.filterVerChroma(extY + (halfFilterSize-1)*extStride, extStride, dstCr, dstStride, cxWidth, cxHeight , yFrac, false, !bi || bICFlag 2080 2042 #else 2081 2043 #endif 2082 #if H_3D_ARP2083 , filterType2084 #endif2085 2044 #if H_3D_IC 2086 2045 if( bICFlag )
Note: See TracChangeset for help on using the changeset viewer.