﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
42	parallel V2V (SymbolMode==3) broken in 0.7	jzan@…		"Dear Frank,

I noticed that the parallel V2V coding (symbolMode : 3) is broken in revision 0.6/0.7. This could be reproduced by setting symbolMode : 3 in the \cfg\encoder*.cfg files, and encoding. By comparing the encoded *.bin bitstream with that generated by setting ""symbolMode : 1"" (CABAC), it was noticed that the V2V bitstream was way bigger than that of the CABAC bitstream, while if V2V worked the way it supposed to be, the two bitstreams should be of the almost the same size.

A careful analysis showed that the default setting of

multiCodewordThreshold        : 96000       # Threshold for multi-codeword coding 

in the config file caused this problem. In the parallel V2V coding, only one CABAC is used to obtain the statistics for V2V coding, no matter what value ""multiCodewordThreshold"" is set.

The fix would be adding a validation check in TAppEncCfg.cpp:

Void TAppEncCfg::xCheckParameter()
{
…
  if(m_iSymbolMode == 3) {
    m_uiMCWThreshold = 0;
  }
…
}

After applying this fix, the size of the encoded bitstream using V2V (symbolMode :3) should be verified as very close to that of CABAC.

Besides, we did some improvement/cleaning for the V2V codes based on TMuC 0.7, and we attach the corresponding files

\source\App\TAppEncoder\TAppEncCfg.cpp
\source\Lib\TLibEncoder\TEncGOP.cpp
\source\Lib\TLibEncoder\TEncSlice.cpp
\source\Lib\TLibDecoder\TDecTop.cpp

Please let us know how the fix/improvement goes, and if there is any problem, do not hesitate to contact us.

Best regards,
Jinwen


"	defect	closed	minor	0.6	HM		wontfix	SymbolMode, V2V, MultiCodewordThreshold	dhe@… gkorodi@… jzan@… fbossen ksuehring davidf jct-vc@…
