Custom query (105 matches)

Filters
 
or
 
  
 
Columns

Show under each result:


Results (37 - 39 of 105)

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Ticket Resolution Summary Owner Reporter
#70 fixed offsets not applied in TComDataCU::getBaseColCU() Vadim johnnyVidyo
Description

Function TComDataCU::getBaseColCU() is called by TComPic::copyUpsampledMvField() to scale motion vectors from a base layer to an enhancement layer. It contains the following lines of code to translate base layer locations to the higher layer.

#if O0098_SCALED_REF_LAYER_ID
  Int leftStartL = baseColPic->getSlice(0)->getPPS()->getScaledRefLayerWindowForLayer(baseColPic->getSlice(0)->getVPS()->getRefLayerId(getSlice()->getLayerId(), refLayerIdc)).getWindowLeftOffset();
  Int topStartL  = baseColPic->getSlice(0)->getPPS()->getScaledRefLayerWindowForLayer(baseColPic->getSlice(0)->getVPS()->getRefLayerId(getSlice()->getLayerId(), refLayerIdc)).getWindowTopOffset();
....
#if REF_REGION_OFFSET
  const Window &windowRL = baseColPic->getSlice(0)->getPPS()->getRefLayerWindow(refLayerIdc);
  Int iBX = (((uiPelX - leftStartL)*g_posScalingFactor[refLayerIdc][0] + (1<<15)) >> 16) + windowRL.getWindowLeftOffset();
  Int iBY = (((uiPelY - topStartL )*g_posScalingFactor[refLayerIdc][1] + (1<<15)) >> 16) + windowRL.getWindowTopOffset();

The four window offsets in these calculations are always valued zero, even when nonzero offsets are signaled in the appropriate PPS.

This affects conformance bitstream RESPHASE_SAMSUNG_0. This bitstream appears to have been encoded with all the offsets set to zero, since the SHM currently decodes the bitstream without visible errors. Unfortunately, this is not compliant with the spec (H.8.1.4.2).

#69 fixed potential issue with PPS reference layer location offsets Vadim johnnyVidyo
Description

There is a potential mismatch between SHM decoder behavior and semantics of the spec in the odd case that the PPS multilayer extension contains multiple reference layer location offsets with the same value of ref_loc_offset_layer_id[i]. The spec does not specify that different entries of ref_loc_offset_layer_id[i] must be unique. If multiple offsets for the same id are in the PPS, the spec's logic (F.7.3.2.3.3) dictates that the last offsets would overwrite any previous offsets applied to ref_loc_offset_layer_id[i].

The SHM decoder stores all offsets signaled in the PPS. When the decoder retrieves scaled reference layer offsets and reference region offsets, it calls functions TComPPS::getScaledRefLayerWindowForLayer() and TComPPS::getRefLayerWindowForLayer(), respectively. These functions search for the ref_loc_offset_layer_id[i], but begin with i=0 and increment. To follow spec, the loop should begin with i as the highest index (m_numScaledRefLayerOffsets-1) and decrement.

Alternatively, when parsing the offsets in the PPS extension, the decoder could simply store the reference layer location offsets and related flags in arrays indexed by ref_loc_offset_layer_id[i]. Then the decoder will match the spec, and the parameters can be more easily accessed by the reference layer id with no need for other levels of indices.

#68 fixed Incorrect layer indeces in assert statements Vadim hallapur
Description

These asserts in TDecCAVLC.cpp have wrong layer indeces:

assert(rps->getNumberOfNegativePictures() <= rpcSlice->getVPS()->getMaxVpsDecPicBufferingMinus1(ii , rpcSlice->getLayerId() , rpcSlice->getVPS()->getMaxSLayersInLayerSetMinus1(ii))); assert(rps->getNumberOfPositivePictures() <= rpcSlice->getVPS()->getMaxVpsDecPicBufferingMinus1(ii , rpcSlice->getLayerId() , rpcSlice->getVPS()->getMaxSLayersInLayerSetMinus1(ii)) - rps->getNumberOfNegativePictures()); assert((rps->getNumberOfPositivePictures() + rps->getNumberOfNegativePictures() + rps->getNumberOfLongtermPictures()) <= rpcSlice->getVPS()->getMaxVpsDecPicBufferingMinus1(ii , rpcSlice->getLayerId() , rpcSlice->getVPS()->getMaxSLayersInLayerSetMinus1(ii)));

rpcSlice->getLayerId() should be replaced with rpcSlice->getVPS()->getLayerIdInVps(rpcSlice->getLayerId())

A patch to correct the issue is attached.

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Note: See TracQuery for help on using queries.