Re-enable test cases marked as XFAIL
While updating the test cases for the BINAURAL_ROOM_REVERB output configuration we have encountered non-bit exactness between two different ways of specifying trajectories used by the renderer. The maximum absolute eventual sample difference observed was 3. The issue can be attributed to input vectors being either head trajectory rotation file (Quaternions) or reference vector trajectory (vectors). Both input files have resolution limited to four decimal places. See the excerpts from two supposedly compatible trajectory files below:
option -tf (head trajectory rotation file)
format is &w, &x, &y, &z, &posx, &posy, &posz with position optional (default 0 0 0)
HeadRotationFileReading()
const000.csv
4 lines of 1.000000,0.000000,0.000000,0.000000
full-circle-with-up-and-down-4s.csv
1: 0.9223 -0.0000 0.3863 -0.0119
50: 0.9226 -0.0000 0.3487 -0.1648
100: 0.8893 -0.0000 0.3197 -0.3271
150: 0.8132 -0.0000 0.2962 -0.5010
200: 0.7071 -0.0000 0.2808 -0.6490
300: 0.3929 -0.0000 0.2678 -0.8797
400: 0.0079 0.0000 1.0000 0.0001
Option -rvf (Reference vector trajectory file for simulation of head tracking (only for binaural outputs))
format is &x1, &y1, &z1, &x2, &y2, &z2
Vector3PairFileReader_read()
full-circle-with-up-and-down-4s-ccw-Vector3.csv
1: 0.7012 0.0220 0.7126
50: -0.0000 0.9178 0.3971
100: -0.9999 -0.0000 0.0157
150: 0.0000 -0.9298 -0.3681
200: 0.7181 0.0000 -0.6959
This limited accuracy may lead eventually to conversion mismatch. In most of the test cases this mismatch remains under 1LSB of output audio signal. However, two cases provided while adding BINARUAL_ROOM_REVERB output configuration did trigger this issue. These two test cases were temporarily marked XFAIL (expected to fail) in the test_renderer.py.
These tests should be reactivated, and underlying issue should be resolved. Two possible approaches can be considered:
- Updating the accuracy of the trajectory files so that conversion error is reduced,
- A slight tolerance margin can be introduced to the output comparison in such test cases involving renderers and trajectory files in different formats.