Proxy servers are again supported by netcam feature.
New conversion specifier %o for threshold.
New convertion specifier %Q for number of labels.
Drawing of mask and smartmask in setup mode improved.
Compilation of motion on 64 bit machines improved.
RPMs can now be built by non-root user.
Improved the labelling algoritm so that locate feature and tracking features includes all labelled areas above threshold.
Motion now supports the mjpeg webcam stream while saving PPM images.
New improved webcam feature. When you set webcam_motion on Motion will now stream at 1 fps instead of none. When motion is detected the webcam stream increases to the limit set in the config file. This change makes the webcam_motion much more interesting. The previous function always ended up with clients timing out.
Implemented the libjpeg-mmx patch. Installing the MMX version of libjpeg can increase performance. Especially for machines with very little CPU power. It only modifies the configure script. If you do not have the libjpeg-mmx the configure script with ignore this and use the standard libjpeg. Note that RPMS will be built without this.
Improved descriptions in motion.conf.
Many small code speed optimizations.
Added new feature: Double size text. A new config option 'text_double' can be set 'on' and this scales the text to double size. Default is off.
Improved error handling of missing picture frames from camera. Especially network cameras will often not be able to provide a picture frame from time to time. Motion would retry before and eventually and rather quickly exit the camera thread and maybe completely exit. The improved handling now makes a copy of the previous frame for 30 seconds (longer if cpu_low is activated because the implementation is 30 X framerate frames) and then show a grey image with a message saying the connection is lost and an ISO format time stamp of first poor connection.
Added a configure option --with-developer-flags which enables many compiler warnings that can be used by developers to make code more robust. Not for normal users building Motion.
Included a CODE_STANDARD text file to help new developers make patches that are easier to integrate without too much manual editing..
Bug Fixes
Fixed a bug in the autobrightness algoritm.
Fixed bug reporting errors when creating symlink to last snap.
Improved code so that Motion no longer uses the tmpfile() function for buffering the frames of the mjpeg stream.
Implemented a fix/work around to a bug related to building and installing RPMs on Suse.
Improved signal handler.
Code commented much more.
Many bugfixes to get Motion more stable (less seg faults).
Code improved to remove all warnings when compiled with gcc 4.0.
Added two new conversion specifiers: %o for threshold and %Q for number of labels. (Kenneth Lavrsen)
Improved the config file description for pre_capture to get people to use small values (Kenneth Lavrsen).
snap2
Avoid Cleanup Segfault. Allocates filepath using strdup to avoid segfault is target_dir parameter is not supplied in motion.conf. Moves out from signal handler the cleanup for pipe and mpipe. (Angel Carpintero) http://www.lavrsen.dk/twiki/bin/view/Motion/AvoidCleanupSegfault
Major code cleanup concerning signedness of chars all over the code to allow compilation with gcc4.0 (like in Fedora Core 4) without any errors or warnings. This will probably require that some of the not yet included patches will have to be fixed because it it code all over the place that has been changed. (Kenneth Lavrsen)
snap3
Changed the order of drawing the red mask in setup mode so that the smartmask is drawn after the fixed mask (Joerg Weber).
Changed the configure script so that /usr/lib64 is also searched for the presense of ffmpeg (should fix the problem with 64 bit machines) (Kenneth Lavrsen).
Changed the configure script so that rpms can be made by normal non-root users (Angel Carpintero, Kenneth Lavrsen).
snap4
Fixed the ffmpeg code so that Motion also compiles against libavcodec build 4754 or later. (Per Jönsson)
Above change in configure script for 64 bit ffmpeg support also implemented in the freeBSD configure (Angel Carpintero)
Webhttp control interface fixed so it also works in FreeBSD (Angel Carpintero)
Improved the display of fixed mask. It is now shown as grey instead of red. This makes it easier to see the smart mask working when you also have a fixed mask (Joerg Weber).
Netcam First Header patch. If an error with jpeg decompression occured at connecting to a mjpeg streaming webcam, this patch skips this jpeg and tries to decompress next jpeg up to MAX_HEADER_RETRIES (20) (Peter Holik). http://www.lavrsen.dk/twiki/bin/view/Motion/NetcamFirstHeader
Major clean-up of code in picture.c and webcam.c so that function names and variable names are less confusing. Also added many comments in picture.c (Kenneth Lavrsen).
snap6
Webcam code commented more (Kenneth Lavrsen)
New improved webcam feature. When you set webcam_motion on Motion will now stream at 1 fps instead of none. When motion is detected the webcam stream increases to the limit set in the config file. This change makes the webcam_motion much more interesting. The previous function always ended up with clients timing out. (Kenneth Lavrsen).
Implemented the libjpeg-mmx patch. Installing the MMX version of libjpeg can increase performance. Especially for machines with very little CPU power. It only modifies the configure script. If you do not have the libjpeg-mmx the configure script with ignore this and use the standard libjpeg. Note that RPMs will be built without this (Peter Holik and Angel Carpintero). http://www.lavrsen.dk/twiki/bin/view/Motion/LibJpegMmx
snap8
Small code cleanup in webcam.c and picture.c and .h for the webcam code (Peter Holik and Kenneth Lavrsen)
Small code cleanup in motion.c for the variable holding the number of microseconds since epoch. The old code worked fine but relied on an integer overflow every 71 minutes. (Bill Brack and Kenneth Lavrsen)
Small speed optimization in the creation of reference frame (Peter Holik).
Complete rewrite of the Netcam code. Should fix many of the reported and still open netcam bugs. This is first release in a snapshot. Expect to find bugs. Testing is important. If you have a netcam please test this and report bugs. http://www.lavrsen.dk/twiki/bin/view/Motion/NetcamCodeRewritePatch
Fixed memory leak in webhttpd related to use of strdup (Angel Carpintero).
Improved the error reporting in the Netcam code and did a few minor corrections and code cleansups (Bill Brack).
Implemented a much easier to use motion_log function which replaces the calls to prinf and syslog. The implementation to actually use this has been implemented in video.c and the Netcam code files. Rest will be in next snap. This code change as no impact to the user (Bill Brack). http://www.lavrsen.dk/twiki/bin/view/Motion/ErrorLoggingEnhancementPatch
Fixed a bug in video.c so that VIDEO_PALETTE_GREY cameras now actually work (Bill Brack).
Improved error handling of missing picture frames from camera. Especially network cameras will often not be able to provide a picture frame from time to time. Motion would retry before and eventually and rather quickly exit the camera thread and maybe completely exit. The improved handling now makes a copy of the previous frame for 5 seconds (longer if cpu_low is activated because the implementation is 5 X framerate frames) and then show a grey image with a message saying the connection is lost and an ISO format time stamp of first poor connection. (Kenneth Lavrsen).
Implemented version 2 of the NetcamErrorImprovementPatch which should work with the improved error handler. Changes include:
Changes handling of non-streaming camera to include a separate thread.
Changes the value returned from netcam_next to the motion main loop to indicate the status of the image returned.
Many changes to the comments, and some enhancement to the logic, to begin the implementation of points agreed on the NetcamRetryErrorDiscussion page.
Implements the triple-buffering scheme proposed by Peter Holik (but not the "Without Locking" portion of his proposal).
Netcam error handling improvements and cleanup from Walgrind analysis (Bill Brack).
Added a configure option --with-developer-flags which enables many compiler warnings that can be used by developers to make code more robust. Not for normal users building Motion (Bill Brack)
http-control: Fixed segfault when motion is restarted from command line ( kill -s 1 pid_motion ). Improved control code so Motion can Restart and Finish 'smoothly'. (Angel Carpintero). http://www.lavrsen.dk/twiki/bin/view/Motion/MotionHttpControl
Changed the 5 second missed camera signal timeout to 30 seconds. (Kenneth Lavrsen)
The pwc-ioctl.h is for pwc version 9.0.1, 10.0.6 and 10.0.7a. If you still use the pwc 8 series then you need to use the headerfile pwc-ioctl.h-pwc8.0 (copy the pwc-ioctl.h-pwc8.0 over pwc-ioctl.h). This is relevant for USB cameras using Philips chips.
Dimensions of camera image must have both height and width that are a multiple of 16. Thís is normally not a problem. All standard sizes like 640, 480, 352, 320, 288, 240, ...etc are multiples of 16.
Kenneth Lavrsen's public key can be found on keyservers or on this non-wiki webpage.
http://www.lavrsen.dk/publickey.htm
Signature is for the source tar.gz