Opened 11 years ago Closed 11 years ago #1167 closed defect (wontfix)TransformSkipFast needs to be disabled when transformSkipLog2MaxSize != 2
Description (last modified by ksuehring)
In HM12.0+Rext-4.1, a warning is sent out when transformSkipLog2MaxSize != 2. if (m_transformSkipLog2MaxSize!=2 && m_useTransformSkipFast) { fprintf(stderr, "***************************************************************************\n"); fprintf(stderr, "** WARNING: Transform skip fast is enabled (which only tests NxN splits),**\n"); fprintf(stderr, "** but transform skip log2 max size is not 2 (4x4) **\n"); fprintf(stderr, "** It may be better to disabled transform skip fast mode **\n"); fprintf(stderr, "***************************************************************************\n"); }
That is, to enable transformSkip on large TU sizes, the transformSkipFast should be disabled. Otherwise, transformSkip only works when PU is NxN. However, only a warning is given. Some people may not notice this point in their simulations.
I suggest modify m_useTransformSkipFast to be false when m_transformSkipLog2MaxSize!=2. That is, if (m_transformSkipLog2MaxSize!=2 && m_useTransformSkipFast) { m_useTransformSkipFast = false; fprintf(stderr, "***************************************************************************\n"); fprintf(stderr, "** WARNING: Transform skip fast (which only tests NxN splits) is disabled,**\n"); fprintf(stderr, "** when transform skip log2 max size is not 2 (4x4) **\n"); fprintf(stderr, "***************************************************************************\n"); } Change History (6)comment:1 Changed 11 years ago by DefaultCC Plugin
comment:2 Changed 11 years ago by ksuehring
comment:3 Changed 11 years ago by ksuehringcomment:4 Changed 11 years ago by davidf
I'm in two minds over this. Generally, "silently" disabling requested behaviour is bad. The software currently reports a warning and obeys the current directives. If the alternative behaviour is wanted, why not simply provide the correct configuration?
Implementing the change will still produce a warning so it doesn't actually help anything: one must still fix the configuration to silence the warning. Given this, my preference would be to not change the current behaviour.
On the subject of warnings, when running simulations one should log standard error to a file and check that it is empty after the encode/decode. Certain things are reported there that are worth human inspection (rather than the standard output which, given the number of jobs, is best left to scripts to process). comment:5 Changed 11 years ago by fbossen
comment:6 Changed 11 years ago by karlsharman
Reiterating the previous comment: the system currently reports a warning and obeys the current directives. If the alternative behaviour is wanted, why not simply provide the correct configuration?
The transform-skip (intra) fast search only checks transform skip for luma for TUs that are associated with NxN PUs (which by default means only 4x4 TUs); it checks chroma only when any of the corresponding luma TUs have transform-skip selected.
However, if the minimum PU size is increased from 4x4, then the combination of fast search and transform-skip-max-log2 size should have an effect.
Perhaps a modified fast transform-skip search is required instead? 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 looks like a RExt only issue? Then it should be filed against the RExt HM component (with appropriate version numbers).
In general, if you want to make people aware that they are using a bad configuration setting would be to fail instead of changing the parameter. Usually people don't look at the log files unless something fails.