Skip to content

Encoder verification in automated tests

How to verify the BASOP encoder in CI? The decoder is currently checked by comparing the output audio signal to the float reference output. This approach could be used for encoder checking as well by running this processing chain: BASOP_encoder -> FLOAT_decoder. Direct verification of the encoder would, however, be better.

Possible approach: log out certain parameters from the encoder and compare those. Some of them might need to be identical (possibly depending on the values of other parameters), but for others variation might still result in a valid bitstream and might thus be acceptable. Then, those parameters should be compared on statistic basis.

There are currently two approaches for logging of data in the code. One comes from the flaoting point code (lib_debug, needs DEBUGGING to be active) and one was added by Ittiam (partly based on the existing one, I think). Question is which of them could be used and how it is best done to insert the logging code without interfering with conversion work.

The DEBUGGING switch was decided to be deactivated for the tests as it would also be deactivated in a possible delivery code. So, to have the logging in the CI, one needs to either make sure that the switch does not affect bitexactness or wrap the logging code in a separate switch or clean out everything else under DEBUGGING.

Edited by Jan Kiene