A method for performing multimedia operations in a computer system, wherein the computer comprises a bus, a CPU coupled to the bus, main memory coupled to the bus which stores data accessible by the CPU, a multimedia engine coupled to the bus, a multimedia memory coupled to the bus, wherein the multimedia memory stores multimedia data, a bus interface unit coupled to the bus, a peripheral expansion bus coupled to the bus interface unit, a direct memory access engine coupled between the multimedia memory and the bus, wherein the direct memory access engine is also coupled to the peripheral expansion bus, the method comprising:
- the CPU transferring multimedia data to the main memory over said bus;
- the CPU transferring a transfer data structure to the direct memory access engine over said peripheral component interconnect bus, wherein said transfer data structure includes multimedia data location information indicating a location in the main memory where said multimedia data was stored in said step of transferring;
- the direct memory access transfer engine transferring the multimedia data from the main memory to the multimedia memory, wherein the direct memory access transfer engine uses said multimedia data location information in said transfer data structure to access said multimedia data in the main memory;
- the multimedia engine accessing said multimedia data from the multimedia memory;
- the multimedia engine performing operations using said multimedia data after said step of accessing said multimedia data from the multimedia memory;
- and
- the multimedia engine generating video and/or audio outputs in response to said step of performing operations using said multimedia data.