Resolve "Double precision arithmetic in Renderer MD"
- Related issues: #817 (closed)
- Requested reviewers: @norvell
Reason why this change is needed
-
There are used double precision mathematical functions in the renderer MD module.
-
\lib_rend\lib_rend.c(5839): ism_md_subframe_update_ext = (int16_t) round( ismInput->ism_metadata_delay_ms / ( 1000 / FRAMES_PER_SEC / MAX_PARAM_SPATIAL_SUBFRAMES ) ); -> roundf() of integer operation
-
\lib_rend\lib_rend.c(6108): ism_md_subframe_update_ext = (int16_t) round( ismInput->ism_metadata_delay_ms / ( 1000 / FRAMES_PER_SEC / MAX_PARAM_SPATIAL_SUBFRAMES ) ); -> roundf() of integer operation
-
\lib_rend\lib_rend.c(6360): ism_md_subframe_update_ext = (int16_t) round( ismInput->ism_metadata_delay_ms / ( 1000 / FRAMES_PER_SEC / MAX_PARAM_SPATIAL_SUBFRAMES ) ); -> roundf() of integer operation
Consider to use single precision counterparts.
Description of the change
- Replace double precision
round()
by single precision equivalentroundf()
for 3 occurences.
Affected operating points
- Describe here as well as possible what operating points are affected and how
- Theoretically could affect external renderer ISM2BINAURAL, but they are all BE.
- Produced bitstream is BE compared to previous state.
- Produced output is BE
Related to #817 (closed)