Custom query (105 matches)

Filters
 
or
 
  
 
Columns

Show under each result:


Results (22 - 24 of 105)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Ticket Resolution Summary Owner Reporter
#41 fixed scaled_ref_layer_offset_present_flag index in PPS extension encoding Vadim jaypadia
Description

According to "F.7.3.2.3.3 Picture parameter set multilayer extension syntax", the index for scaled_ref_layer_offset_present_flag[i], ref_region_offset_present_flag[i] and resample_phase_set_present_flag[i] is based on num_ref_loc_offsets. [ref: for( i = 0; i < num_ref_loc_offsets; i++ )].

However, in TEncTop.cpp, TEncTop::xInitPPS()

for(Int i = 0; i < m_cPPS.getNumScaledRefLayerOffsets(); i++) {

#if O0098_SCALED_REF_LAYER_ID

m_cPPS.setScaledRefLayerId(i, m_scaledRefLayerId[i]);

#endif

m_cPPS.getScaledRefLayerWindow(i) = m_scaledRefLayerWindow[i];

#if REF_REGION_OFFSET

m_cPPS.getRefLayerWindow(i) = m_refLayerWindow[i]; m_cPPS.setScaledRefLayerOffsetPresentFlag( m_scaledRefLayerId[i], m_scaledRefLayerOffsetPresentFlag[i] ); m_cPPS.setRefRegionOffsetPresentFlag( m_scaledRefLayerId[i], m_refRegionOffsetPresentFlag[i] );

#endif #if R0209_GENERIC_PHASE

m_cPPS.setResamplePhaseSetPresentFlag( m_scaledRefLayerId[i], m_resamplePhaseSetPresentFlag[i] );

The index used is based on m_scaledRefLayerId[i]. This one should just be 'i'.

Where the structure is referenced, it uses an index based on num_ref_loc_offsets.

for(Int i = 0; i < pcPPS->getNumScaledRefLayerOffsets(); i++) {

WRITE_CODE( pcPPS->getScaledRefLayerId(i), 6, "ref_loc_offset_layer_id" ); WRITE_FLAG( pcPPS->getScaledRefLayerOffsetPresentFlag(i) ? 1 : 0, "scaled_ref_layer_offset_prsent_flag" );

... ...

WRITE_FLAG( pcPPS->getRefRegionOffsetPresentFlag(i) ? 1 : 0, "ref_region_offset_prsent_flag" ); if (pcPPS->getRefRegionOffsetPresentFlag(i))

Please see the patch in the attachment. This is based on rev 925 latest dev branch. This one will affect only where there are more than 2 layers.

#42 fixed sps_scaling_list_ref_layer_id should be u(6) Vadim johnnyVidyo
Description

In the SPS (F.7.3.2.2.1), the element sps_scaling_list_ref_layer_id is listed as a 6-bit value, u(6).

The SHM treats this element as a variable length code. In TDecCAVLC.cpp, the element is parsed as follows:

READ_UVLC(uiCode, "sps_scaling_list_ref_layer_id");

In TEncCavlc.cpp, the element is written as follows:

WRITE_UVLC(pcSPS->getScalingListRefLayerId(), "sps_scaling_list_ref_layer_id");

#43 fixed decoder ignores sps_ext_or_max_sub_layers_minus1 Vadim johnnyVidyo
Description

According to F.7.4.3.2.1, the SPS element sps_ext_or_max_sub_layers_minus1 should be used to infer the value of element sps_max_sub_layers_minus1 when sps_max_sub_layers_minus1 is absent. However, after the decoder parses sps_ext_or_max_sub_layers_minus1, the expected inference does not happen and the value is not interpreted properly.

Element sps_ext_or_max_sub_layers_minus1 is parsed as follows:

READ_CODE(3, uiCode, "sps_ext_or_max_sub_layers_minus1");     uiTmp = uiCode;

Afterward, the value of uiCode is not used for anything, and the value of uiTmp is used to set variable bMultiLayerExtSpsFlag. There should be code like this to properly interpret the element:

if (uiCode != 7)
   pcSPS->setMaxTLayers(uiCode + 1);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Note: See TracQuery for help on using queries.