Ticket #1276: 1276.patch
File 1276.patch, 1.6 KB (added by libin, 11 years ago) |
---|
-
Lib/TLibEncoder/TEncCu.cpp
656 656 } 657 657 } 658 658 659 m_pcRDGoOnSbacCoder->load(m_pppcRDSbacCoder[uiDepth][CI_NEXT_BEST]); 660 659 661 m_pcEntropyCoder->resetBits(); 660 662 m_pcEntropyCoder->encodeSplitFlag( rpcBestCU, 0, uiDepth, true ); 661 663 rpcBestCU->getTotalBits() += m_pcEntropyCoder->getNumberOfWrittenBits(); // split bits … … 662 664 rpcBestCU->getTotalBins() += ((TEncBinCABAC *)((TEncSbac*)m_pcEntropyCoder->m_pcEntropyCoderIf)->getEncBinIf())->getBinsCoded(); 663 665 rpcBestCU->getTotalCost() = m_pcRdCost->calcRdCost( rpcBestCU->getTotalBits(), rpcBestCU->getTotalDistortion() ); 664 666 667 m_pcRDGoOnSbacCoder->store(m_pppcRDSbacCoder[uiDepth][CI_NEXT_BEST]); 668 665 669 // Early CU determination 666 670 if( m_pcEncCfg->getUseEarlyCU() && rpcBestCU->isSkipped(0) ) 667 671 { … … 773 777 774 778 if( !bBoundary ) 775 779 { 780 m_pcRDGoOnSbacCoder->load(m_pppcRDSbacCoder[uiDepth + 1][CI_NEXT_BEST]); 781 776 782 m_pcEntropyCoder->resetBits(); 777 783 m_pcEntropyCoder->encodeSplitFlag( rpcTempCU, 0, uiDepth, true ); 778 784 … … 823 829 } 824 830 } 825 831 826 m_p ppcRDSbacCoder[uhNextDepth][CI_NEXT_BEST]->store(m_pppcRDSbacCoder[uiDepth][CI_TEMP_BEST]);832 m_pcRDGoOnSbacCoder->store(m_pppcRDSbacCoder[uiDepth][CI_TEMP_BEST]); 827 833 828 834 Bool isEndOfSlice = rpcBestCU->getSlice()->getSliceMode()==FIXED_NUMBER_OF_BYTES 829 835 && (rpcBestCU->getTotalBits()>rpcBestCU->getSlice()->getSliceArgument()<<3);