By default resolution is 320 x 240, so you should probably add the attribute @adapt 1 to read the movie at its native resolution. Or you use the attribute @dim if you'd like to force all movies to a common resolution.
As soon as you read a movie, it begins playing, whether you're banging it or not. You can control playback manually with the start and stop message. Or you can turn off automatic playback by setting the attribute @autostart 0. With autostart off, it can sometimes be useful to call each frame explicitly, using the frame $1, bang message. If frame accuracy is critical, use frame_true $1, bang.
If you are banging jit.qt.movie faster than its playback frame rate, you'll get duplicate frames, which can waste your processing resources. Adding the attribute @unique 1 eliminates duplicates.
If the movie has a sound track, you'll hear it playing through QuickTime. You can turn off its sound using the vol 0 message. If you'd like to process the movie's sound track with MSP, you can use the spigot~ object, which creates a separate sound file of the movie sound track and plays it in sync with the movie. Sometimes I just make two files with the same name, one with the .mov extension and one with the .aif extension. That way you can load the sound file into a buffer~.
If your movie's codec uses the 4:2:2 color space (e.g. ProRes 422, DVCPRO HD, DV) and you're sending matrices directly to an openGL object (e.g. jit.gl.slab or jit.gl.videoplane), you can reduce the data rate going to your graphics card in half by using the attribute @colormode uyvy in both jit.qt.movie and the first openGL object. The video is converted from YUV to RGB in the graphics card, which saves some processing cycles.
-- Pasted Max Patch, click to expand. --
Copy all of the following text.Then, in Max, select New From Clipboard.
By default, jit.qt.movie plays the movie file from the hard disk, which can be wasteful if you're looping a movie. After you read the file, use the loadram message to load the movie into RAM, which can improve performance. In my tests, this is just as efficient as using the jit.matrixset object.