Custom query (105 matches)

Filters
 
or
 
  
 
Columns

Show under each result:


Results (28 - 30 of 105)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
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:

assert( (Int)pcIlpPic[refLayerIdc]->getSlice(0)->getTLayer() < maxTidIlRefPicsPlus1
( !maxTidIlRefPicsPlus1 && pcIlpPic[refLayerIdc]->getSlice(0)->getRapPicFlag() ) );

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;
    }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Note: See TracQuery for help on using queries.