dmovie - Dave's movie player

by Dave Pape (pape@evl.uic.edu)

dmovie is a movie player similar to SGI's /usr/sbin/movie program. It was written specifically for checking and playing back animations for recording on video, and includes various features that can be useful for doing so.

dmovie.tar.Z contains the executable and source code for dmovie. To compile it you will also need libdave for the functions to read SGI images.

Usage

dmovie [-z zoomfactor] [-s startspeed] image0 [image1 image2 ...]

zoomfactor specifies the amount to zoom the images by; the default is 1.
startspeed is the initial playback speed (see the speed control commands below); the default is 1.
image0... is a list of SGI-format images to play back. If a "-" is given instead, then the list of image file names is read from standard input (useful for very long sequences which won't fit on the command line).

When dmovie starts, it will open a borderless window in the lower left corner of the screen. The window is the same size as the first image (scaled by zoomfactor). It then begins reading all the images into memory, displaying each image as it is read, annotated with the file name. Once all of the images have been read, they will being playing back at full speed, and the control keys below can be used.

Controls

The movie playback is controlled using the following keys:
1,2,3,4,5,6,7,8,9,0
Sets the playback speed. The speed is controlled using the GL function swapinterval; 1 sets the swapinterval to 1, 2 sets it to 2, etc. (0 sets it to 10). This means that at speed 1, dmovie will attempt to play back the frames at the full video rate of the display; 2 tells it to play at half the video rate; 3 tells it to play at one-third speed; etc.
P
Pauses/un-pauses the playback.
spacebar
Pauses/un-pauses the playback, and resets the movie to the first frame.
N
Toggles the display of each frame's filename at the bottom of the window.
right-arrow
Single steps forward one frame.
left-arrow
Single steps backward one frame.
C
Toggles display of the mouse cursor
escape
Exits the program.

Special Notes

dmovie packs the image data into 3 bytes per pixel, rather than 4, to increase the number of frames that can fit into memory. As a result, it will only work on machines which support pixmode's PM_SIZE and PM_STRIDE operations, such as the Reality Engine, VGX, and Indy.

If the images are 8 bit (i.e. one channel), they will be packed as 1 byte per pixel, and displayed using a greyscale colormap. This allows much longer sequences to be played back if they are black and white. Only the first image is checked to determine whether the movie is 8 bit or 24 bit.


Change History

14 March 1996 - fixed to handle images of any width (previously image width had to be a multiple of 4); pads right edge of images to make the displayed width a multiple of 4.
Last modified 14 March 1996.
Dave Pape, pape@evl.uic.edu