DVI4 is specified, with pseudo-code, in [6] as the IMA ADPCM wave type. A specification titled "DVI ADPCM Wave Type" can also be found in the Microsoft Developer Network Development Library CD ROM published quarterly by Microsoft. The relevant section is found under Product Documentation, SDKs, Multimedia Standards Update, New Multimedia Data Types and Data Techniques, Revision 3.0, April 15, 1994. However, the encoding defined here as DVI4 differs in two respects from these recommendations:
Each packet contains a single DVI block. The profile only defines the 4-bit-per-sample version, while IMA also specifies a 3-bit-per-sample encoding.
The "header" word for each channel has the following structure:
int16 predict; /* predicted value of first sample from the previous block (L16 format) */ u_int8 index; /* current index into stepsize table */ u_int8 reserved; /* set to zero by sender, ignored by receiver */
Packing of samples for multiple channels is for further study.
The document, "IMA Recommended Practices for Enhancing Digital Audio Compatibility in Multimedia Systems (version 3.0)", contains the algorithm description. It is available from:
Interactive Multimedia Association 48 Maryland Avenue, Suite 202 Annapolis, MD 21401-8011 USA phone: +1 410 626-1380