Several passes through the source data are required to produce an Ultimotion movie file.
During the first pass, the capture routines position the video source device to the starting position in the source video. It then uses OS/2 multimedia to record the desired audio track. If the desired final format for the movie requires both audio and video to be interleaved, MULTITRACKWRITE interleaves them.
During the second pass, capture routines use OS/2 multimedia to position the video source at the desired location. For each frame in the movie, an MCI_STEP message is sent to the MCD controlling the source device. When the resulting image has been "grabbed" or "digitized" by the capture hardware, the video data is retrieved and written to disk through the AVI I/O procedure. This process continues until the required video is captured.
Note: Only the second pass is used if you are recording video without audio.
The following figure illustrates the architecture of the components involved in doing asymmetric capture and compression of video from frame accurate devices.
┌─────────────────────┐───────────────────────────────────────────────────┐ │ Asymmetric Recorder ────────────────────────────────┐ │ ───────────────────┘ │ │ ┌┘ │ Media Control Interface Commands and Notifications │ │ │┌─────────────────────────────────────────────────────┴──────────────────┐│ ││ Media Device Manager ││ │└─────────────────────────────────────────────┬─────────────────────────┘│ │ .WAV data │ │ │ ┌───┘ │ ┌┬┬┬┬┐ ┌──────────────┐ ┌─────────┐ ┌─────────────┐ ┌────┴─┐ │ └┴┴┴┴┘──┤Amplifier Mixer│ │Video Disc│ │Digital Media │ │AVI ├┐ │ │ │Media Driver │ │Driver │ │Driver │ ┌─IOProc││ │ │ └┬─────────────┘ └─────────┘ └────────────┬┘ │ └─────┘│ │ │ │ │ │ │ │ │ │ │ │ ┌────────┐ ┌─────────────┐ ┌──────────┐ ┌─────┐ ┌┬┬┬┼┐ │ │ │ │ │Audio │ │SPI Interfaces│ │ Laser Disc│ │VSD │ └┴┴┴┴┘ └──┐ │ │ │ │Adapter │ │SSM │ │ │ │Driver│ uncompressed│ │ │ │ └─────────┘ └──────────────┘ └───────────┘ └─────┘ video frame │ │ │ │ audio data ┌─────────────────┐ │ ┌──┘ │ │ │ ┌─────┐ ┌┬┬┬┬┐ ┌───────────────┐ │ ┌────────────┐ ┌──────┐│ │ └─ MMIO│─└┴┴┴┴┘─ Multitrack │ │ │Video Capture│ │CODEC ││ │ └─────┘ │ Stream Handler │ │ │PDD │ │ ││ └──────────────────└───────────────┘ │ └────────────┘ └───────┘│ │ │ │ │ ┌───────────────┐ │ ┌────────────┐ │ │ MMIO │ │ │Video Adapter│ │ │ Manager │ │ └─────────────┘ │ └───────────────┘ └────────────────── ┌┬┬┬┬┐────┘ │ └┴┴┴┴┘ ┌───────────────┐ Compressed │ AVI │ Data │ IOProc │ └─────┬──────────┘ │ ┌───────────────┐ │ Movie │ │ File │ └────────────────┘