Commit a680c982 authored by emerit's avatar emerit
Browse files

update binary format and tests

parent dd9ab5ac
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -1172,7 +1172,7 @@ static ivas_error create_HRTF_from_rawdata(
{
    int16_t i, j, k;
    int16_t max_num_iterations_diffuse;
    uint16_t max_total_num_fsamp_per_iteration, max_total_num_fsamp_per_iteration_diff;
    uint32_t max_total_num_fsamp_per_iteration, max_total_num_fsamp_per_iteration_diff;
    uint32_t mem_size;
    char *hrtf_data_rptr;
    float *pOut_to_bin_wptr;
@@ -1295,8 +1295,8 @@ static ivas_error create_HRTF_from_rawdata(
    }

    /* max_total_num_fsamp_per_iteration */
    max_total_num_fsamp_per_iteration = *( (uint16_t *) ( hrtf_data_rptr ) );
    hrtf_data_rptr += sizeof( uint16_t );
    max_total_num_fsamp_per_iteration = *( (uint32_t *) ( hrtf_data_rptr ) );
    hrtf_data_rptr += sizeof( uint32_t );

    /* coeff_re (the size depends on pIndex_frequency_max) */
    for ( i = 0; i < ( *hHRTF )->max_num_ir; i++ )
@@ -1347,8 +1347,8 @@ static ivas_error create_HRTF_from_rawdata(
    }

    /* max_total_num_fsamp_per_iteration_diff */
    max_total_num_fsamp_per_iteration_diff = *( (uint16_t *) ( hrtf_data_rptr ) );
    hrtf_data_rptr += sizeof( uint16_t );
    max_total_num_fsamp_per_iteration_diff = *( (uint32_t *) ( hrtf_data_rptr ) );
    hrtf_data_rptr += sizeof( uint32_t );

    if ( max_total_num_fsamp_per_iteration_diff != 0 )
    {
@@ -1412,7 +1412,7 @@ static ivas_error create_HRTF_from_rawdata_fx(
{
    int16_t i, j, k;
    int16_t max_num_iterations_diffuse;
    uint16_t max_total_num_fsamp_per_iteration, max_total_num_fsamp_per_iteration_diff;
    uint32_t max_total_num_fsamp_per_iteration, max_total_num_fsamp_per_iteration_diff;
    uint32_t mem_size;
    char *hrtf_data_rptr;
    Word32 *pOut_to_bin_wptr;
@@ -1536,8 +1536,8 @@ static ivas_error create_HRTF_from_rawdata_fx(
    }

    /* max_total_num_fsamp_per_iteration */
    max_total_num_fsamp_per_iteration = *( (uint16_t *) ( hrtf_data_rptr ) );
    hrtf_data_rptr += sizeof( uint16_t );
    max_total_num_fsamp_per_iteration = *( (uint32_t *) ( hrtf_data_rptr ) );
    hrtf_data_rptr += sizeof( uint32_t );
    ( *hHRTF )->factor_Q_pOut_to_bin_fx = *( (Word16 *) ( hrtf_data_rptr ) );
    hrtf_data_rptr += sizeof( Word16 );

@@ -1591,8 +1591,8 @@ static ivas_error create_HRTF_from_rawdata_fx(
    }

    /* max_total_num_fsamp_per_iteration_diff */
    max_total_num_fsamp_per_iteration_diff = *( (uint16_t *) ( hrtf_data_rptr ) );
    hrtf_data_rptr += sizeof( uint16_t );
    max_total_num_fsamp_per_iteration_diff = *( (uint32_t *) ( hrtf_data_rptr ) );
    hrtf_data_rptr += sizeof( uint32_t );

    if ( max_total_num_fsamp_per_iteration_diff != 0 )
    {
+11 −11
Original line number Diff line number Diff line
@@ -105,8 +105,8 @@ typedef struct _crend_hrtf_tables_dimensions
    int16_t max_num_ir;
    int16_t max_num_iterations;
    int16_t max_num_iterations_diffuse;
    uint16_t max_total_num_fsamp_per_iteration;
    uint16_t max_total_num_fsamp_per_iteration_diff;
    uint32_t max_total_num_fsamp_per_iteration;
    uint32_t max_total_num_fsamp_per_iteration_diff;

} crend_hrtf_tables_dimensions;

@@ -1640,7 +1640,7 @@ int16_t get_crend_hrtf_tables( HRTF_READER_RENDERER_TYPE rend_type, BINAURAL_INP
{
    int16_t result = -1;
    uint16_t iChan, iIR, iIter, iIndex, max_num_iterations;
    uint16_t total_num_fsamp_per_iteration, total_num_fsamp_per_iteration_diff;
    uint32_t total_num_fsamp_per_iteration, total_num_fsamp_per_iteration_diff;

    crend_hrtf_tables_pointers hrtf_table_ptrs_out;
    crend_hrtf_tables_dimensions hrtf_table_dims_out;
@@ -2084,7 +2084,7 @@ int32_t compute_crend_hrtf_data_size_fx( crend_hrtf_tables_pointers *hrtf_table_
    hrtf_data_size += sizeof( uint16_t );                                                 // index_frequency_max_diffuse
    hrtf_data_size += sizeof( Word16 );                                                   // inv_diffuse_weight factor Q
    hrtf_data_size += hrtf_table_dims->max_num_ir * BINAURAL_CHANNELS * sizeof( Word16 ); // inv_diffuse_weight
    hrtf_data_size += sizeof( uint16_t );                                                 // max_total_num_fsamp_per_iteration
    hrtf_data_size += sizeof( uint32_t );                                                 // max_total_num_fsamp_per_iteration

    hrtf_data_size += sizeof( Word16 ); // filters factor Q
    // coeff_re & coeff_im : The size depends on pIndex_frequency_max
@@ -2099,7 +2099,7 @@ int32_t compute_crend_hrtf_data_size_fx( crend_hrtf_tables_pointers *hrtf_table_
        }
    }

    hrtf_data_size += sizeof( uint16_t ); // max_total_num_fsamp_per_iteration_diff
    hrtf_data_size += sizeof( uint32_t ); // max_total_num_fsamp_per_iteration_diff
    if ( hrtf_table_dims->max_total_num_fsamp_per_iteration_diff != 0 )
    {
        // coeff_diffuse_re & coeff_diffuse_im : The size depends on pIndex_frequency_max
@@ -2149,7 +2149,7 @@ int32_t compute_crend_hrtf_data_size( crend_hrtf_tables_pointers *hrtf_table_ptr

    hrtf_data_size += sizeof( uint16_t );                                                // index_frequency_max_diffuse
    hrtf_data_size += hrtf_table_dims->max_num_ir * BINAURAL_CHANNELS * sizeof( float ); // inv_diffuse_weight
    hrtf_data_size += sizeof( uint16_t );                                                // max_total_num_fsamp_per_iteration
    hrtf_data_size += sizeof( uint32_t );                                                // max_total_num_fsamp_per_iteration
    // coeff_re & coeff_im : The size depends on pIndex_frequency_max
    for ( iIR = 0, iIndex = 0; iIR < hrtf_table_dims->max_num_ir; iIR++ )
    {
@@ -2162,7 +2162,7 @@ int32_t compute_crend_hrtf_data_size( crend_hrtf_tables_pointers *hrtf_table_ptr
        }
    }

    hrtf_data_size += sizeof( uint16_t ); // max_total_num_fsamp_per_iteration_diff
    hrtf_data_size += sizeof( uint32_t ); // max_total_num_fsamp_per_iteration_diff
    if ( hrtf_table_dims->max_total_num_fsamp_per_iteration_diff != 0 )
    {
        // coeff_diffuse_re & coeff_diffuse_im : The size depends on pIndex_frequency_max
@@ -2475,12 +2475,12 @@ int16_t check_hrtf_data( HRTF_READER_RENDERER_TYPE rend_type, BINAURAL_INPUT_AUD
    hrtf_data_in_rptr += ctrl_size;

    // max_total_num_fsamp_per_iteration
    if ( tabs_dims.max_total_num_fsamp_per_iteration != *( (uint16_t *) ( hrtf_data_in_rptr ) ) )
    if ( tabs_dims.max_total_num_fsamp_per_iteration != *( (uint32_t *) ( hrtf_data_in_rptr ) ) )
    {
        fprintf( stderr, "check_hrtf_data of binary file failed: bad max_total_num_fsamp_per_iteration!\n\n" );
        return -1;
    }
    hrtf_data_in_rptr += sizeof( uint16_t );
    hrtf_data_in_rptr += sizeof( uint32_t );

    // coeff_re : The size depends on pIndex_frequency_max
    for ( iIR = 0, iIndex = 0; iIR < tabs_dims.max_num_ir; iIR++ )
@@ -2548,12 +2548,12 @@ int16_t check_hrtf_data( HRTF_READER_RENDERER_TYPE rend_type, BINAURAL_INPUT_AUD
    }

    // max_total_num_fsamp_per_iteration_diff
    if ( tabs_dims.max_total_num_fsamp_per_iteration_diff != *( (uint16_t *) ( hrtf_data_in_rptr ) ) )
    if ( tabs_dims.max_total_num_fsamp_per_iteration_diff != *( (uint32_t *) ( hrtf_data_in_rptr ) ) )
    {
        fprintf( stderr, "check_hrtf_data of binary file failed: bad max_total_num_fsamp_per_iteration_diff!\n\n" );
        return -1;
    }
    hrtf_data_in_rptr += sizeof( uint16_t );
    hrtf_data_in_rptr += sizeof( uint32_t );

    if ( tabs_dims.max_total_num_fsamp_per_iteration_diff != 0 )
    {
Loading