diff --git a/lib_com/options.h b/lib_com/options.h index 7e2678dda5175766c8155882e473f46978ff8cbb..0f1889ab8acfa7e9b9d84c7054476b11ed54f096 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -170,7 +170,7 @@ #define NONBE_FIX_GSC_BSTR /* VA: issue 1264: Fix bitstream synchronization between encoder and decoder in ACELP GSC in OMASA */ #define NONBE_1273_ISM_METADATA_COUNTER /* VA: issue 1273: fix counter overflow in ISM metadata encoder */ - +#define NONBE_1279_COUNTER_OVERFLOW /* VA: issue 1279: Avoid possible overflow of counter st->Nb_ACELP_frames */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_enc/acelp_core_enc.c b/lib_enc/acelp_core_enc.c index b12783d1c84b55fc5c190ad655af34844f9e4afd..45d633cfc94c71cf600733d08df72c2acc4bc28b 100644 --- a/lib_enc/acelp_core_enc.c +++ b/lib_enc/acelp_core_enc.c @@ -167,7 +167,14 @@ ivas_error acelp_core_enc( { st->Nb_ACELP_frames = 0; } +#ifdef NONBE_1279_COUNTER_OVERFLOW + if ( st->Nb_ACELP_frames < MAX16B ) + { + st->Nb_ACELP_frames++; + } +#else st->Nb_ACELP_frames++; +#endif if ( st->L_frame == L_FRAME ) {