Commit 4d3b31fe authored by Manuel Jander's avatar Manuel Jander
Browse files

Correct problem with st->q_old_inp32.

parent 951433b6
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -437,8 +437,15 @@ ivas_error ivas_cpe_enc_fx(

    shift = s_min( L_norm_arr( sts[0]->input_buff32_fx, input_frame_2 ), L_norm_arr( sts[1]->input_buff32_fx, input_frame_2 ) );
    q_min = add( sts[0]->q_inp32, sub( shift, find_guarded_bits_fx( input_frame ) ) );
#ifdef NONBE_FIX_ISSUE_2206
    scale_sig32( sts[1]->input_buff32_fx, input_frame, sub( q_min, sts[1]->q_old_inp32 ) ); /* q_min */
    scale_sig32( sts[0]->input_buff32_fx, input_frame, sub( q_min, sts[0]->q_old_inp32 ) ); /* q_min */
    scale_sig32( sts[1]->input_buff32_fx + input_frame, input_frame, sub( q_min, sts[1]->q_inp32 ) ); /* q_min */
    scale_sig32( sts[0]->input_buff32_fx + input_frame, input_frame, sub( q_min, sts[0]->q_inp32 ) ); /* q_min */
#else
    scale_sig32( sts[1]->input_buff32_fx, input_frame_2, sub( q_min, sts[1]->q_inp32 ) ); /* q_min */
    scale_sig32( sts[0]->input_buff32_fx, input_frame_2, sub( q_min, sts[0]->q_inp32 ) ); /* q_min */
#endif
    sts[0]->q_inp32 = sts[1]->q_inp32 = sts[0]->q_old_inp32 = sts[1]->q_old_inp32 = q_min;
    move16();
    move16();
@@ -449,8 +456,15 @@ ivas_error ivas_cpe_enc_fx(

    shift = sub( add( L_norm_arr( sts[0]->input_buff32_fx, input_frame_2 ), sts[0]->q_inp32 ), 16 );
    shift = s_min( shift, sub( add( L_norm_arr( sts[1]->input_buff32_fx, input_frame_2 ), sts[1]->q_inp32 ), 16 ) );
#ifdef NONBE_FIX_ISSUE_2206
    Copy_Scale_sig32_16( sts[0]->input_buff32_fx, sts[0]->input_buff_fx, input_frame, sub( add( Q16, shift ), sts[0]->q_old_inp32 ) ); // shift
    Copy_Scale_sig32_16( sts[1]->input_buff32_fx, sts[1]->input_buff_fx, input_frame, sub( add( Q16, shift ), sts[1]->q_old_inp32 ) ); // shift
    Copy_Scale_sig32_16( sts[0]->input_buff32_fx + input_frame, sts[0]->input_buff_fx + input_frame, input_frame, sub( add( Q16, shift ), sts[0]->q_inp32 ) ); // shift
    Copy_Scale_sig32_16( sts[1]->input_buff32_fx + input_frame, sts[1]->input_buff_fx + input_frame, input_frame, sub( add( Q16, shift ), sts[1]->q_inp32 ) ); // shift
#else
    Copy_Scale_sig32_16( sts[0]->input_buff32_fx, sts[0]->input_buff_fx, input_frame_2, sub( add( Q16, shift ), sts[0]->q_inp32 ) ); // shift
    Copy_Scale_sig32_16( sts[1]->input_buff32_fx, sts[1]->input_buff_fx, input_frame_2, sub( add( Q16, shift ), sts[1]->q_inp32 ) ); // shift
#endif
    sts[0]->q_inp = sts[1]->q_inp = sts[0]->q_old_inp = sts[1]->q_old_inp = shift;
    move16();
    move16();
+6 −0
Original line number Diff line number Diff line
@@ -2040,6 +2040,12 @@ void stereo_tca_enc_fx(
    move16();
    sts[1]->q_inp32 = input_mem_loc_q;
    move16();
#ifdef NONBE_FIX_ISSUE_2206
    sts[0]->q_old_inp32 = input_mem_loc_q;
    move16();
    sts[1]->q_old_inp32 = input_mem_loc_q;
    move16();
#endif

    icaMemUpdate_fx( sts, hCPE, input_mem_loc_fx[0], input_mem_loc_fx[1], input_mem_loc_q, lMemRecalc, lMemRecalc_SCh, input_frame );