Commit 2e64de3a authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

IVAS crash fixes

parent 22a940b2
Loading
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -2791,7 +2791,7 @@ ivas_error ivas_jbm_dec_render(
    {
#ifdef IVAS_FLOAT_FIXED
        FOR(Word16 ind = 0; ind < st_ivas->hTcBuffer->nchan_transport_jbm; ind++) {
            floatToFixed_arrL(st_ivas->hTcBuffer->tc[ind] + st_ivas->hTcBuffer->n_samples_rendered, st_ivas->hTcBuffer->tc_fx[ind] + st_ivas->hTcBuffer->n_samples_rendered, Q11, st_ivas->hTcBuffer->tc_buffer_len- st_ivas->hTcBuffer->n_samples_rendered);
            floatToFixed_arrL(st_ivas->hTcBuffer->tc[ind] + st_ivas->hTcBuffer->n_samples_rendered, st_ivas->hTcBuffer->tc_fx[ind] + st_ivas->hTcBuffer->n_samples_rendered, Q11, st_ivas->hTcBuffer->tc_buffer_len[ind]- st_ivas->hTcBuffer->n_samples_rendered);
            p_output_fx[ind] = malloc(sizeof(Word32) * 960);
            floatToFixed_arrL(p_output[ind], p_output_fx[ind], Q11, s_max(*nSamplesRendered, nSamplesAskedLocal));
        }
@@ -5100,7 +5100,6 @@ ivas_error ivas_jbm_dec_tc_buffer_open(
                {
                    return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for JBM TC Buffer\n" ) );
                }
                hTcBuffer->tc_buffer_len = nsamp_to_allocate;
                set32_fx( hTcBuffer->tc_buffer_fx, 0, nsamp_to_allocate );
#endif

@@ -5109,6 +5108,7 @@ ivas_error ivas_jbm_dec_tc_buffer_open(
                {
                    hTcBuffer->tc[ch_idx] = &hTcBuffer->tc_buffer[offset];
#ifdef IVAS_FLOAT_FIXED
                    hTcBuffer->tc_buffer_len[ch_idx] = nsamp_to_allocate-offset;
                    hTcBuffer->tc_fx[ch_idx] = &hTcBuffer->tc_buffer_fx[offset];
#endif
                    offset += n_samp_full;
@@ -5117,6 +5117,7 @@ ivas_error ivas_jbm_dec_tc_buffer_open(
                {
                    hTcBuffer->tc[ch_idx] = &hTcBuffer->tc_buffer[offset];
#ifdef IVAS_FLOAT_FIXED
                    hTcBuffer->tc_buffer_len[ch_idx] = nsamp_to_allocate - offset;
                    hTcBuffer->tc_fx[ch_idx] = &hTcBuffer->tc_buffer_fx[offset];
#endif
                    offset += n_samp_residual;
@@ -5278,7 +5279,6 @@ ivas_error ivas_jbm_dec_tc_buffer_open_fx(
                {
                    return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for JBM TC Buffer\n" ) );
                }
                hTcBuffer->tc_buffer_len = nsamp_to_allocate;
                set32_fx( hTcBuffer->tc_buffer_fx, 0, nsamp_to_allocate );

                offset = 0;
@@ -5288,6 +5288,7 @@ ivas_error ivas_jbm_dec_tc_buffer_open_fx(
#if 1 /* TODO: remove float code */
                    hTcBuffer->tc[ch_idx] = &hTcBuffer->tc_buffer[offset];
#endif
                    hTcBuffer->tc_buffer_len[ch_idx] = nsamp_to_allocate- offset;
                    hTcBuffer->tc_fx[ch_idx] = &hTcBuffer->tc_buffer_fx[offset];
                    offset = L_add( offset, n_samp_full );
                }
@@ -5296,6 +5297,7 @@ ivas_error ivas_jbm_dec_tc_buffer_open_fx(
#if 1 /* TODO: remove float code */
                    hTcBuffer->tc[ch_idx] = &hTcBuffer->tc_buffer[offset];
#endif
                    hTcBuffer->tc_buffer_len[ch_idx] = nsamp_to_allocate- offset;
                    hTcBuffer->tc_fx[ch_idx] = &hTcBuffer->tc_buffer_fx[offset];
                    offset = L_add( offset, n_samp_residual );
                }
+1 −1
Original line number Diff line number Diff line
@@ -1217,7 +1217,7 @@ typedef struct decoder_tc_buffer_structure
    float *tc_buffer;                                                                                                                /* the buffer itself                                                        */
    float *tc[MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS]; /* pointers into the buffer to the beginning of each tc                     */ // VE2SB: TBV
#ifdef IVAS_FLOAT_FIXED
    Word16 tc_buffer_len;
    Word16 tc_buffer_len[MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS];
    Word32 *tc_buffer_fx;                                                                                                           /* the buffer itself                                                        */
    Word32 *tc_fx[MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS]; /* pointers into the buffer to the beginning of each tc                    */ // VE2SB: TBV
#endif