Opened 11 years ago Closed 11 years ago #1351 closed defect (fixed)error in parsing terminating bit that ends slice_segment_data
Description
A recent change in TDecSlice.cpp introduced an error in the parsing of the terminating bit at the end of slice_segment_data. // Should the sub-stream/stream be terminated after this CTU?
// (end of slice-segment, end of tile, end of wavefront-CTU-row)
if (isLastCtuOfSliceSegment ||
( ctuXPosInCtus + 1 == tileXPosInCtus + currentTile.getTileWidthInCtus() &&
( ctuYPosInCtus + 1 == tileYPosInCtus + currentTile.getTileHeightInCtus() || wavefrontsEnabled)
)
)
Should be changed to: // Should the sub-stream/stream be terminated after this CTU?
// (end of slice-segment, end of tile, end of wavefront-CTU-row)
if (!isLastCtuOfSliceSegment &&
( ctuXPosInCtus + 1 == tileXPosInCtus + currentTile.getTileWidthInCtus() &&
( ctuYPosInCtus + 1 == tileYPosInCtus + currentTile.getTileHeightInCtus() || wavefrontsEnabled)
)
)
Please refer to syntax table 7.3.8.1 of the specification. Change History (2)comment:1 Changed 11 years ago by DefaultCC Plugin
comment:2 Changed 11 years ago by karlsharman
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
| ||||||||||||||||
This would have had no actual effect on decoding since parseTerminatingBit
can be called multiple times for the last terminating-1 bit, and still get
the same result:
However, fixed for clarity.
Fixed in r4237.