Ticket #78: multiple-layer-patch.patch
File multiple-layer-patch.patch, 2.4 KB (added by eeehey, 9 years ago) |
---|
-
App/TAppEncoder/TAppEncTop.cpp
1564 1564 for (UInt layerCtr = 1; layerCtr < vps->getMaxLayers(); layerCtr++) 1565 1565 { 1566 1566 UInt layerId = vps->getLayerIdInNuh(layerCtr); 1567 Int numDirectRefLayers = 0; 1568 1567 1569 vps->setNumDirectRefLayers(layerId, m_acTEncTop[layerCtr].getNumDirectRefLayers()); 1568 1570 maxDirectRefLayers = max<UInt>(maxDirectRefLayers, vps->getNumDirectRefLayers(layerId)); 1569 1571 … … 1587 1589 { 1588 1590 if (vps->getDirectDependencyFlag(layerCtr, refLayerCtr)) 1589 1591 { 1590 assert(m_acTEncTop[layerCtr].getSamplePredEnabledFlag( refLayerCtr) || m_acTEncTop[layerCtr].getMotionPredEnabledFlag(refLayerCtr));1591 vps->setDirectDependencyType(layerCtr, refLayerCtr, ((m_acTEncTop[layerCtr].getSamplePredEnabledFlag( refLayerCtr) ? 1 : 0) |1592 (m_acTEncTop[layerCtr].getMotionPredEnabledFlag( refLayerCtr) ? 2 : 0)) - 1);1592 assert(m_acTEncTop[layerCtr].getSamplePredEnabledFlag(numDirectRefLayers) || m_acTEncTop[layerCtr].getMotionPredEnabledFlag(numDirectRefLayers)); 1593 vps->setDirectDependencyType(layerCtr, refLayerCtr, ((m_acTEncTop[layerCtr].getSamplePredEnabledFlag(numDirectRefLayers) ? 1 : 0) | 1594 (m_acTEncTop[layerCtr].getMotionPredEnabledFlag(numDirectRefLayers) ? 2 : 0)) - 1); 1593 1595 #if O0096_DEFAULT_DEPENDENCY_TYPE 1594 1596 if (!isDefaultDirectDependencyTypeSet) 1595 1597 { … … 1602 1604 vps->setDefaultDirectDependecyTypeFlag(0); 1603 1605 } 1604 1606 #endif 1607 numDirectRefLayers ++; 1605 1608 } 1606 1609 else 1607 1610 { -
Lib/TLibEncoder/TEncGOP.cpp
1315 1315 UInt refLayerIdc = pcSlice->getInterLayerPredLayerIdc(i); 1316 1316 UInt refLayerId = pcSlice->getVPS()->getRefLayerId(m_layerId, refLayerIdc); 1317 1317 #if VPS_EXTN_DIRECT_REF_LAYERS 1318 TComList<TComPic*> *cListPic = m_ppcTEncTop[ refLayerIdc]->getRefLayerEnc(refLayerIdc)->getListPic();1318 TComList<TComPic*> *cListPic = m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)]->getRefLayerEnc(refLayerIdc)->getListPic(); 1319 1319 #else 1320 1320 TComList<TComPic*> *cListPic = m_ppcTEncTop[pcSlice->getVPS()->getLayerIdxInVps(m_layerId)-1]->getListPic(); 1321 1321 #endif