Opened 11 years ago Closed 11 years ago #1194 closed defect (fixed)Difference in neighbor calculation for SAO in HM-11.1 and HM-12.0
Description
Between HM-11.1 and HM-12.0 function setNDBFilterBlockBorderAvailability was renamed to deriveLoopFilterBoundaryAvailibility in a change set 3543. This change set is based on JCTVC-N0230 which is supposed to be an encoder-only enhancement and only a cleanup of decoder code. But the change also changes logic for determining neighbor CTB across slice boundaries for SAO filter in case of above-right and below-left neighborhood, and therefore affects how decoder applies SAO filter to a frame.
Previously value of flag slice_loop_filter_across_slices_enabled_flag was always taken from the later slice in the encoding order. But in HM-12.0 when slices for current and neighbor CTB are different, code compares slice start blocks in raster order. When tiles are enabled, CTB with bigger tile scan address may have a smaller raster scan address, and when values of slice_loop_filter_across_slices_enabled_flag are different, decoder may work differently than in HM-11.1 version.
Attached is a patch that fixes this behavior for decoder and uses tile scan.
If necessary I can attach streams that show that HM-12.x decoder behaves differently from previous versions. Attachments (2)Change History (6)comment:1 Changed 11 years ago by DefaultCC Plugin
Changed 11 years ago by gregorycomment:2 Changed 11 years ago by fbossen
Presumably the change that you mention happened between versions 12.0 and 12.1. Changed 11 years ago by gregory
Stream that shows difference on frame with POC=2 CTB=157, right upper coner on Cb plane comment:3 Changed 11 years ago by gregory
Yes change happened in revision 3543 by mediatek into branches/HM-12.0-dev/source. I attached a small reproducing stream. Bug may happen on any plane, not only in chroma. comment:4 Changed 11 years ago by fbossen
Fixed in r3663 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
|
Fix for CTB availability calculation