Engineering 25 Lab 4
Real-Time Video Processing with MMX
Aron Dobos, Alexey Rostapshov
Professor Bruce Maxwell
Computer Architecture
April 07, 2004
Overview
Currently implemented video processing routines:
- Static Background Subtraction staticbackground.ppm (C, MMX-asm)
- Real-Time Contrast/Brightness Enhancement (C, MMX-asm)
- more to come...
Significant code enhancements:
- Rewrote xmain.c entirely to provide modular support for multiple simultaneous video screens
- Standardized interface to video processing functions to allow switching between processing functions on the fly
- Wrote a generalized video frame memory allocation library to ensure video frames aligned on 8-byte boundaries in memory
- Wrote code to load a PPM image into a video frame.
- Enhanced XLib event processing to avoid filling the event queue with held keypresses
- Fixed Xlib code to avoid lost connections to the x server when closing a window
- Added timing capabilities to check performance
- Other small Xlib-related enhancements
Output Images
Static background image:
- Difference:

- Static Background Subtraction:

- Dimmer:

- Brighter:

- High Brightness, +Contrast:

- Low Brightness, + Contrast:

Code
Acknowledgements
Thank you to Anna Leach '06 for appearing in selected
images.
The lab handout was provided by
Professor Maxwell. Professor Maxwell
also oversaw the lab and our progress.
All questions were directed to Professor Maxwell.
The original lab assignment can be found here.