Custom query (105 matches)
Results (28 - 30 of 105)
Ticket | Resolution | Summary | Owner | Reporter | |
---|---|---|---|---|---|
#79 | fixed | decoder assertion for 3 layers structure when MaxTidRefPresentFlag is on | Vadim | eeehey | |
Description |
Decoder assertion on the following line code for 3 layers structure when MaxTidRefPresentFlag is on:
patch is attached to fix this issue. |
||||
#78 | fixed | encoder assertion on multiple layers coding structure | Vadim | eeehey | |
Description |
Encoder assertion on 3 layers when the 3rd layer depends on the 2nd layer and 2nd layer depends on the base layer. Patch is attached. |
||||
#77 | fixed | Broken logic when sps_sub_layer_ordering_info_present_flag==0 | Vadim | johnnyVidyo | |
Description |
There is an error in decoding the SPS. When sps_sub_layer_ordering_info_present_flag is 0, the values of sps_max_dec_pic_buffering_minus1[] are handled incorrectly. Existing problematic code in parseSPS(): UInt subLayerOrderingInfoPresentFlag; READ_FLAG(subLayerOrderingInfoPresentFlag, "sps_sub_layer_ordering_info_present_flag"); for(UInt i=0; i <= pcSPS->getMaxTLayers()-1; i++) { READ_UVLC ( uiCode, "sps_max_dec_pic_buffering_minus1[i]"); pcSPS->setMaxDecPicBuffering( uiCode + 1, i); READ_UVLC ( uiCode, "sps_num_reorder_pics[i]" ); pcSPS->setNumReorderPics(uiCode, i); READ_UVLC ( uiCode, "sps_max_latency_increase_plus1[i]"); pcSPS->setMaxLatencyIncrease( uiCode, i ); if (!subLayerOrderingInfoPresentFlag) { for (i++; i <= pcSPS->getMaxTLayers()-1; i++) { #if SVC_EXTENSION // When sps_max_dec_pic_buffering_minus1[ i ] is not present for i in the range of 0 to sps_max_sub_layers_minus1 - 1, inclusive, // due to sps_sub_layer_ordering_info_present_flag being equal to 0, it is inferred to be equal to sps_max_dec_pic_buffering_minus1[ sps_max_sub_layers_minus1 ]. pcSPS->setMaxDecPicBuffering( pcSPS->getMaxDecPicBuffering(pcSPS->getMaxTLayers()-1), i ); #else pcSPS->setMaxDecPicBuffering(pcSPS->getMaxDecPicBuffering(0), i); #endif pcSPS->setNumReorderPics(pcSPS->getNumReorderPics(0), i); pcSPS->setMaxLatencyIncrease(pcSPS->getMaxLatencyIncrease(0), i); } break; } Recommended fix to better reflect wording of the spec: UInt subLayerOrderingInfoPresentFlag; READ_FLAG(subLayerOrderingInfoPresentFlag, "sps_sub_layer_ordering_info_present_flag"); for(UInt i = subLayerOrderingInfoPresentFlag ? 0 : pcSPS->getMaxTLayers()-1; i <= pcSPS->getMaxTLayers()-1; i++) { READ_UVLC ( uiCode, "sps_max_dec_pic_buffering_minus1[i]"); pcSPS->setMaxDecPicBuffering( uiCode + 1, i); READ_UVLC ( uiCode, "sps_num_reorder_pics[i]" ); pcSPS->setNumReorderPics(uiCode, i); READ_UVLC ( uiCode, "sps_max_latency_increase_plus1[i]"); pcSPS->setMaxLatencyIncrease( uiCode, i ); if (!subLayerOrderingInfoPresentFlag) { for(UInt j = 0; j < i; j++) { #if SVC_EXTENSION // When sps_max_dec_pic_buffering_minus1[ i ] is not present for i in the range of 0 to sps_max_sub_layers_minus1 - 1, inclusive, // due to sps_sub_layer_ordering_info_present_flag being equal to 0, it is inferred to be equal to sps_max_dec_pic_buffering_minus1[ sps_max_sub_layers_minus1 ]. pcSPS->setMaxDecPicBuffering( pcSPS->getMaxDecPicBuffering(i), j ); #else pcSPS->setMaxDecPicBuffering(pcSPS->getMaxDecPicBuffering(0), i); #endif pcSPS->setNumReorderPics(pcSPS->getNumReorderPics(i), j); pcSPS->setMaxLatencyIncrease(pcSPS->getMaxLatencyIncrease(i), j); } break; } |
Note: See TracQuery for help on using queries.