Ticket #965: missing_slice_types.patch
File missing_slice_types.patch, 2.6 KB (added by bheng, 11 years ago) |
---|
-
source/App/TAppEncoder/TAppEncTop.cpp
541 541 case NAL_UNIT_CODED_SLICE_IDR: 542 542 case NAL_UNIT_CODED_SLICE_IDR_N_LP: 543 543 case NAL_UNIT_CODED_SLICE_CRA: 544 case NAL_UNIT_CODED_SLICE_RADL_N: 544 545 case NAL_UNIT_CODED_SLICE_DLP: 546 case NAL_UNIT_CODED_SLICE_RASL_N: 545 547 case NAL_UNIT_CODED_SLICE_TFD: 546 548 case NAL_UNIT_VPS: 547 549 case NAL_UNIT_SPS: -
source/Lib/TLibCommon/NAL.h
76 76 || m_nalUnitType == NAL_UNIT_CODED_SLICE_IDR 77 77 || m_nalUnitType == NAL_UNIT_CODED_SLICE_IDR_N_LP 78 78 || m_nalUnitType == NAL_UNIT_CODED_SLICE_CRA 79 || m_nalUnitType == NAL_UNIT_CODED_SLICE_RADL_N 79 80 || m_nalUnitType == NAL_UNIT_CODED_SLICE_DLP 81 || m_nalUnitType == NAL_UNIT_CODED_SLICE_RASL_N 80 82 || m_nalUnitType == NAL_UNIT_CODED_SLICE_TFD; 81 83 } 82 84 }; -
source/Lib/TLibDecoder/TDecTop.cpp
671 671 case NAL_UNIT_CODED_SLICE_IDR: 672 672 case NAL_UNIT_CODED_SLICE_IDR_N_LP: 673 673 case NAL_UNIT_CODED_SLICE_CRA: 674 case NAL_UNIT_CODED_SLICE_RADL_N: 674 675 case NAL_UNIT_CODED_SLICE_DLP: 676 case NAL_UNIT_CODED_SLICE_RASL_N: 675 677 case NAL_UNIT_CODED_SLICE_TFD: 676 678 return xDecodeSlice(nalu, iSkipFrame, iPOCLastDisplay); 677 679 break; … … 690 692 */ 691 693 Bool TDecTop::isSkipPictureForBLA(Int& iPOCLastDisplay) 692 694 { 693 if (m_prevRAPisBLA && m_apcSlicePilot->getPOC() < m_pocCRA && m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_TFD)695 if (m_prevRAPisBLA && m_apcSlicePilot->getPOC() < m_pocCRA && (m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_TFD || m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_RASL_N)) 694 696 { 695 697 iPOCLastDisplay++; 696 698 return true; … … 744 746 } 745 747 } 746 748 // skip the reordered pictures, if necessary 747 else if (m_apcSlicePilot->getPOC() < m_pocRandomAccess && m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_TFD)749 else if (m_apcSlicePilot->getPOC() < m_pocRandomAccess && (m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_TFD || m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_RASL_N)) 748 750 { 749 751 iPOCLastDisplay++; 750 752 return true;