SECURITY FIXES: - Structures allocated in ov511_ioctl() are cleared before use - Frame index passed to VIDIOSYNC was not being checked for validity before use OTHER BUG FIXES: - Handling of sensor register 12h improved - All references to OV518+ changed to OV518 - ov511_move_data was using a hardcoded value instead of FRAMES_PER_DESC - Fixed assumptions in VIDIOCGMBUF and VIDIOCMCAPTURE that OV511_NUMFRAMES == 2 - OV511IOC_GINTVER was accidentally not implemented - Was using OV6xx0 slave IDs when I meant to use OV8xx0 slave IDs - ov511.h: Removed prototypes for functions that no longer exist VISIBLE CHANGES: - Decompression code moved from ov511.c to ov511_decomp.c - Compression always enabled with ov518 (it doesn't have an uncompressed mode) - ov511.txt: Updated INTERNAL CHANGES: - Removed ENABLE_OV511_COMPRESSION option - Added global variables for decompression options vectors - Added ov51x_mmx_available global variable - usb.h include moved to ov511.h - ALLOCATE() and FREE() macros moved to ov511.h - All references to OV518+ changed to OV518 - Sensor window setup code moved to ov51x_set_sensor_window() - ov51x_request_decompressor() and ov51x_release_decompressor() added - ov518 image parsing moved to it own function (ov518_move_data()) - Added ov511_register_decomp_module() and ov511_deregister_decomp_module() - ov511.h: Added raw frame format enumeration - ov511.h: Moved compression-related variables to top of struct ov511_frame - ov511.h: Added struct ov51x_decomp_ops