Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimize ADPCM (sosCODEC) decompression #884

Merged

Commits on Jun 12, 2024

  1. Optimize ADPCM (sosCODEC) decompression

    This commit optimizes ADPCM decompression in game by:
    
    * Removing any unsupported modes that the game do not use.
    * Using a table of possible values instead of computing them on each
      iteration.
    * Generating a custom function for 16 bit stereo and mono by using
      a template function.
    
    This new table is built by employing a dynamic programming techinque.
    The possible values are bound and the product of the dimensions are
    small, hence this techinque is quite effective in optimizing things
    by precomputing the values.
    
    Both mono 8-bits and stereo 8-bits function are not generated as no
    sample ingame uses them.
    
    Signed-off-by: Giuliano Belinassi <[email protected]>
    giulianobelinassi authored and OmniBlade committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    2279860 View commit details
    Browse the repository at this point in the history