• Stefano Sabatini's avatar
    iff/8svx: redesign 8SVX demuxing and decoding for handling stereo samples correctly · e280a4da
    Stefano Sabatini authored
    Make the iff demuxer send the whole audio chunk to the decoder as a
    single packet, move stereo interleaving from the iff demuxer to the
    decoder, and introduce an 8svx_raw decoder which performs
    stereo interleaving.
    
    This is required for handling stereo data correctly, indeed samples
    are stored like:
    LLLLLL....RRRRRR
    
    that is all left samples are at the beginning of the chunk, all right
    samples at the end, so it is necessary to store and process the whole
    buffer in order to decode each frame. Thus the decoder needs all the
    audio chunk before it can return interleaved data.
    
    Fix decoding of files 8svx_exp.iff and 8svx_fib.iff, fix trac issue #169.
    e280a4da
8svx.c 7.25 KB