CODEC Functions, Messages, and Data Structures

There are enough differences between CODEC procedures and I/O procedures that several additional functions and messages are needed for CODEC processing. Both applications and I/O procedures can call these CODEC functions and messages.

The MMIO subsystem supports the CODEC functions listed in the following table.

┌─────────────────────────┬─────────────────────────────────────────────┐
│Function                 │Description                                  │
├─────────────────────────┼─────────────────────────────────────────────┤
│mmioIniFileCODEC         │Adds, replaces, removes, or finds a CODEC    │
│                         │entry in the MMPMMMIO.INI file.              │
├─────────────────────────┼─────────────────────────────────────────────┤
│mmioQueryCODECName       │Queries the ID string of a CODEC procedure.  │
├─────────────────────────┼─────────────────────────────────────────────┤
│mmioQueryCODECNameLength │Queries the length of a CODEC procedure ID   │
│                         │string.                                      │
├─────────────────────────┼─────────────────────────────────────────────┤
│mmioLoadCODECProc        │Loads the CODEC procedure and returns the    │
│                         │entry point.                                 │
├─────────────────────────┼─────────────────────────────────────────────┤
│mmioSet                  │Sets or queries extended file information.   │
└─────────────────────────┴─────────────────────────────────────────────┘
The messages listed in the following table are supported by I/O procedures.
┌──────────────────────────┬────────────────────────────────────────────┐
│Message                   │Description                                 │
├──────────────────────────┼────────────────────────────────────────────┤
│MMIOM_COMPRESS            │Sent to an IOProc to compress data.         │
├──────────────────────────┼────────────────────────────────────────────┤
│MMIOM_DECOMPRESS          │Sent to an IOProc to decompress data.       │
├──────────────────────────┼────────────────────────────────────────────┤
│MMIOM_MULTITRACKREAD      │Sent to an IOProc to read multi-track data  │
│                          │from a file.                                │
├──────────────────────────┼────────────────────────────────────────────┤
│MMIOM_MULTITRACKWRITE     │Sent to an IOProc to writes multi-track data│
│                          │to a file.                                  │
├──────────────────────────┼────────────────────────────────────────────┤
│MMIOM_SET                 │Sets and queries CODEC attributes of the    │
│                          │CODEC procedure.                            │
└──────────────────────────┴────────────────────────────────────────────┘
The messages listed in the following table are supported by CODEC procedures.
┌───────────────────────────────────┬───────────────────────────────────┐
│Message                            │Description                        │
├───────────────────────────────────┼───────────────────────────────────┤
│MMIOM_CODEC_OPEN                   │Opens a CODEC instance.            │
├───────────────────────────────────┼───────────────────────────────────┤
│MMIOM_CODEC_CLOSE                  │Closes a CODEC instance.           │
├───────────────────────────────────┼───────────────────────────────────┤
│MMIOM_CODEC_QUERYNAME              │Queries the CODEC procedure ID     │
│                                   │string.                            │
├───────────────────────────────────┼───────────────────────────────────┤
│MMIOM_CODEC_QUERYNAMELENGTH        │Queries the length of the CODEC    │
│                                   │procedure ID string.               │
├───────────────────────────────────┼───────────────────────────────────┤
│MMIOM_CODEC_COMPRESS               │Compresses data.                   │
├───────────────────────────────────┼───────────────────────────────────┤
│MMIOM_CODEC_DECOMPRESS             │Decompresses data.                 │
└───────────────────────────────────┴───────────────────────────────────┘
The data structures listed in the following table are supported by I/O procedures and CODEC procedures. The CODEC.H and MMIOOS2.H header files define these data structures. Include the CODEC.H and MMIOOS2.H header files and define INCL_MMIO_CODEC in any source that uses CODEC functions.
┌─────────────────────────┬─────────────────────────────────────────────┐
│Data Structure           │Description                                  │
├─────────────────────────┼─────────────────────────────────────────────┤
│MMEXTENDINFO             │Used by mmioSet and MMIOM_SET.               │
├─────────────────────────┼─────────────────────────────────────────────┤
│MMMULTITRACKREAD         │Used by MMIOM_MULTITRACKREAD.                │
├─────────────────────────┼─────────────────────────────────────────────┤
│MMMULTITRACKWRITE        │Used by MMIOM_MULTITRACKWRITE.               │
├─────────────────────────┼─────────────────────────────────────────────┤
│MMMOVIEHEADER            │Standard presentation movie header.          │
├─────────────────────────┼─────────────────────────────────────────────┤
│MMVIDEOHEADER            │Standard presentation video header.          │
├─────────────────────────┼─────────────────────────────────────────────┤
│MMVIDEOOPEN              │Used by MMIOM_OPEN.                          │
├─────────────────────────┼─────────────────────────────────────────────┤
│MMCOMPRESS               │Used by MMIOM_CODEC_COMPRESS and             │
│                         │MMIOM_COMPRESS.                              │
├─────────────────────────┼─────────────────────────────────────────────┤
│MMDECOMPRESS             │Used by MMIOM_CODEC_DECOMPRESS and           │
│                         │MMIOM_DECOMPRESS.                            │
├─────────────────────────┼─────────────────────────────────────────────┤
│CODECVIDEOHEADER         │Used by MMIOM_CODEC_OPEN.                    │
├─────────────────────────┼─────────────────────────────────────────────┤
│CODECOPEN                │Used by MMIOM_CODEC_OPEN.                    │
├─────────────────────────┼─────────────────────────────────────────────┤
│CODECINIFILEINFO         │Used by mmioIniFileCODEC.                    │
└─────────────────────────┴─────────────────────────────────────────────┘


[Back: CODEC Procedures]
[Next: Installing a CODEC Procedure]