Changeset 185 in SHVCSoftware for branches/SHM-2.0-dev/source
- Timestamp:
- 12 May 2013, 01:23:02 (12 years ago)
- Location:
- branches/SHM-2.0-dev/source/Lib
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-2.0-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r181 r185 1347 1347 if(rpcSlice->getNumILRRefIdx() > 1) 1348 1348 { 1349 Int numBits = 1; 1350 while ((1 << numBits) < rpcSlice->getNumILRRefIdx()) 1351 { 1352 numBits++; 1353 } 1349 1354 if( !rpcSlice->getVPS()->getMaxOneActiveRefLayerFlag()) 1350 1355 { 1351 READ_ UVLC(uiCode,"num_inter_layer_ref_pics_minus1");1356 READ_CODE( numBits, uiCode,"num_inter_layer_ref_pics_minus1" ); 1352 1357 rpcSlice->setActiveNumILRRefIdx(uiCode + 1); 1353 1358 } … … 1355 1360 { 1356 1361 rpcSlice->setActiveNumILRRefIdx(1); 1357 rpcSlice->setInterLayerPredLayerIdc(0,0);1358 1362 } 1359 1363 for(Int i = 0; i < rpcSlice->getActiveNumILRRefIdx(); i++ ) 1360 1364 { 1361 READ_ UVLC(uiCode,"inter_layer_pred_layer_idc[i]");1365 READ_CODE( numBits,uiCode,"inter_layer_pred_layer_idc[i]" ); 1362 1366 rpcSlice->setInterLayerPredLayerIdc(uiCode,i); 1363 1367 } -
branches/SHM-2.0-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r181 r185 1028 1028 if(pcSlice->getNumILRRefIdx() > 1) 1029 1029 { 1030 Int numBits = 1; 1031 while ((1 << numBits) < pcSlice->getNumILRRefIdx()) 1032 { 1033 numBits++; 1034 } 1030 1035 if( !pcSlice->getVPS()->getMaxOneActiveRefLayerFlag()) 1031 1036 { 1032 WRITE_ UVLC(pcSlice->getNumInterLayerRefPics(),"num_inter_layer_ref_pics_minus1");1037 WRITE_CODE( numBits,pcSlice->getNumInterLayerRefPics(),"num_inter_layer_ref_pics_minus1"); 1033 1038 } 1034 1039 for(Int i = 0; i < pcSlice->getActiveNumILRRefIdx(); i++ ) 1035 WRITE_ UVLC(pcSlice->getInterLayerPredLayerIdc(i),"inter_layer_pred_layer_idc[i]");1040 WRITE_CODE( numBits,pcSlice->getInterLayerPredLayerIdc(i),"inter_layer_pred_layer_idc[i]"); 1036 1041 } 1037 1042 } -
branches/SHM-2.0-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r176 r185 659 659 if(m_layerId > 0) 660 660 { 661 #if JCTVC_M0458_INTERLAYER_RPS_SIG 662 if( pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP && pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA ) 663 { 664 pcSlice->setNumRefIdx(REF_PIC_LIST_0, pcSlice->getActiveNumILRRefIdx()); 665 pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getActiveNumILRRefIdx()); 666 } 667 else 668 { 669 pcSlice->setNumRefIdx(REF_PIC_LIST_0, pcSlice->getNumRefIdx(REF_PIC_LIST_0)+pcSlice->getActiveNumILRRefIdx()); 670 pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getNumRefIdx(REF_PIC_LIST_1)+pcSlice->getActiveNumILRRefIdx()); 671 } 672 #else 661 673 if( pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP && pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA ) 662 674 { … … 669 681 pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getNumRefIdx(REF_PIC_LIST_1)+pcSlice->getNumILRRefIdx()); 670 682 } 683 #endif 671 684 } 672 685 #endif
Note: See TracChangeset for help on using the changeset viewer.