Skip to content

Resolve "Directivity pattern id read while parsing config file is not stored in the correct index"

kinuthia requested to merge 730-directivity-pattern-id-not-set-correctly into main

Reason why this change is needed

  • While parsing directivity parameters in a render_config file that contains several directivity patterns, the directivity pattern ids associated with each directivity pattern are not stored in the correct index. When the -dpid command-line option is used to specify the id(s) used to set the directivity for each object, the id(s) are not found and the decoder halts with an error.
  • When using the -dpid ID(s) decoder command-line option, the decoder;
    • has problems when ID is not a number.
    • runs through in unsupported output configurations like stereo.

Description of the change

  • Directivity Pattern ids read from file are now stored in the correct index instead of overwriting index 0.
  • print informative error message when Directivity Pattern ID(s) (DPID(s)) specified on the command-line option -dpid is/are not found.
  • Repeat last DPID value for remaining objects if not all objects' DPID are specified when -DPID command-line flag is used. e.g -dpid 0 1 is equivalent to -dpid 0 1 1 1 .
  • Add command-line robustness
    • Halt with an error when ID(s) specified are not positive integers.
    • Halt with an error when -dpid ID(s) option is used for unsupported output configurations. Supported output configurations are BINAURAL and BINAURAL_ROOM_REVERB.

Affected operating points

  • Both BINAURAL and BINAURAL_ROOM_REVERB output where the TD renderer is used with -render_config and -dpid options.
  • Produced bitstream is BE compared to previous state as there are no changes on the encoder.
  • Produced output is non-BE since without this MR the decoder halts with an error if the render_config file contains more than one directivity pattern and ID(s) other than 0 are specified in the command-line.
Edited by kinuthia

Merge request reports

Loading