Opened 8 years ago

Closed 8 years ago

#1167 closed defect (wontfix)

TransformSkipFast needs to be disabled when transformSkipLog2MaxSize != 2

Reported by: xipe Owned by:
Priority: minor Milestone: HM+RExt-4.2
Component: HM RExt Version: RExt-4.0 (HM-12.0)
Keywords: Cc: davidf, jct-vc@…

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 8 years ago by DefaultCC Plugin

  • Cc jct-vc@… added

comment:2 Changed 8 years ago by ksuehring

  • Description modified (diff)

comment:3 Changed 8 years ago by ksuehring

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.

comment:4 Changed 8 years ago by davidf

  • Cc fbossen ksuehring jct-vc@… removed
  • Milestone changed from HM-12.1 to HM+RExt-4.2
  • Version changed from HM-12.0 to RExt-4.0 (HM-12.0)

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 8 years ago by fbossen

  • Component changed from HM to HM RExt

comment:6 Changed 8 years ago by karlsharman

  • Resolution set to wontfix
  • Status changed from new to closed

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

  • David Flynn(Subscriber, Participant)
  • Frank Bossen(Participant)
  • jct-vc@…(Subscriber)
  • Karl Sharman(Participant)
  • karl.sharman@…(Always)
  • Karsten Suehring(Participant, Always)