Commit 3e53ed8d authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Fixes to OMASA mono output path and addressing VE2TP comments.

parent 31c1c12a
Loading
Loading
Loading
Loading
Loading
+2 −10
Original line number Diff line number Diff line
@@ -488,18 +488,10 @@ ivas_error ivas_dec(
        {
            ivas_mono_downmix_render_passive( st_ivas, output, output_frame );
        }
        else if ( st_ivas->renderer_type == RENDERER_DIRAC ) // VE2TP: please verify, it was "else if (st_ivas->hDirAC)"
        {
            if ( st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_DISC )
        else if ( st_ivas->renderer_type == RENDERER_DIRAC )
        {
            ivas_omasa_dirac_rend( st_ivas, output, output_frame );
        }
            else
            {
                // VE2TP: please verify - this should probably never happen (ISM_MODE_NONE is renderered via "ivas_format == MASA_FORMAT" if branch)
                ivas_dirac_dec( st_ivas, output, st_ivas->nchan_transport, NULL, NULL, -1 );
            }
        }
    }
#endif
    else if ( st_ivas->ivas_format == MC_FORMAT )
+20 −15
Original line number Diff line number Diff line
@@ -308,14 +308,13 @@ ivas_error ivas_masa_decode(
#ifdef MASA_AND_OBJECTS
        if ( st_ivas->ivas_format == MASA_ISM_FORMAT )
        {
            if ( st_ivas->ism_mode != ISM_MASA_MODE_DISC && st_ivas->ism_mode != ISM_MASA_MODE_MASA_ONE_OBJ )
            if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ )
            {
                if ( st_ivas->hDirAC != NULL )
                {
                    *nb_bits_read += ivas_decode_masaism_metadata( hQMetaData, st_ivas->hMasa, st_ivas->hMasaIsmData, st_ivas->nchan_ism, st->bit_stream, &st->next_bit_pos,
                                                                   st_ivas->hMasaIsmData->idx_separated_ism, ism_imp, st_ivas->hDirAC->dirac_bs_md_write_idx, st_ivas->hDirAC->dirac_md_buffer_length );
            }

            if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ )
            {
                    for ( obj = 0; obj <= st_ivas->nchan_ism; obj++ )
                    {
                        if ( st_ivas->hMasaIsmData->idx_separated_ism == obj )
@@ -332,6 +331,12 @@ ivas_error ivas_masa_decode(
                        }
                    }
                }
                else
                {
                    *nb_bits_read += ivas_decode_masaism_metadata( hQMetaData, st_ivas->hMasa, st_ivas->hMasaIsmData, st_ivas->nchan_ism, st->bit_stream, &st->next_bit_pos,
                                                                   st_ivas->hMasaIsmData->idx_separated_ism, ism_imp, 0, MAX_PARAM_SPATIAL_SUBFRAMES );
                }
            }
        }
#endif

+21 −18
Original line number Diff line number Diff line
@@ -436,6 +436,8 @@ ivas_error ivas_omasa_ism_metadata_dec(
            return error;
        }

        if (st_ivas->hDirAC != NULL )
        {
            if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC )
            {
                for ( n = 0; n < st_ivas->nchan_ism; n++ )
@@ -464,6 +466,7 @@ ivas_error ivas_omasa_ism_metadata_dec(
                }
            }
        }
    }

    return IVAS_ERR_OK;
}