#1011 closed defect (invalid)byte_alignment() was not implemented after decoding of end_of_sub_stream_one_hot
Description
The spec (L10003) requires that byte_alignment() is called once end_of_sub_stream_one_bit is decoded. byte_alignment() reads the next bit and it must be 1. Then, it reads the following bits until byte-alignment and they must be zero.
It seems that byte_alignment() was not implemented (or was not implemented correctly) in the reference software. If my understanding is correct, these calls are written in
Void TDecSbac::updateContextTables( SliceType eSliceType, Int iQp )
....
m_pcTDecBinIf->decodeBinTrm(uiBit) is used to decode end_of_sub_stream_one_bit
m_pcTDecBinIf->finish() is void
m_pcBitstream->readOutTrailingBits() reads only bits until byte-alignment, which is not exactly byte_alignment() does.
The same thing should be done for the encoder. Change History (3)comment:1 Changed 12 years ago by DefaultCC Plugin
comment:2 Changed 12 years ago by fbossen
comment:3 Changed 12 years ago by PhuongNguyen
After reading the ticket #980, I think that my tiket is still valid : the reference software has not implement alignment_bit_equal_to_one in the function byte_alignment() yet.
The text requires that once end_of_sub_stream_one_bit is decoded, we need to read the next bit which is alignment_bit_equal_to_one and must be one. The reading of this next bit was not implemented in the software because I did not see it in m_pcTDecBinIf->decodeBinTrm(uiBit), m_pcTDecBinIf->finish(), m_pcBitstream->readOutTrailingBits(). 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
|
Please refer to #980 which describes a fix to the text