﻿id	summary	reporter	owner	description	type	status	priority	component	version	resolution	keywords	cc
60	Encoder Crashing when Rate Control Enabled: Assertion failed: numBins <= 32	mrcord81	tech	"When running the encoder using the configuration file provided with the project (see attached), the encoder crashes with the following error immediately after encoding POC 0 Layer 2.

Assertion failed: numBins <= 32, file ..\..\source\Lib\TLibEncoder\TEncSbac.cpp,
 line 445

This was also replicated on version 10.2.

Rate control works fine with version HTM 10.0.

Moreover, upon enabling Rate Control Macros:

KWU_RC_VIEWRC_E0227 and KWU_RC_MADPRED_E0227 the compiler generated a number of errors.

A) TAppEncTop.cpp
..\..\source\App\TAppEncoder\TAppEncTop.cpp(701) : error C2664: 'TEncTop::init' : cannot convert parameter 1 from 'Bool' to 'TAppEncTop *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast

This refers to the following code:

#if KWU_RC_MADPRED_E0227
    m_acTEncTopList[layer]->init( isFieldCoding, this );
 
I think this should read as follows:

#if KWU_RC_MADPRED_E0227
    m_acTEncTopList[layer]->init( this,isFieldCoding );

B) A series of error when compiling TencSlice.cpp.  There seems to be a missing braces.

TEncSlice.cpp
..\..\source\Lib\TLibEncoder\TEncSlice.cpp(1211) : error C2601: 'TEncSlice::encodeSlice' : local function definitions are illegal
        ..\..\source\Lib\TLibEncoder\TEncSlice.cpp(796): this line contains a '{' which has not yet been matched
..\..\source\Lib\TLibEncoder\TEncSlice.cpp(1495) : error C2601: 'TEncSlice::xDetermineStartAndBoundingCUAddr' : local function definitions are illegal
        ..\..\source\Lib\TLibEncoder\TEncSlice.cpp(796): this line contains a '{' which has not yet been matched
..\..\source\Lib\TLibEncoder\TEncSlice.cpp(1818) : error C2601: 'TEncSlice::xGetQPValueAccordingToLambda' : local function definitions are illegal
        ..\..\source\Lib\TLibEncoder\TEncSlice.cpp(796): this line contains a '{' which has not yet been matched
..\..\source\Lib\TLibEncoder\TEncSlice.cpp(1824) : fatal error C1075: end of file found before the left brace '{' at '..\..\source\Lib\TLibEncoder\TEncSlice.cpp(796)' was matched

C) A series of errors when compiling TEncRateCtrl.cpp

..\..\source\Lib\TLibEncoder\TEncRateCtrl.cpp(948) : error C2374: 'totalMAD' : redefinition; multiple initialization
        ..\..\source\Lib\TLibEncoder\TEncRateCtrl.cpp(944) : see declaration of 'totalMAD'
..\..\source\Lib\TLibEncoder\TEncRateCtrl.cpp(949) : error C2374: 'MAD' : redefinition; multiple initialization
        ..\..\source\Lib\TLibEncoder\TEncRateCtrl.cpp(945) : see declaration of 'MAD'

The latter refers to a double declaration.  Moreover some MACRO defines have not been updated. 

Have you replicated these issues?
"	defect	new	major	HTM software	HTM-10.1			tech jct-3v@…
