Changeset 580 in SHVCSoftware for branches/SHM-5.0-dev/source/App
- Timestamp:
- 31 Jan 2014, 02:45:49 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-5.0-dev/source/App/TAppEncoder/TAppEncTop.cpp
r579 r580 1186 1186 Int layerSetId = vps->getOutputLayerSetIdx(i); 1187 1187 1188 // For each output layer set, set the DPB size for each layer and the reorder/latency value the maximum for all layers1189 Bool checkFlagOuter = false; // Used to calculate sub_layer_flag_info_present_flag1190 Bool checkFlagInner[MAX_TLAYER]; // Used to calculate sub_layer_dpb_info_present_flag1191 1192 1188 for(Int j = 0; j < vps->getMaxTLayers(); j++) 1193 1189 { … … 1205 1201 } 1206 1202 vps->setMaxVpsNumReorderPics(i, j, maxNumReorderPics); 1207 1208 if( j == 0 ) // checkFlagInner[0] is always 1 1209 { 1210 checkFlagInner[j] = true; // Always signal sub-layer DPB information for the first sub-layer 1211 } 1212 else 1213 { 1214 checkFlagInner[j] = false; // Initialize to be false. If the values of the current sub-layers matches with the earlier sub-layer, 1215 // then will be continue to be false - i.e. the j-th sub-layer DPB info is not signaled 1216 checkFlagInner[j] |= ( maxNumReorderPics != vps->getMaxVpsNumReorderPics(i, j - 1) ); 1217 #if CHANGE_NUMSUBDPB_IDX 1218 for(Int k = 0; k < vps->getNumSubDpbs(layerSetIdxForOutputLayerSet) && !checkFlagInner[j]; k++) // If checkFlagInner[j] is true, break and signal the values 1219 #else 1220 for(Int k = 0; k < vps->getNumSubDpbs(i) && !checkFlagInner[j]; k++) // If checkFlagInner[j] is true, break and signal the values 1221 #endif 1222 { 1223 checkFlagInner[j] |= ( vps->getMaxVpsDecPicBufferingMinus1(i, k, j - 1) != vps->getMaxVpsDecPicBufferingMinus1(i, k, j) ); 1224 } 1225 } 1226 // If checkFlagInner[j] = true, then some value needs to be signalled for the j-th sub-layer 1227 vps->setSubLayerDpbInfoPresentFlag( i, j, checkFlagInner[j] ); 1228 } 1229 for(Int j = 1; j < vps->getMaxTLayers(); j++) // Check if DPB info of any of non-zero sub-layers is signaled. If so set flag to one 1230 { 1231 if( vps->getSubLayerDpbInfoPresentFlag(i, j) ) 1232 { 1233 checkFlagOuter = true; 1234 break; 1235 } 1236 } 1237 vps->setSubLayerFlagInfoPresentFlag( i, checkFlagOuter ); 1203 vps->determineSubDpbInfoFlags(); 1204 } 1238 1205 } 1239 1206 #endif
Note: See TracChangeset for help on using the changeset viewer.