Commit 52693d69 authored by TYAGIRIS's avatar TYAGIRIS
Browse files

Merge branch 'dlb-ivas-float-update-split-rendering' of...

Merge branch 'dlb-ivas-float-update-split-rendering' of ssh://forge.3gpp.org:29419/sa4/audio/ivas-basop into dlb-ivas-float-update-split-rendering
parents c0d04d8d f3be33ce
Loading
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -173,6 +173,7 @@ stages:

  ### build reference binaries
  - *disable-debugging-macro
  - make clean
  - make -j
  - mv IVAS_cod IVAS_cod_ref
  - mv IVAS_dec IVAS_dec_ref
@@ -986,7 +987,7 @@ build-codec-linux-instrumented-make:
  script:
    - *print-common-info
    - *update-scripts-repo
    - bash scripts/prepare_instrumentation.sh -m MEM_ONLY -p BASOP
    - bash scripts/prepare_instrumentation.sh -m MEM_ONLY -p FLOAT
    - make -j -C $INSTR_DIR

# make sure that the codec builds with msan, asan and usan
@@ -1779,6 +1780,21 @@ renderer-pytest-on-merge-request:

    - *merge-request-comparison-check

  allow_failure:
    exit_codes:
      - 123
  artifacts:
    name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results"
    expire_in: 1 week
    when: always
    paths:
      - report-junit.xml
      - report.html
    expose_as: "pytest renderer results"
    reports:
      junit:
        - report-junit.xml

# compare bit exactness between target and source branch
ivas-pytest-on-merge-request:
  extends:
+11 −1
Original line number Diff line number Diff line
@@ -348,9 +348,11 @@ int16_t RCcontextMapping_decode2_no_mem_s17_LCS(
    int16_t lastnz, n;
    uint16_t r;
    int16_t resQBits;
#ifdef DEBUGGING
    int16_t nbbits_m2;
    int16_t rest_bits;
#endif
    int16_t nt_half;
    int16_t nbbits_m2;
    int16_t bits_tups; /* No. of bits for coding the no. of tuples */

    set_s( x, 0, nt );
@@ -424,8 +426,10 @@ int16_t RCcontextMapping_decode2_no_mem_s17_LCS(
        /* Initialize range decoder */
        rc_uni_dec_init( &rc_st_dec, &st->bit_stream[st->next_bit_pos], nbbits ); /* (nbbits + 30) entries are read by the decoder */

#ifdef DEBUGGING
        nbbits_m2 = nbbits;
        rest_bits = -nbbits_m2;
#endif

        /* Main Loop through the 2-tuples */
        for ( k = 0; k < lastnz; k += 2 )
@@ -484,11 +488,13 @@ int16_t RCcontextMapping_decode2_no_mem_s17_LCS(
            a += a1 << lev;
            b += b1 << lev;

#ifdef DEBUGGING
            /* Add 2 LSB bits per bit-plane */
            rest_bits += 2 * lev;
            /* Sign bits */
            rest_bits += min( a, 1 );
            rest_bits += min( b, 1 );
#endif

            /* Update bitstream pointer */
            st->next_bit_pos = start_bit_pos + bits_tups + rc_uni_dec_virtual_finish( &rc_st_dec );
@@ -570,8 +576,10 @@ int16_t RCcontextMapping_decode2_no_mem_s17_LCS(
        /* Initialize range decoder */
        rc_uni_dec_init( &rc_st_dec, &st->bit_stream[st->next_bit_pos], nbbits ); /* (nbbits + 30) entries are read by the decoder */

#ifdef DEBUGGING
        nbbits_m2 = nbbits;
        rest_bits = -nbbits_m2;
#endif

        t = 0;
        s = 0;
@@ -624,11 +632,13 @@ int16_t RCcontextMapping_decode2_no_mem_s17_LCS(
            a += a1 << lev;
            b += b1 << lev;

#ifdef DEBUGGING
            /* Add 2 LSB bits per bit-plane */
            rest_bits += 2 * lev;
            /* Sign bits */
            rest_bits += min( a, 1 );
            rest_bits += min( b, 1 );
#endif

            /* Update bitstream pointer */
            st->next_bit_pos = start_bit_pos + bits_tups + rc_uni_dec_virtual_finish( &rc_st_dec );
+18 −1
Original line number Diff line number Diff line
@@ -3772,12 +3772,15 @@ static ivas_error requantize_direction_EC_3(
    /* gradually increase the bits following the performance of the EC layer*/
    int16_t j, k;
    int16_t use_vq;
    int16_t diff, allowed_bits, nbits, last_j;
    int16_t diff, allowed_bits, last_j;
    int16_t no_subframes, start_band;
    float st[MAX_PARAM_SPATIAL_SUBFRAMES], ct[MAX_PARAM_SPATIAL_SUBFRAMES];
    int16_t *bits_dir0;
#ifdef DEBUGGING
    int16_t nbits;

    nbits = 0;
#endif
    no_subframes = q_direction->cfg.nblocks;
    start_band = q_direction->cfg.start_band;

@@ -3808,7 +3811,9 @@ static ivas_error requantize_direction_EC_3(
    else /* 2D */
    {
        diff = 0;
#ifdef DEBUGGING
        nbits = 0;
#endif
        for ( j = start_band; j < coding_subbands; j++ )
        {
            bits_dir0 = (int16_t *) q_direction->band_data[j].bits_sph_idx;
@@ -3834,11 +3839,19 @@ static ivas_error requantize_direction_EC_3(

                if ( q_direction->cfg.mc_ls_setup != MC_LS_SETUP_INVALID )
                {
#ifdef DEBUGGING
                    nbits += truncGR0_chan( azimuth_orig[j], q_direction->band_data[j].azimuth, q_direction->band_data[j].azimuth_index, no_subframes, allowed_bits, st, ct );
#else
                    truncGR0_chan( azimuth_orig[j], q_direction->band_data[j].azimuth, q_direction->band_data[j].azimuth_index, no_subframes, allowed_bits, st, ct );
#endif
                }
                else
                {
#ifdef DEBUGGING
                    nbits += truncGR0( azimuth_orig[j], q_direction->band_data[j].azimuth, q_direction->band_data[j].azimuth_index, no_subframes, allowed_bits, st, ct );
#else
                    truncGR0( azimuth_orig[j], q_direction->band_data[j].azimuth, q_direction->band_data[j].azimuth_index, no_subframes, allowed_bits, st, ct );
#endif
                }

                if ( allowed_bits <= no_subframes + 1 )
@@ -3865,7 +3878,11 @@ static ivas_error requantize_direction_EC_3(
                                                                                         &q_direction->band_data[j].azimuth_index[k], q_direction->cfg.mc_ls_setup );
                    q_direction->band_data[j].elevation_index[k] = 0;
                }
#ifdef DEBUGGING
                nbits += write_fixed_rate_direction( hMetaData, q_direction, j, no_subframes );
#else
                write_fixed_rate_direction( hMetaData, q_direction, j, no_subframes );
#endif
            }
        }
    }