Opened 9 years ago

Closed 9 years ago

#942 closed defect (invalid)

HM 9.1 entry_point_offset issue

Reported by: ike Owned by:
Priority: minor Milestone:
Component: HM Version: HM-9.1
Keywords: entry_point_offset, tiles Cc: fbossen, ksuehring, davidf, jct-vc@…

Description

I was trying to independently decode tiles using HM 9.1. I made three streams:
"stream 1": all intra
"stream 2": random access
"stream 3": lowdelay

In order to make the tiles independently decodable I used the following settings:

--SAO=0 --UniformSpacingIdc=1 --NumTileColumnsMinus1=1 --NumTileRowsMinus1=1 --LFCrossTileBoundaryFlag=0

Within the software it is possible to fake a parallel decoding process inside the function TDecSlice::decompressSlice. I made accessible the values of m_fifo_idx (decleared in TComBitStream.h) and entry_point_offset. In particular I wrote:

Void setEntryPointOffsets(Int num, UInt *val)  
{ 
   m_entryPointOffsets = new UInt[num + 1]; m_entryPointOffsets[0] = 0;
   for(int i = 1; i < num + 1; i++) 
      m_entryPointOffsets[i] = val[i-1]; 
}

UInt getEntryPointOffset(Int num) 
{ 
   UInt val = 0; 
   for (int i = 0; i < num+1; i++) 
      val += m_entryPointOffsets[i];
   return val;
} 


Everything works fine with "stream 1" if the resolution is 1920x1080 or 3840x2160. Everything is ok also for "stream 2" and "stream 3" but only when resolution is 1920x1080.
When I encode a video at UHD1 resolution, with "stream 2" I see that, for the first frame m_fifo_idx is equal to getEntryPointOffset minus 1, while the following frames have m_fifo_idx equal to getEntryPointOffset.
With "stream 3" the first frame is decoded with m_fifo_idx equal to getEntryPointOffset while, for the following frames the decoding of some tiles start with m_fifo_idx equal to getEntryPointOffset minus 1 and other with m_fifo_idx equal to getEntryPointOffset.

Change History (2)

comment:1 Changed 9 years ago by DefaultCC Plugin

  • Cc fbossen ksuehring davidf jct-vc@… added

comment:2 Changed 9 years ago by ksuehring

  • Resolution set to invalid
  • Status changed from new to closed

The test code did not take emulation prevention bytes into account. If these are counted correctly the numbers match.

Note: See TracTickets for help on using tickets.

This list contains all users that will be notified about changes made to this ticket.

These roles will be notified: Reporter, Owner, Subscriber, Participant

  • David Flynn(Subscriber)
  • Frank Bossen(Subscriber)
  • jct-vc@…(Subscriber)
  • karl.sharman@…(Always)
  • Karsten Suehring(Subscriber, Participant, Always)
  • Marco Arena(Reporter)