JVET-Q0346 aspect 2: scaling list used in sh
This MR includes the second aspect of Q0346 in which there is a flag in the slice header to indicate whether the explicitly signaled scaling list is used in the slice or not.
Merge request reports
Activity
- Resolved by Karsten Suehring
Thanks Brian for your careful review. Looking at it again I'm wondering if this section could be simplified by completely removing getScalingListUpdateFlag() and getPreScalingListAPSId(). Is there any reason why quant->setScalingListDec(scalingList) cannot be called with the scalingListAPS indicated in the PH, for each slice in which pcSlice->getExplicitScalingListUsed() is equal to true? And for all slices with pcSlice->getExplicitScalingListUsed() equal to false the quant->setUseScalingList(false) would be called.
Hi Jonatan. It sounds good I think. I can double check to see if we are on the same page once you update the MR with your suggested changes.
I assume the only complaint might be the overhead of setting the same scaling list multiple times for a multi-slice picture when once would have been enough, but I assume that is minor.
added 1 commit
- 6527fd29 - Simplification in slice level scaling list setting
added 1 commit
- 31f82658 - Removing m_scalingListUpdateFlag when JVET_Q0346_SCALING_LIST_USED_IN_SH is 1
Hi Jonatan,
Works for me. Thanks for the fix.
I think there is a "#if JVET_Q0346_SCALING_LIST_USED_IN_SH" (line 2298) inside the "#else" section that could be removed now if you wanted to, since it's in the !JVET_Q0346_SCALING_LIST_USED_IN_SH block. But I guess it doesn't hurt anything.
Thanks, Brian
added 1 commit
- dc08728a - removing redundant #if JVET_Q0346_SCALING_LIST_USED_IN_SH
Thanks Brian. Good catch. Fixed in commit dc08728a.
mentioned in commit 7351889b