﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
1583	VTM-19.0 not compiling when the macro REUSE_CU_RESULTS is equal to 0.	dumas		"When VTM-19.0 is compiled with REUSE_CU_RESULTS at 0, several compilation errors appear.

ERROR LOG
---------
if ((cuECtx.get<double>(BEST_NO_IMV_COST) == (MAX_DOUBLE * .5) || cuECtx.get<bool>(IS_REUSING_CU)) && !slice.isIntra())
                                                                                        ^~~~~~~~~~~~~
[ 76%] Building CXX object source/Lib/DecoderAnalyserLib/CMakeFiles/DecoderAnalyserLib.dir/__/DecoderLib/DecSlice.cpp.o
make[2]: *** [source/Lib/EncoderLib/CMakeFiles/EncoderLib.dir/EncModeCtrl.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 77%] Building CXX object source/Lib/DecoderAnalyserLib/CMakeFiles/DecoderAnalyserLib.dir/__/DecoderLib/NALread.cpp.o
[ 77%] Building CXX object source/Lib/DecoderAnalyserLib/CMakeFiles/DecoderAnalyserLib.dir/__/DecoderLib/SEIread.cpp.o
[ 78%] Building CXX object source/Lib/DecoderAnalyserLib/CMakeFiles/DecoderAnalyserLib.dir/__/DecoderLib/VLCReader.cpp.o
make[1]: *** [source/Lib/EncoderLib/CMakeFiles/EncoderLib.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 79%] Linking CXX static library ../../../../lib/umake/gcc-8.3/x86_64/release/libDecoderLib.a
[ 79%] Built target DecoderLib
[ 79%] Linking CXX static library ../../../../lib/umake/gcc-8.3/x86_64/release/libDecoderAnalyserLib.a
[ 79%] Built target DecoderAnalyserLib
make: *** [all] Error 2

COMPILATION ENVIRONMENT
-----------------------
OS       : CentOS Linux 7 Cores
Compiler : GCC 8.3.1

OTHER TEST
----------
The same error appears when compiling using Windows 11 and MSVC 16-19.29.

POTENTIAL FIX
-------------
1. In ""EncModeCtlr.cpp"", line 1874, ""|| cuECtx.get<bool>(IS_REUSING_CU)"" can be wrapped by the macro REUSE_CU_RESULTS.
2. In ""EncCfg.h"", line 1580, the following code

#if REUSE_CU_RESULTS
  ChromaFormat  getChromaFormatIdc          ( ) const        { return m_chromaFormatIDC; }
#else
  ChromaFormat  getChromaFormatIdc          ( )              { return m_chromaFormatIDC; }
#endif

can become

ChromaFormat  getChromaFormatIdc          ( ) const        { return m_chromaFormatIDC; }

With 1. and 2., the compilation completes."	defect	closed	minor	VTM-19.1	VTM	VTM-19.0	fixed		ksuehring XiangLi fbossen jvet@…
