Opened 13 years ago Closed 13 years ago #457 closed defect (invalid)Potential Bug in HM6.0
Description
When we did expeiments on HM4.0, we observed that the following section of the code of the function "encodeCoeff "in the file "TEncEntropy.cpp" does not seem to behave in the correct way.
It seems that the above code should be modified as follows.
In this way, it can also match the following section of the code of the function "decodeCoeff" in the file "TDecEntropy.cpp"
The following section of the code of the function "encodeCoeff " in the file "TEncEntropy.cpp" of HM6.0 also has the same problem.
#if NSQT_LFFIX
#endif
It seems that it should make the following changes.
#if NSQT_LFFIX
#endif
Change History (4)comment:1 Changed 13 years ago by DefaultCC Plugin
comment:2 Changed 13 years ago by ksuehring
comment:3 Changed 13 years ago by tung.nguyencomment:4 Changed 13 years ago by ksuehring
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
|
The implementation is correct.
In decoder, a flag (cbf) signals whether a TU has coefficient or not is parsed first (1).
After that, this information is evaluated (2) and the parseCoeffNxN is called if the flag is set.
(1) TDecEntropy.cpp ~ 1062
(2) TDecEntropy.cpp ~ 801 - 865
In the encoder, the flag is not always available in the estimation process.
Thats the reason why codeCoeffNxN check for the number of non-zero coefficient in the TU.
However, for the real coding stage, the flag set in xEncSearch.cpp (of the final decision), thus the implementation is correct.
~ xEncCoeffQT
~ encodeCoeffNxN [TEncSearch.cpp: 842]
Best regards,
Tung