3.2.12 Summary of Changes Bugfixes * Fixed name space clash with libjpeg8 (Kenneth Lavrsen) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2010x01x22x084753 * Fixed FFV1 codec encode with ffmpeg (Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2010x04x13x032553 * Fix conv_uyvyto420p segfault ( William M Brack ) * Enhancing the palette selection ( William M Brack ) * Fix zombies on OpenBSD. (Mark Feenstra) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2010x04x28x054348 3.2.11.1 Sumary of Changes Bugfixes * Fix Segfault on reload or quit for vloopback (maybe other v4l1 devices too) (Peter Holik) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2009x06x17x090603 * Fix fd leaks in external pipe. (Angel Carpintero) * Avoid possible stack smashing in v4l_open_vidpipe(). (Angel Carpintero) * Allow compile with OpenSuse ffmpeg package (15594svn-20081010) http://www.lavrsen.dk/foswiki/bin/view/Motion/SupportQuestion2008x10x25x070400 (Angel Carpintero) * Fix warning for syslog(). (Angel Carpintero) * Better detection of ffmpeg http://www.lavrsen.dk/foswiki/pub/Motion/ReleaseNoteMotion3x2x11/ffmpeg-detection.diff.gz (Angel Carpintero) * Fix warning for __USE_GNU redefined (Peter Holik) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2009x06x17x122137 (Peter Holik) * Allow compile with NetBSD and make LP64 compliant video_freebsd.c (Andreas Wrede) * Fix segfault for new libjpeg v7. (Angel Carpintero) 3.2.11 Summary of Changes Features * Added support for ffmpeg-2008-04-09 port version of FreeBSD. * Remove mjpegtools dependencies and integrate only needed functions from library. (Angel Carpintero) * Allow change/setup framerate in FreeBSD using pwcbsd. (Angel Carpintero) * Get rid of ffmpeg-config in configure.in for debian. (Angel Carpintero) Bugfixes * Fix Problem Encoding 1280x1024 resolution videos http://www.lavrsen.dk/foswiki/bin/view/Motion/SupportQuestion2008x06x11x183727 (Angel Carpintero) * Add a new parameter netcam_tolerant_check, to be less strict with some buggy network cameras firmwares. http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2008x06x19x123218 (Angel Carpintero) * Fix round robin in BSD switching to METEOR_CAP_SINGLE. (Angel Carpintero) * Fix rotate for v4l2 devices using JPEG / MJPEG palettes. (Angel Carpintero) * Fix v4l2_palette http://www.lavrsen.dk/foswiki/bin/view/Motion/UvcvideoMjpegPatch (Gerrit Hannaert) * Fix warning for x86_64 in conf.c using pointers LP64 compliant ( Angel Carpintero ). 3.2.10.1 Summary of Changes Bugfixes * Fix a security issue in web control interface http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=484572 (Angel Carpintero) 3.2.10 Summary of Changes Features * Added the pre_capture buffer redesign to throttle load and enhance pre_capture feature. http://www.lavrsen.dk/foswiki/bin/view/Motion/PreCaptureRedesign (Dag Erlandsson). * Added preview center feature. http://www.lavrsen.dk/foswiki/bin/view/Motion/PreviewCenter (Dag Erlandsson). * Removed low_cpu feature, as it is not really compatible with pre_capture and a lot of other features rely on the pre_capture buffer behind the scenes. (Joerg Weber) * Removed night_compensate feature. This functionality is covered by noise_tune. (Joerg Weber) * Implemented a new reference frame algorithm to improve object recognition and location. (Joerg Weber) * Improved smartmask feature: real moving objects don't trigger the mask anymore. (Joerg Weber) * Added area_detect feature. New config options: area_detect, on_area_detected. (Joerg Weber) * Added help in http control http://www.lavrsen.dk/foswiki/bin/view/Motion/FeatureRequest2007x11x19x181541 (Angel Carpintero) * Added Choose V4L2 palette http://www.lavrsen.dk/foswiki/bin/view/Motion/FeatureRequest2007x11x19x032318 (Angel Carpintero) * Improved http control ( 'back' link, select box, show current values when are going to be changed ). (Angel Carpintero) * Improved thread handling, single threads can be stopped/restarted (Dag Erlandsson) * Watchdog, restart hang threads (Dag Erlandsson) * Added ON_CAMERA_LOST event (Dag Erlandsson) * Motion start if a camera isn't there at start, retries to connect if lost (Dag Erlandsson) * Netcam Keepalive and HTTP/1.1 http://www.lavrsen.dk/foswiki/bin/view/Motion/FeatureRequest2007x01x22x231542 (Simon Walls) * Added mov , Quicktime file format (Andrew Hamilton). * Added to configure.in --with-pwcbsd to allow compile motion in freebsd with webcam support instead of bktr (Angel Carpintero) Bugfixes * Fixed a problem with locate and fixed mask overlay (Dag Erlandsson). * Preview pictures get the timestamp of moment they were captured (Dag Erlandsson). * Fixed http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2007x10x23x093651 (Angel Carpintero) * Fix process_id_file when is passed from command line (Angel Carpintero) * Fix http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2007x10x27x150419 (Angel Carpintero) * Fix http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2007x11x25x102808 (Angel Carpintero) * Avoid random errors , initialising some structs for V4L1 http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2007x11x26x010755 (Jason Sharpee & Angel Carpintero) * Fix motion segfault because ffmpeg API change http://www.lavrsen.dk/foswiki/bin/view/Motion/SupportQuestion2007x12x29x175530 (Angel Carpintero) * Little fix in ffmpeg.c comparing version of LIBAVFORMAT_BUILD, since ffmpeg svn -r4486 LIBAVFORMAT_BUILD and LIBAVCODEC_BUILD uses LIBAVFORMAT_VERSION_INT ((49<<16)+(0<<8)+0) and LIBAVCODEC_VERSION_INT ((49<<16)+(0<<8)+0) (Angel Carpintero) * Fix choose v4l2 palette , http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2008x01x21x043812 (Onakra) * Get current directory to allow write motion.conf properly http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2008x02x25x013419 (John Bray) * Fix broken PostgreSQL detection for custom location, http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2008x02x25x025134 ( Angel Carpintero ) * Fixed stepper when is used track_auto on ( Angel Carpintero ). * Better debug in netcam for "Error reading image header" http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2008x02x27x092849 (Simon Walls) 3.2.9 Formal Release - Summary of Changes Features * Removed debian ( to avoid conflicts with debian package) and FreeBSD ( no needed to deploy BSD port here ) directories. ( Angel Carpintero ) * Added --chuid motion to debian init.d script. ( Angel Carpintero ) * Added Flash video format (FLV) to ffmpeg. http://www.lavrsen.dk/foswiki/bin/view/Motion/FeatureRequest2007x07x19x131921 (Timo Taskinen). * Added FFV1 ( FF video codec 1 ) codec , Lossless encoding http://www.lavrsen.dk/foswiki/bin/view/Motion/LosslessEncoding (Andrew Hamilton). Bugfixes * Fix segfault in webhttpd.c on motion restart (Angel Carpintero) * Fix segfault in debian http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2007x09x24x175945 (Angel Carpintero) * Fix http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=391055 , change motion man page , -d requires level. (Angel Carpintero) * Handle mjpeg decoding and fix colour issue adding mjpegtools dependency http://www.lavrsen.dk/foswiki/bin/view/Motion/MjpegColorIssue http://www.lavrsen.dk/foswiki/bin/view/Motion/MjpegToYUV420pPatch (Marius Rieder, Angel Carpintero). * Add debug level > 5 to get logs from v4l2_select_input, v4l2_set_control and v4l2_set_input. (Angel Carpintero) 3.2.8 Formal Release - Summary of Changes Features * Added connection status for all devices available from http web interface. (Angel Carpintero). http://www.lavrsen.dk/foswiki/bin/view/Motion/FeatureRequest2006x11x09x050638 * Improved deb packaging, install the init.d script. (Angel Carpintero). * Added swf codec to video creation (Bowser Pete, Andy Brown). http://www.lavrsen.dk/foswiki/bin/view/Motion/FFmpegSWFcreation * Added V4L2 support (Krzysztof Blaszkowski, Angel Carpintero). http://www.lavrsen.dk/foswiki/bin/view/Motion/VideoForLinuxTwoDiscussion, * Added support for V4L2_PIX_FMT_SBGGR8 ( bayer ), V4L2_PIX_FMT_SN9C10X, V4L2_PIX_FMT_MJPEG and V4L2_PIX_FMT_UYVY (Angel Carpintero). * ucvideo track pan/tilt support ( Michal Licko ,Dirk Wesenberg and Angel Carpintero ) http://www.lavrsen.dk/foswiki/bin/view/Motion/LinuxUvcTrackingPatch * Added a FreeBSD directory to allow people from BSD to get a daily version and create a port. (Angel Carpintero). * Removed mysql dependency from debian package and added a note to setup motion to run as daemon to create the pid file. (Angel Carpintero). * Changed the way configure search mysql headers and libs, added 3 parameters to configure --without-mysql to disable support, --with-mysql-include directory of mysql.h and --with-mysql-lib directory of libmysqlclient.a or libmysqlclient.so (Angel Carpintero). * Added MYSQL_OPT_RECONNECT flag for mysql connection (MYSQL 5.x only) and changed default value for mysql_host (Angel Carpintero). Bugfixes * Removed a duplicate call to jpeg_destroy_decompress already is called from netcam_image_conv (Krzysztof Blaszkowski). * Fix http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2006x10x10x081903, reconnect to mysql if connection dropped (Angel Carpintero). * Fix memory management in ffmpeg.c (Rafis Khayrullin). http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2006x12x19x062432 * Fix of ffmpeg_avcodec_log code (Alain Guidez). http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2007x03x25x074612 * Fix a segfault adding correct size to be used for bayer2rgb24() (Damian Wrobel) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2007x03x30x175913 * Fix an error in FreeBSD, the use of capture even fields depends on height value. (Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2006x12x03x073610 * Fixed autodetection for VIA cpu, no needed to use --without-optimizecpu. Added many others (Angel Carpintero) * Fix, don't remove pid file when motion reload config file( HUP signal ) (Angel Carpintero). * Fix compilation broken by uvc track type. (Angel Carpintero). * Fixed the thread number assignment which could goof up if netcams started very quickly before all thread were created at startup. (Kenneth Lavrsen) * Fix RoundRobin v4l2 buffers in driver when switching input, http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2007x07x07x182605 (Dag Erlandsson and Angel Carpintero). * Check EIO for VIDIOC_DQBUF to workaround saa7134 problem. (Dag Erlandsson and Angel Carpintero). * Change bayer2rgb24() to fix a problem with sn9c102 driver http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2007x06x05x012249 (Jared D and Angel Carpintero). 3.2.7 Formal Release - Summary of Changes Features * Removed the minimum_gap feature which was utterly useless (Kenneth Lavrsen) * Added new feature: minimum_frame_time which enables capturing at a lower rate than 2 frames per second (Kenneth Lavrsen and Angel Carpintero) * Made the creation of reference frame and the decay mechanism depending on how much motion was detected relative to threshold setting (Joerg Weber) http://www.lavrsen.dk/foswiki/bin/view/Motion/ReferenceFramePatch * Added process_id_file feature (Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/FeatureRequest2006x06x06x123003 Bugfixes * Fixed problem related to fetching images from Network camera and error handling when it fails. Motion would end in infinite loops (Bill Brack). http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2006x03x10x000151 * Improved reporting of thread numbers during startup in setup mode. (Peter Smith and Kenneth Lavrsen) http://www.lavrsen.dk/foswiki/bin/view/Motion/SlightlyImprovedThreadCreationLogging * Ffmpeg code mutex locking fix (Peter Smith) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2006x04x07x164654 * Ffmpeg avicodec logging improved (Peter Smith and Kenneth Lavrsen) http://www.lavrsen.dk/foswiki/bin/view/Motion/FfmpegAvicodecLogging * Improved upon a few ambiguous log messages which may be emitted by the Event handling code with regards to Ffmpeg (Peter Smith) http://www.lavrsen.dk/foswiki/bin/view/Motion/LoggingEventFix * Implemented a fix for the rare problem where some experienced that the move file names would only consist of the extension .mpg or .avi with no name in front. The root cause was the use of sprintf for appending to strings. (Mike Kenney and Kenneth Lavrsen) http://www.lavrsen.dk/foswiki/bin/view/Motion/SupportQuestion2005x09x05x133031 http://www.lavrsen.dk/foswiki/bin/view/Motion/SupportQuestion2006x06x19x174238 * Altered the risky use of sprintf to snprintf in all places related to use with config strings that can become very long (Kenneth Lavrsen) * Removed annoying debug messages (v4l_set_input really needed ?) in the FreeBSD version (Angel Carpintero) * Fixed the check for ffmpeg version. In rev 5503 of ffmpeg the FFMPEG_VERSION_INT was removed from libavcodec/avcodec.h. Instead we now use the equivalent LIBAVFORMAT_BUILD >= 4616 which is the 0.4.9pre1 version of ffmpeg. (Kenneth Lavrsen) * Fixed segfault when netcam_url has no service ( http , ftp ) (Angel Carpintero) * Fixed interlace issue with METEOR_GEO_EVEN_ONLY in FreeBSD (Angel Carpintero) * Fixed possible syntax error in configure related to MySQL (Angel Carpintero) * Avoid open file descriptor when connecting to network cameras fails (Peter Holik) http://www.lavrsen.dk/foswiki/bin/view/Motion/AvoidOpenfiledescriptors * Fixed http pause feature so that pausing thread 0 now pauses all threads. (GunnarSkjold) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2006x07x10x111239 * Put a new global mutex around avcodec_close to avoid problems with not thread safe functions in ffmpeg (Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2006x04x07x164654 * On FreeBSD configure defines a redundant freebsd for motion. Fixed by replacing -D__freebsd_ by BSD macro included in sys/param.h for BSD platforms. (JukkaUkkonen and Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2006x07x08x070417 * For BSD platforms changed to using native pthreads as default and adding linuxthreads as a optional parameter from configure. (Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2006x07x08x071646 * Smartmask overlay feature did not set intensity correctly. (Kenneth Lavrsen) 3.2.6 Formal Bugfix Release. * Fixed bug where variables time_last_frame and time_current_frame had been extended to also be used for snapshot feature but declaration was hidden between #ifdef HAVE_FFMPEG. (Kenneth Lavrsen) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2006x03x09x012244 * Fixed a bug that only allowed remote control of max 9 cameras. Now Motion can present up to 99 cameras in its http remote control interface (Angel Carpintero based on idea by Chuck Sheehan) http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHttpManyThreads * text_changes now shows a '-' when motion detection is paused instead of just showing 0 (Kenneth Lavrsen) http://www.lavrsen.dk/foswiki/bin/view/Motion/FeatureRequest2006x03x16x095713 3.2.5.1 Doc and man page correction * ffmpeg_filename has changed name to movie_filename to prepare for alternative movie encoding to the current ffmpeg based implementation and ffmpeg_filename will then be a bad name (Kenneth Lavrsen) * Man page corrected. 3.2.5 Formal Release. Summary of changes * Fixed misc problems in FreeBSD. (Angel Carpintero) * Update README.FreeBSD * Fix problems with tuner_device and frequency, now by default is not defined to allow use any input without problem. * Replace strndup() by memcpy() in netcam.c * Merged configure.in.freebsd with configure.in (configure.in.freebsd deleted) * Remove a warning when used --without-bktr * Remove cpu optimization (is broken) * Fixed memory leak in ffmpeg code. (Andrew Hamilton) * Fixed http control of pan and tilt (Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x12x22x122649 * Fixed netcamera bug related to separating frames in an mjpeg stream. (Peter Holik). From mailing list 23 Dec 2005. * Fix related to connecting to the netcam (William Black) From mailing list 23 Dec 2005. * Changed CHANGELOG to same bullet format as used by Foswiki to make it easier to write release notes (Kenneth Lavrsen) * Changed CREDITS to same bullet format as CHANGELOG (Kenneth Lavrsen) * Fixed sql_mask not initialised correctly (Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2006x01x09x175603 * Fixed the management of strings from http remote control , setting to NULL when they are set to "blank" and fixes a problem with despeckle , that didn't allow to remove labeling action from http remote control. (Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/FixStringsAndDisableLabeling * Fix many typos in comments ( i ran aspell against the code ). Also there's a fix to free cnt->eventtime_tm when motion exits. (Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/FixTypoInComments * Fix the problem that happens in FreeBSD and Debian Sarge because version of ffmpeg is LIBAVFORMAT_BUILD < 4629. ( Pete Shipley and Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2006x01x12x120335 * Updated motion.spec. Changing D_FORTIFY_SOURCE=2 by D_FORTIFY_SOURCE=1 to fix problem related to building with ffmpeg. (Angel Carpintero) * Implemented fix for missed snapshots with slow network cameras (Kenneth Lavrsen) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2006x02x07x162149 * Added some constants in video.c function v4l_picture_controls() which can help people hack an optimal set of values for controlling auto brightness for their particular camera. For now I am do not want to add all of these to the already too large number of motion config options. Maybe based on feedback we can permanently change the constants and add an additional auto brightness option. Or maybe a combined option that sets more constant based on an algorithm. (Kenneth Lavrsen) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2006x02x07x212816 * Fixed a syntax error in picture.c get_pgm() which caused the program to segfault when a mask file size did not match the picture size. Now the program correctly gives an error message and continues without the mask. (Kenneth Lavrsen). http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x10x08x150720 * Added Tilt support to stepper track. ( Angel Carpintero ). * CPU VIA Ezra C3 autodetection support added. (James Van Vleet) http://www.lavrsen.dk/foswiki/bin/view/Motion/VIAEzraC3Patch * Fixed mysql configure auto-detection for x64 systems. ( Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/SupportQuestion2006x03x02x152208 * Added the ffmpeg_deinterlace feature (Andrew Hamilton) http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionffmpegDeinterlace 3.2.4 Formal Release. Summary of changes Features * New text option text_event and new conversion specifier %C. Option text_event defines the value %C which then can be used in filenames and text_right/text_left. The text_event/%C uses the time stamp for the first image detected in a new event. Default value is %Y%m%d%H%M%S. %C is an empty string when no event is in progress (gap period expired). Pre_captured and minimum_motion_frames images are time stamped before the event happens so %C in text_left/right does not have any effect on those images. * Added new option track_auto which is a boolean option (on or off) with default value off. This enables people to start Motion with auto tracking enabled. Changing the config value for track_auto and enabling the auto tracking via the httpd track/auto has the exact same effect. * Added 3 new tracking options: track_step_angle_x, track_step_angle_y, and track_move_wait. The options track_step_angle control the movement during auto tracking and are currently only active for the pwc type tracking. The idea is that they can later also be used for the generic tracking as it evolves. The track_move_wait controls the number of frames after the camera has moved (auto or manual) during which motion detection is disabled. This option should be set so low that the motion detection is re-enabled the minute the camera is standing still again. * Added new sql_query option. This in combination with conversion specifiers incl the two new %f and %n enables the user to use any database structure they please. Adding fields is now a simple matter of modifying the sql query. * Added the %t conversion specifier which is the thread (camera) number. * Added two new conversion specifiers: %f which is filename (full path) and %n which is filetype (sqltype) valid in on_picture_save, on_movie_start, on_movie_end and sql_query. This also means that filename is no longer appended at the end of the 3 on_xxxx commands. * http control had a number of small improvements. * Added the debian sub directory so that people can build the deb package. * Enhanced netcam compatibility with Lumenera and Pixord Cameras. * Netcam feature now supports both http and ftp. * Added an infinite retry scheme for netcams that are not available when Motion is started. Instead of just dying, Motion now retries every 10 seconds until the netcam is available. Until the netcam is available Motion enters a mode showing a grey image with a text information which is fed to webcam, timelapse, snapshots, vloopback etc. If the actual height and width of the netcam does not match the dimensions in the config file Motion will perform a quick restart. * Added a better error handling of a netcam that changes dimensions while Motion is running. Instead of just writing error messages Motion restarts quickly to recover from this change. * FreeBSD Code improvements including set/get hue, saturation, contrast and brightness, support large resolutions. * RPM specs file changed as suggested for use in the Livna repository. * Changed the sequence of events connected with creating files. Data is now written to the databases (if used) before an external commends is on (on_xxxx options) allowing the external program to use the new data in the database. * Motion is now also works on MaxOSX with similar feature set as FreeBSD. Bugfixes * netcam code now waits for the next frame to arrive for a limited period in order to avoid too many duplicate images. * Motion loop resets its frame timer when the image received is from a netcam. This lowers the actual framerate of Motion to the rate the netcam can actually keep up with. * Removed all warnings when running ./configure --with-developer-flags. * Fixed error message with unknown config option. * Fixed small mistake in allocating memory for cnt->imgs.common_buffer. * Implemented a speed-up patch of the draw text feature. * Introduced check for device image size being a multiple of 16. * Switchfilter feature repaired. * Fixed small bug where motion was detected when using a tracking camera and the camera moved to center position when gap period expires. * Implemented fix to configure so that LDFLAGS from the environment are used when making the Makefile. * Changed configure so that --with-jpeg-mmx is default off as a reaction to known problems seen when using the jpeg-mmx library. * The lightswitch and switchfilter features have changed to ensure that both algorithms work on raw unfiltered motion pixels which they both were designed for. * Fixed bug related to init of mutex in netcam code. * Fixed small bug where the displayed time in the grey error image shown during start with unavailable netcam could show a garbage value under rare circumstances. * Restored the function sigchild_handler so it contains the same code as before motion-3.2.1_snap9. They is done in an attempt to fix an old problem with zombie child processes that has shown up again. * Added a work-around so people in FreeBSD that uses a capture card where input 1 is not tuner can use motion if frequency is set -1 in motion.conf or thread#.conf 3.2.4 Detailed changes for 3.2.4 snap1 * Removed all warnings originating from the motion sources when running ./configure --with-developer-flags. The modifications were done by the following people: Peter Holik, Bill Brack, Angel Carpintero and Kenneth Lavrsen. We now encourage developers to ensure that new code is checked with --with-developer-flags and code made so that no new warnings shows originating from the motion sources. http://www.lavrsen.dk/foswiki/bin/view/Motion/ReduceWarningsPatch * Fixed error message with unknown config option (Bill Brack) * Fixed small mistake in allocating memory for cnt->imgs.common_buffer (Angel Carpintero). * Implemented a speed-up patch of the draw text feature (Peter Holik). http://www.lavrsen.dk/foswiki/bin/view/Motion/DrawTextspeedup * http control updated: (null) messages replaced by "disabled", last parameter in conf/list are displayed correctly and only in Main thread. When motion runs with only one thread, it displays "No threads". (Angel Carpintero) * Enhanced compatibility with Lumenera (Bill Brack) * http control: selectbox instead of a textfield for changing boolean configs (Peter Holik and Angel Carpintero). http://www.lavrsen.dk/foswiki/bin/view/Motion/WebhttpEnhancements. * Introduced check for device image size being a multiple of 16 (Peter Holik). http://www.lavrsen.dk/foswiki/bin/view/Motion/NetcamModulo16Patch * Added the debian sub directory so that people can build the deb package (Angel Carpintero). * Sync configure.in.freebsd (adding support for jpeg-mmx, developer-flags and some cosmetic changes ) (Angel Carpintero) * Implemented --with-developer-flags fixes in FreeBSD code (Angel Carpintero). * Implemented Threadnr in TLS (thread-local storage)patch. It puts the thread number into TLS and modifies motion_log() so that we do not have to drag the cnt struct around just to be able to print the thread number in the log and on the console. (Per Jönsson with additional removal of unused cnt by Kenneth Lavrsen). http://www.lavrsen.dk/foswiki/bin/view/Motion/ThreadNrTlsPatch * Moved the motion_loop initialisation into a new function motion_init (Bill Brack). * Removed old unused code related to read mode (not mmap) from V4L devices (Kenneth Lavrsen). * In v4l_start change map from unsigned char * to void * to be ANSI C compliant with mmap (Angel Carpintero) * http control: Changed disabled to (not defined) when displaying option list (Angel Carpintero) * netcam code now waits for the next frame to arrive for a limited period in order to avoid too many duplicate images (Bill Brack). * Motion loop resets its frame timer when the image received is from a netcam. This lowers the actual framerate of Motion to the rate the netcam can actually keep up with. (Kenneth Lavrsen) * Last --with-developer-flags warnings eliminated simply by swapping the order of the #include statements in the sources (Bill Brack and Kenneth Lavrsen). * FreeBSD Code improvements by Angel Carpintero * Implemented set/get hue , saturation , contrast and brightness. * Better support to capture with big resolution ( 640x480 , 768x576 ). * Update Readme adding information about "how to configure a capture card and settings" , update packages dependencies . * Remove support for libjpeg-mmx , motion segfault ( future fix ). * Cosmetics changes in configure.in.freebsd ( replace --without-v4l by without-bktr ). * Cleanup code and fix warnings. snap2 * Simplified rotation code based on the fact that images must have dimensions that are a multiple of 16 (Per Jönsson) http://www.lavrsen.dk/foswiki/bin/view/Motion/RotateSimplificationPatch * Switchfilter feature repaired. It was called inside motion_detected() after overlays on cnt->img.out were added which meant that the feature also detected all the overlays, smartmasks, fixed mask and text. It is now moved to the motion_loop right after the lightswitch feature and before any overlays are added (Kenneth Lavrsen). * Fixed small bug where motion was detected when using a tracking camera and the camera moved to center position when gap period expires. The fix includes gathering the updating of reference frame in one place only in the motion_loop (Kenneth Lavrsen). * Implemented the new text option text_event and new conversion specifier %C. Option text_event defines the value %C which then can be used in filenames and text_right/text_left. The text_event/%C uses the time stamp for the first image detected in a new event. Default value is %Y%m%d%H%M%S. %C is an empty string when no event is in progress (gap period expired). Pre_captured and minimum_motion_frames images are time stamped before the event happens so %C in text_left/right does not have any effect on those images (Kenneth Lavrsen). http://www.lavrsen.dk/foswiki/bin/view/Motion/EventConvertionSpecifierDiscussion * Renamed some variables related to time to be better descriptive of function and type (Kenneth Lavrsen). * Added new option 'sql_user_text'. This can be defined with the same conversion specifiers as text_xxx, on_xxxx and filenames. The SQL field text_left has been removed and replaced by a field user_text which is used for storing the interpreted value of sql_user_text (Kenneth Lavrsen) * Added new SQL field event_time_stamp of the type TIMESTAMP (Kenneth Lavrsen). snap3 * Enhancement to Netcam Code for Connection to Pixord Cameras (Bill Brack). http://www.lavrsen.dk/foswiki/bin/view/Motion/NetcamFixPixordBug * Implemented fix to configure so that LDFLAGS from the environment are used when making the Makefile (Angel Carpintero). http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x09x15x185558 * Changed configure so that --with-jpeg-mmx is default off as a reaction to known problems seen when using the jpeg-mmx library (Angel Carpintero). * RPM specs file changed as suggested for use in the Livna repository. (Kenneth Lavrsen) * The lightswitch and switchfilter features have been moved up before the despeckle features are run. This should ensure that both algorithms work on raw unfiltered motion pixels which they both were designed for. (Kenneth Lavrsen) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x10x05x212444 snap4 * Integrated NetcamWithFtp patch. To use ftp simply use a URL starting with ftp:// (Bill Brack). Code was additionally cleaned up by Kenneth Lavrsen. http://www.lavrsen.dk/foswiki/bin/view/Motion/NetcamWithFTP * Changed error handling in vid_start so that failing to open the video device no longer causes an exit but a return with error code -1. (Kenneth Lavrsen) * Added the %t conversion specifier to show the thread number. (Angel Carpintero). http://www.lavrsen.dk/foswiki/bin/view/Motion/ThreadConversionSpecifierPatch * Added help texts in conf.c and motion-dist.conf describing the %t specifier. Added a good example of use in motion-dist.conf. (Kenneth Lavrsen). * Fixed bug related to init of mutex in netcam code (Angel Carpintero). * Improved fix for netcam mutex init (Bill Brack). http://www.lavrsen.dk/foswiki/bin/view/Motion/NetcamFixPthreadInit * Netcam_ftp code fixes (Angel Carpintero and Asbjørn Pettersen) http://www.lavrsen.dk/foswiki/bin/view/Motion/NetcamWithFtpEnhancements * Enhanced ffmpeg detection (Angel Carpintero). http://www.lavrsen.dk/foswiki/bin/view/Motion/BetterFFmpegDetection * Added two new conversion specifiers: %f which is filename (full path) and %n which is filetype (sqltype) valid in on_picture_save, on_movie_start, on_movie_end and sql_query. This also means that filename is no longer appended at the end of the 3 on_xxxx commands. (Kenneth Lavrsen) * Removed the sql_user_text option that was added in snap 2 (Kenneth Lavrsen) * Added new sql_query option. This in combination with conversion specifiers incl the two new %f and %n enables the user to use any database structure they please. Added fields is now a simple matter of modifying the sql query. The default is the same as the default in snap1. (Kenneth Lavrsen). * Changed the sequence of events connected with creating files. Data is now written to the databases (if used) before an external comments is on (on_xxxx options) allowing the external program to use the new data in the database (Kenneth Lavrsen). * Added an infinite retry scheme for netcams that are not available when Motion is started. Instead of just dying, Motion now retries every 10 seconds until the netcam is available. Until the netcam is available Motion enters the normal flow with the same grey image with a text information being fed to webcam, timelapse, snapshots, vloopback etc. Motion uses the width and height from the config file for this. It is a good idea to setup width and height so it is the same as the netcam. If the dimensions are the same Motion will switch over to the netcam seemlessly. If the dimensions are different Motion will perform a quick restart so all the many internal buffers can be initialised properly (Kenneth Lavrsen). * Added a better error handling of a netcam that changes dimensions while Motion is running. Instead of just writing error messages Motion restarts quickly to recover from this change. Note the now more well defined error coding for vid_next for both netcams and V4L cams. (Kenneth Lavrsen) snap5 * Fixed small bug where the displayed time in the grey error image shown during start with unavailable netcam could show a garbage value under rare circumstances. (Kenneth Lavrsen). * Restored the function sigchild_handler so it contains the same code as before motion-3.2.1_snap9. They is done in an attempt to fix an old problem with zombie child processes that has shown up again. http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x11x13x115016 (Kenneth Lavrsen). * Move the declaration of sig_handler_action and sigchild_action from the setup_signals function where they are local and will be destroyed and out in main just before setup_signals is called. Changed the function setup_signals so the two structs are passed as pointers. (Kenneth Lavrsen) Release * Added new option track_auto which is a boolean option (on or off) with default value off. This enable people to start Motion with auto tracking enabled. Changing the config value for track_auto and enabling the auto tracking via the httpd track/auto has the exact same effect. (Kenneth Lavrsen) * Added 3 new tracking options: track_step_angle_x, track_step_angle_y, and track_move_wait. The options track_step_angle control the movement during auto tracking and are currently only active for the pwc type tracking. The idea is that they can later also be used for the generic tracking as it evolves. The track_move_wait controls the number of frames after the camera has moved (auto or manual) during which motion detection is disabled. This option should be set so low that the motion detection is re-enabled the minute the camera is standing still again. Feature originally made by Moshe Van Der Sterre. Kenneth Lavrsen extended it to be more generic. http://www.lavrsen.dk/foswiki/bin/view/Motion/PwcConfiguration * New Feature: Motion is now also supported on MaxOSX with similar feature set as for Free BSD. See README.MacOSX for details how to install it. (Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/MacOSXPatch * Added a work-around so people in FreeBSD that uses a capture card where input 1 is not tuner can use motion if frequency is set -1 in motion.conf or thread#.conf (Angel Carpintero). 3.2.3 Detailed changes for 3.2.3 Bugfix release only. No new features. * Fixed a bug in the http control code that failed to accept a client connecting in some systems (Peter Holik). * Fixed a series of bugs where several feature were using the image buffer after text was added for noise tuning, auto_brightness, reference frame update when tracking etc. When a netcam failed to produce an image the text added to the previous image became motion detected also. The code is not changed so that the ring buffer is used for timestamped images and the image used for detection is in a buffer cnt->imgs.image_virgin. (Kenneth Lavrsen). http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x08x15x140701 * Auto brightness used the first image in ring buffer instead of the latest image and it used an image with time stamping. It now uses the new cnt->imgs.image_virgin buffer. http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x08x15x160208 * Cleaned out unused code from httpd control (Angel Carpintero). * Option switch_filter used print_int instead of print_bool when motion.conf was saved (Kenneth Lavrsen). 3.2.2 Formal Release. Summary of changes Features * New completely rewritten netcam code. * 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 algorithm 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 algorithm * 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 segfaults) * Code improved to remove all warnings when compiled with gcc 4.0 * Better FreeBSD support * Replace functions not threadsafe with threadsafe functions. * Implemented a much easier to use motion_log function which replaces the calls to printf and syslog. This code change as no impact to the user. * Fixed a bug in video.c so that VIDEO_PALETTE_GREY cameras now actually work. * Updated the ffmpeg.c code so that Motion can now be built with ffmpeg CVS release from the June/July 2005 timeframe. 3.2.2 Detailed changes for 3.2.2 snap1 * Pthread deadlock in motion 3.2.1 fixed (Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x05x26x125712 * http lockup bugfixes and ConvertSignalToSigaction only for webhttpd (Angel Carpintero) * alg_draw_location: Use temporary variables to store the values used in for() loops instead of compute them in each loop (Angel Carpintero). http://www.lavrsen.dk/foswiki/bin/view/Motion/ImproveAlgDrawLocation * Small speed boost to the function draw_textn (Andrew Hamilton and Angel Carpintero). http://www.lavrsen.dk/foswiki/bin/view/Motion/DrawTextnImprovement * Added two new convertion 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. 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/foswiki/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 presence 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 occurred 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/foswiki/bin/view/Motion/NetcamFirstHeader snap5 * Small improvement in framerate accuracy (Peter Holik). http://www.lavrsen.dk/foswiki/bin/view/Motion/FramerateAdjust * Fixed a bug in the autobrightness algorithm (Per Johnsson) * Fixed a bug in the webhttpd code related to pan/tilt. Bug was introduced in snap4 (Angel Carpintero, Kenneth Lavrsen). * Improved the labelling algorithm so that locate feature and tracking features includes all labelled areas above threshold (Joerg Weber). http://www.lavrsen.dk/foswiki/bin/view/Motion/ImprovedLabellingPatch * Fixed bug reporting errors when creating symlink to last snap (Bill Maidment) * Changed all use of localtime to localtime_r which is threadsafe (Kenneth Lavrsen). * Implemented a modified version of the WebcamCompressInMemory so that Motion no longer uses the tmpfile() function for buffering the frames of the mjpeg stream (Peter Holik). http://www.lavrsen.dk/foswiki/bin/view/Motion/WebcamCompressInMemory * Modified the WebcamCompressInMemory patch so that Motion now supports the mjpeg webcam stream while being setup for saving PPM images (Kenneth Lavrsen). http://www.lavrsen.dk/foswiki/bin/view/Motion/WebcamCompressInMemory * 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). snap7 * Implemented WebcamShortWriteHandling patch (Bill Brack) http://www.lavrsen.dk/foswiki/bin/view/Motion/WebcamShortWriteHandlingPatch * 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/foswiki/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) * Implemented a fix/work around to a bug related to building and installing RPMs on Suse. (Paul Beltrani) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x07x14x212356 * 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/foswiki/bin/view/Motion/NetcamCodeRewritePatch snap9 * Fixed bug related to disabled webcam or duplicate webcam port. Error log accept(): Socket operation on non-socket continuously written to syslog. (Kenneth Lavrsen) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x08x01x150922 * 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 cleanups (Bill Brack). * Implemented a much easier to use motion_log function which replaces the calls to printf 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/foswiki/bin/view/Motion/ErrorLoggingEnhancementPatch * Fixed a bug in video.c so that VIDEO_PALETTE_GREY cameras now actually work (Bill Brack). * Implemented the conversion of signal to sigaction which should be more thread safe. Hopefully this still keeps Motion from making Zombies. (Christophe Grenier). http://www.lavrsen.dk/foswiki/bin/view/Motion/ConvertSignalToSigaction * 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. (Andrew Hamilton). http://www.lavrsen.dk/foswiki/bin/view/Motion/TextScalingPatch snap10 * Error Logging Enhancement Patch v 1.3 (Angel Carpintero) including: http://www.lavrsen.dk/foswiki/bin/view/Motion/ErrorLoggingEnhancementPatch * Populate the motion_log to the whole motion source code. * Fixed FreeBSD compilation. * Added the possibility to pass NULL as struct context * * Removed unused errno variables. * Fixed errno in rotate.c , set to 0. * Fixed some errno flags in webhttpd.c and motion.c * Fixed a bug when not motion.conf is found * Removed printf from all files * Fixed the conf_list[] index in motion.c * RotateBswapFix Patch v 2 (Per Jönsson) including: * cleanup in code comments * fix for __bswap_32 macro collision * fixed bug where initialization would be incomplete for invalid degrees of rotation * now uses motion_log for error reporting http://www.lavrsen.dk/foswiki/bin/view/Motion/RotateBswapFix * Re-mplementation of optional Proxy Server for Network Cameras (Bill Brack). http://www.lavrsen.dk/foswiki/bin/view/Motion/NetcamProxyServerPatch * Included a CODE_STANDARD text file to help new developers make patches that are easier to integrate without too much manual editing. (Kenneth Lavrsen) * Added the missing rotate feature in the new netcam code (Bill Brack) snap11 * Updated the ffmpeg.c code so that Motion can now be built with ffmpeg CVS release from the June/July 2005 timeframe (Per Jönsson). http://www.lavrsen.dk/foswiki/bin/view/Motion/FfmpegCodecPatch * 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 PeterHolik (but not the "Without Locking" portion of his proposal). Version 2 however does not seems to recover when an mjpeg stream resumes after a period of not being available. (Bill Brack) http://www.lavrsen.dk/foswiki/bin/view/Motion/NetcamErrorImprovementPatch * Note: Snap11 release as a developer sync release. Bug reports welcome. FreeBSD code changes not tested yet. Release * 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/foswiki/bin/view/Motion/MotionHttpControl * Changed the 5 second missed camera signal timeout to 30 seconds. (Kenneth Lavrsen) * Fixed bug where an extra jpeg is saved if you have output_normal=best and you stop motion after an event has ended. (Kenneth Lavrsen) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x08x05x173526 3.2.1 Detailed changes for 3.2.1 since 3.1.19_snap3 snap1 * Major new feature. XMLRPC is replaced by a simpler http remote control interface (implemented by Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionHttpControl snap2 * Fixed netcam->userpass problem (Angel Carpintero) * Added support in configure for athlon64 from http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x01x30x190907 (Angel Carpintero and William M Brack) * Fixed some gcc warnings (William M Brack) * Code cleanup from a valgrind analysis (William M. Brack). snap3 * Added Best Preview Patch (Joerg Weber) http://www.lavrsen.dk/foswiki/bin/view/Motion/BestPreviewShot snap4 * Fix for tracking control with http control (Angel Carpintero) * Added the new feature Setup Mode (Joerg Weber). This also enables much more error messages given to the console when in non-daemon mode while still preserving the messages in syslog which are important for daemon mode debugging. The patch is still being worked on and is not finished. Changes in the FreeBSD code are not yet tested. http://www.lavrsen.dk/foswiki/bin/view/Motion/SetupModePatch Remove most command line options and replace them by an option to specify location to motion.conf and a few options related to setting up motion. (Joerg Weber). This is also included in SetupModePatch. * Small improvement of the http control interface (link to setting itself on the html response when setting parameter) (Kenneth Lavrsen) snap5 * Fixed a bug in noise tune which was most visible at very low light. (Joerg Weber and Kenneth Lavrsen) * Further improvement in the setup mode. Messages are now prefixed by the thread number in [brackets]. Moved 2 functions from motion.c to picture.c. The setup mode patch is now considered finished. (Joerg Weber) snap6 * Netcam fixes and debug code by Christopher Price http://www.lavrsen.dk/foswiki/bin/view/Motion/NetcamStabilityPatch snap5_post1_video.c and snap5-post1 patches * Fixed netcam startup race condition. * Refactored image handling back to single unified function * Refactored reconnection algorithm * Jpeg only based connections should now use less cpu time * Temporarily removed support for devices that do not support content-length (in progress) * Synced syslog/printf style to new motion standard * Added developer debug trace defines/code * Defines now used for many constants snap7 * Improved console output in setup mode. Now also outputs threshold. (Joerg Weber) * Added some additional text to the motion http messages to the terminal so that you know where the messages come from. (Kenneth Lavrsen) Netcam Stability Patch version snap6-post1 (Christopher Price) * Added support for netcams without content-length header (streaming only) * Remove memmem from netcam_wget.[c|h] (no longer used) * Several miscellaneous code cosmetic changes * TODO: remove tests for memmem from configure snap8 * Added support for non-streaming (image based) netcams without content-length header. (3.2.1-snap7-post1 version of the Netcam Stability Patch by Christopher Price). * Improvement in the noise-tune algorithm (Joerg Weber) * Re-arranged many of the const char declarations so that they are always before any statements within a block { }. This is to avoid compiler errors with older but still used gcc versions such as 2.95. (Kenneth Lavrsen) * Changed the use of %zd to %llu in printf statements of size_t types. This is done to avoid compiler errors with older but still used gcc versions such as 2.95. (Kenneth Lavrsen) snap9 * Fixed even more gcc 2.95 compiler errors (declarations not at beginning of block) (Kenneth Lavrsen). * Removed a gcc 2.95 compiler warning (netcam.c:1036: warning: variable `pic' might be clobbered by `longjmp' or `vfork') (Kenneth Lavrsen) * The values for cnt->locate and cnt->new_img are now #defines in motion.h to enhance code readability (Kenneth Lavrsen). * The setting of sql_mask is now only done once per second to save CPU power (Kenneth Lavrsen) * Adding checking for conflict between control port and webcam port. Webcam port for a thread is disabled if it is set to the same value as the control port (Kenneth Lavrsen). * Fixed some file descriptor leaks in webcam.c and netcam.c (Christophe Grenier) * Added "motion-http:" prefix to error messages from the http control thread. (Kenneth Lavrsen) * Added additional error information when connection to MySQL fails (Kenneth Lavrsen) * Initiate cnt->event_nr to 1 to avoid code related to end of events and long mpeg films to be run during startup of Motion. (Kenneth Lavrsen) * Added new function in event.c close_anything_open() which is called from send_sms, send_mail and exec_command in order to prevent file descriptor and open sockets to be inherited by the shell causing freezing and instability. Code contributed by Christophe Grenier, Christopher Price and Kenneth Lavrsen. * Added new context global cnt_list.control_socket_server set by the httpd thread so that the above mentioned close_anything_open() can close open control sockets (Kenneth Lavrsen). * Renamed the top level global context structure to cnt_list so it can be reached from child threads and by above mentioned close_anything_open() (Christophe Grenier). snap10 * Fixed a problem when compiling with --without-v4l configuration. (Philip Marien) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x03x27x112843 * Threw away the file descriptor leak fix from snap 9 because it caused more trouble than it fixed. Removed the close_anything_open() and the cnt_list.control_socket_server field. Replaced it all with a simple piece of code that all server daemons call when started: setsid() followed by for (i=getdtablesize(); i>2; --i) close(i). Dirty and simple. (Kenneth Lavrsen) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x03x21x070534 * Fixed a bug where rate of fetching picture frames was disturned by the signal SIG_CHLD from exec_command programs terminating. The symptom was that the number of post_capture frames became inaccurate and motion in mpegs did not have constant time between frames. (Kenneth Lavrsen) * Fixed a bug where motion did not work with gap=1 (Kenneth Lavrsen). http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x01x30x073616 * Added the feature gap=0 which now also works. It disables gap completely so that one single mpeg file is created. You can end the event from the remote control interface make movie feature using for example cron. This makes Motion close the mpeg and make a new with event number increased by one. (Kenneth Lavrsen) * Improved the http remote control action features so that makemovie and snapshot for thread 0 (all) works on all threads instead of being ignored (Kenneth Lavrsen). * Moved some code in the beginning of the motion_loop to a position later to improve the accuracy of time calculations for the framerate (Kenneth Lavrsen) * Updated code so Motion again runs on FreeBSD (Angel Carpintero). * Removed check for memmem from configure (Angel Carpintero). * Updated http control interface so that an additional check is done before saving config files (Angel Carpintero). * Fixed a problem with URLs http://192.168.1.3:8080/0 which did not work without a trailing space (Angel Carpintero). snap11 * Implemented new Generic onxxxx features. Function --- Old Option --- New Option Start of event (first motion) --- execute --- on_event_start End of event (no motion for gap seconds) --- New! --- on_event_end Picture saved (jpg or ppm) --- onsave --- on_picture_save Movie starts (mpeg file opened) --- onmpeg --- on_movie_start Movie ends (mpeg file closed) --- onffmpegclose --- on_movie_end Motion detected --- New! --- on_motion_detected http://www.lavrsen.dk/foswiki/bin/view/Motion/OnXxxCommandsPatch and http://www.lavrsen.dk/foswiki/bin/view/Motion/OnXxxxFeatureDiscussion (Joerg Weber) * More Netcam Stability Fixes (snap10-post1-6) (Christopher Price) http://www.lavrsen.dk/foswiki/bin/view/Motion/NetcamStabilityPatch * Destroy mutexes in netcam_cleanup(). * Add reconnection for netcam_start() - this may block other cameras from starting up!. * Added additional defines for reconnect retries. * Change reconnection timeouts to 60 seconds. * Reworked close(sock) in netcam_connect, to insure future changes won't forget to close the socket. * Reworked reconnection for netcam_start() - disabled by default, see source for INIT_RECONNECT_RETRIES. * Break some long lines in code. * Replaced sleep with nanosleep per suggestion by Kenneth Lavrsen. * Added additional header validation check. * Changed a couple fd references to use RBUF_FD. * Added error message if jpeglib error occurs. * Removed additional header validation check. * Limited times headers will be checked. * Removed mutex lock around netcam_start() in video.c, hopefully race conditions are fixed. * Added additional headers in http request. * Added back header validation (should fix netcam_read_header lockups). * Detect when there is no data on socket in netcam_read_ functions (should fix netcam_read_image_contentlength() and netcam_read_image_no_contentlength() lockups). * Rearranged timeout assignments for pthread_cond_timedwait() calls. * Adjusted TIMEOUT_COND_WHICH to 4 seconds. * Improvements of motion.conf help comments including improvements in new onxxxx options. (Kenneth Lavrsen) snap12 * Fixed a bug in the rgb2yuv420p function. (Daniel Ladd) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x03x30x011107 * Fixed a bug of locate feature for movement images combined with the new output_normal best feature (Joerg Weber) * More Netcam Stability Fixes (snap11-post1-4) (Christopher Price) http://www.lavrsen.dk/foswiki/bin/view/Motion/NetcamStabilityPatch * Reworked thread signal/wait conditions, should fix some race conditions. * Use gettimeofday() to determine thread timeouts, results in better accuracy. * Adjusted condition timeouts to smaller values due to usage of gettimeofday() and rework of thread signal/wait conditions. * Adjusted reconnection retries to 60 (every minute for an hour). * Fix bug where motion will not quit if requested when reconnecting. * Cruft, feature creep and redundant code removed. * Consolidated reconnection capability to unified netcam_reconnect function. * Rework netcam_start logic, minimize startup variables. * Rework netcam_stream_read and netcam_single_read logic. * Minor changes to netcam_next logic. * Fix bug in streaming camera without content-length, recent mod broke. * Fix bug in startup of single image reads without content-length. * Motion Guide refactored completely for 3.2.1 with better web navigation and auto generation of pages. Makefile updated so that the Motion Foswiki topic MotionGuideOneLargeDocument is fetched when updating the guide and making releases. (Kenneth Lavrsen). snap13 * Removed the debug_parameter option which had no use. Programmers can still use it because the code is only commented out. This change required a small update in the code that rewrites motion.conf so that a remote control command to write the config files still adds a text header for the thread section at the end of motion.conf (Kenneth Lavrsen). * Changed the default values for a few options: quiet on, webcam_maxrate 1, threshold_tune off, webcam_quality 50 (Kenneth Lavrsen). * Changed some cosmetics in the way motion.conf is written (space after #) (Kenneth Lavrsen). * Updated the motion-dist.conf to use default values unless there is a reason not to (Kenneth Lavrsen). * Fix the compile issue with official ffmpeg packages from debian (Angel Carpintero). * More Netcam Stability Fixes (snap12-post1) (Christopher Price) * Newrote url parser, better syntax checking and error handling of urls. * Userpass now allowed in url (http://user:pass@example.com/). Netcam_userpass has precedence, it will override a userpass embedded in the url. http://www.lavrsen.dk/foswiki/bin/view/Motion/NetcamStabilityPatch snap14 * Added basic authentication to the http control interface introducing new config option control_authentication. (Angel Carpintero) * Fixed memory leak when restarting Motion from http control (Angel Carpintero). * Small improvement in configure script for Debian (Angel Carpintero) * Added the ability to clear an option to off (bool), 0 (int) or undefined (string) by submitting blank entry field in the http control interface. (Angel Carpintero). snap15 * Added new feature which shows the fixed mask (in addition to the smart mask) in bright red on the Motion type images (Joerg Weber). http://www.lavrsen.dk/foswiki/bin/view/Motion/FixedMaskFileOnMotionImagesPatch * Added new feature. When you specify a mask file in the config file and start Motion, and the mask file does not exist, Motion will create a new clear (white) mask file for you in the right size. Then it is easy to simply open the file in your favourite paint program and add the masking in black (Joerg Weber). http://www.lavrsen.dk/foswiki/bin/view/Motion/FixedMaskFileOnMotionImagesPatch * Fixed a bug in the low_cpu feature where cpu load increased instead of decreasing because the framerate calculations were completely wrong. This was an old bug introduced in 3.0.1 (Kenneth Lavrsen). http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x04x24x205933 * Improved the auto-brightness algorithm. When auto-brightness is enabled the brightness option becomes a target value for the brightness level. This should also close a bug report (Kenneth Lavrsen). http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x02x26x195358 * http interface small fixes (motion-3.2.1_snap14-small-fixes 1.1) incl Add 'back' link to response_client errors (Angel Carpintero). http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionHttpControl * Started adding tuner_number as option. This is not fully implemented. First code is added and rest will be done in next snap. (Kenneth Lavrsen) snap16 * Made the http control interface more RFC compliant (Angel Carpintero). http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x05x02x180550 * Made the http control HTML responses nicer to look at as sources and therefore easier to debug errors (Kenneth Lavrsen). * Code style cleanup of webhttpd.c (Kenneth Lavrsen). * Fixed compatibility problem with Palantir. Fixed by making output more compatible with RFC (\r\n). Original fixes by Roberto Spadim and Angel Carpintero. However this fix made Firefox flicker even more than it normally does. Final fix which works in both Palantir client, Firefox and Cambozola was made by Kenneth Lavrsen. This closes the following bugs: http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x05x02x205307, http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x05x07x042849 snap17 * Fixed small bug when pre_capture buffer is resized during operation. (Joerg Weber). * In httpd control code: Fixed RAW syntax following API specs. (Angel Carpintero). http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionHttpControl * Added new conversion specifiers: %D (diffs), (noise) %K (motion center x), %L (motion center y), %i (locate width x) and %J (locate width y). These changes also required a refactoring of the alg_locate code. This change is part of the implementation of a generic tracking feature and it enables implementing external programs that can perform simple prediction features. (Kenneth Lavrsen) http://www.lavrsen.dk/foswiki/bin/view/Motion/ExtendReplaceConversionSpecifiersDiscussion http://www.lavrsen.dk/foswiki/bin/view/Motion/GenericTrackingPatch * Fixed a bug in switchfilter which caused motion detection to not work when the feature was enabled (Kenneth Lavrsen). Release * Change the working directory to / in daemon mode. This way you don't have to kill motion to umount the partition from where you start it. (Christophe Grenier) http://www.lavrsen.dk/foswiki/bin/view/Motion/ChdirNetCamWgetPatch * In netcam-wget header_get() didn't always in add a \0 string terminator. This was fixed by Christophe Grenier http://www.lavrsen.dk/foswiki/bin/view/Motion/ChdirNetCamWgetPatch * Fix for Unknown content type with lumenera cameras (Kenneth Lavrsen) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x05x06x174416 * MotionHttpControl Patch motion-3.2.1_snap18-pre1 v,1.0 19 May 2005. Fixed some HTTP response codes and added header copyrights. (Angel Carpintero). http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionHttpControl * Implemented pthread fix by Christophe Grenier. http://www.lavrsen.dk/foswiki/bin/view/Motion/PthreadFixPatch * Fixed problem compiling "ffmpeg reports only YUV420 is supported" when ffmpeg is a recent CVS version. (Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x05x22x213229 * Man page updated. It is now semi-autogenerated in the Motion Foswiki (Kenneth Lavrsen) http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionOptionsAlphabeticalManpage * Bug fix in netcam code: Sometimes motion try to free an invalid memory area (Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x05x21x105335 * Small configure fix related to --without-v4l (Angel Carpintero) * Fixes for http control HTML code (Angel Carpintero) * Added init script to RPM (Angel Carpintero) 3.1.19 Detailed changes for 3.1.19 snapshot releases since 3.1.18 snap1 * Fixed bug which caused Motion 3.1.18 fail to save timelapse mpegs when setting ffmpeg_timelapse = 1 (fixed by Michael Reuschling) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x01x31x211756 * Fixed several bugs in new netcam code introduced in 3.1.18 (Angel Carpintero) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x01x16x030209 http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x02x01x071546 http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x02x03x035918 * Added patch that enables Motion to work with vloopback version 0.94 and kernel 2.6.10+. (patch by William M Brack). http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionAndVloopbackVideoDotCPatch snap2 * Following bugfixes all by Angel Carpintero * Netcam code: Change printf() to fprintf(). * Netcam code: Cleanup memory netcam (netcam.c , motion.c ). * Netcam code: Redesign of reconnection feature. * Configure: Added debug , conditional compile of xmlrpc-c * Fix a non allocated pointer to be freed. * Added fix to BugReport2005x02x11x170019 * Added fix to BugReport2005x02x11x150802 snap3 * Bugfixes by Angel Carpintero * fix motion.spec, motion.spec.in * typo in configure.in , configure.in.freebsd * fix version number 3.1.18 Formal Release - Summary of changes since 3.1.17. * Removed the Berkeley mpeg feature * New brightness, contrast, hue and saturation options. * Makefile with automatic check of dependencies and nicer user output. * Improvement of the rotate feature. * Added the new smart mask feature. * Added a new config option --without-optimizecpu which disables CPU specific compiler optimizations. * Configure help texts improved. * Added the pwc-10.0.5 version of pwc-ioctl.h. Also good for pwc 10.0.6. * Changing rotate, height and width via xmlrpc no longer affects the running program. This change is done because many internal data structures and memory allocations cannot handle change of image dimensions/size. * Enabled use of leading spaces when changing text_left and text_right via xmlrpc by using quotation marks if the value starts with a leading space. * Speed optimizations for dilate and labelling code. * Significant speed improvement in the motion detection algorithm. * Motion images are now gray scale instead of green. Smartmask is shown in red. * Implemented FreeBSD auto-detection CPU/ARCH fix. * Removed the never finished prediction feature. * Implemented a major improvement of noise_tune. * Implemented ffmpeg-0.4.9 support. * Default for option 'ffmpeg_video_codec' is now mpeg4. mpeg1 is now only supported with the old ffmpeg-0.4.8. * Option 'output_normal' value set to 'first' makes Motion only save a jpeg from the first motion detected picture frame in an event. * Implemented Streaming Netcam Without Curl which enables connecting to network cameras both with single jpeg frame mode and streaming mjpeg mode. This enables much higher framerates with Netcams. * Corrected a small error in the usage help text * Improved the help and doc texts for config option night_compensate. * Improved the signal handling of ctrl-C and kill. * Implemented a POSIX compliant SIGCHLD signal handler to avoid floods of warnings and script zombies in some RedHat versions. * Reporting of the changes of noise detection level is now only displayed in the console (daemon off) when the always_changes option is enabled. * Made the code in xmlrpc more correct and robust (handling of select()). * Fixed several bugs in the timelapse feature. Detailed changes for all 3.1.18 snapshot releases since 3.1.17 snap1 * Removed the Berkeley mpeg feature (code commented out) * Implemented a bugfixed version of http://www.lavrsen.dk/foswiki/bin/view/Motion/BrightnessContrastPatch Released as snapshot for developers to merge other patches. The snap1 is not recommended for normal use. snap2 * Improved the Makefile with automatic check of dependencies and nicer output for the user. http://www.lavrsen.dk/foswiki/bin/view/Motion/MakefileWithAutoDependencies * Implemented first phase of the rotate patch. Need to fix the storage method for image height and width http://www.lavrsen.dk/foswiki/bin/view/Motion/RotatePatch snap3 * Implemented phase 2 of the rotate patch * Added brightness patch options to motion-dist.conf snap4 * Added the new smart mask feature. It is working but it is still under development. It currently outputs an extra smart mask timelapse movie when the normal timelapse is enabled. This will be removed in the final version. http://www.lavrsen.dk/foswiki/bin/view/Motion/PatchSmartMask * Added a new config option --without-optimizecpu which disables the CPU specific compiler optimizations introduced with the rotate phase 2 patch. The purpose of the new option is to enable a packager to build an RPM or deb package which is not tied to a specific CPU type. * Man page updated with the new brightness and smart mask options. * Configure help texts improved. * Added the pwc-10.0.5 version of pwc-ioctl.h. * Changing rotate, height and width via xmlrpc no longer affects the running program. The user can change the options and write them to the config files and then restart motion. This change is done because many internal data structures and memory allocations cannot handle change of image dimensions/size. * Fixed the problem with leading spaces of text_left and text_right getting lost when saving with xmlrpc. For text_left and text_right Motion now puts the string in quotation marks if the value starts with a leading space. http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2004x10x24x135840 snap5 * Implemented the November 10 update for smartmask * Started resolving some of the signed vs unsigned char problems. There is still much to do here. snap5 is released to make the developers up2date. snap6 * Merged in the DilateNineSpeedPatch http://www.lavrsen.dk/foswiki/bin/view/Motion/DilateNineSpeedPatch * Changed a few image char definitions to unsigned char. Still many to fix. snap7 * Implemented the 15-Nov-2004 Smartmask patch which removed the smartmask debugging timelapse code and instead adds the smartmask info to the motion images and jpegs as red areas. Normal motion is shown in black and white (greytones). This concludes Joerg Webers smartmask feature. The patch is now in ReleasedScheduled state for 3.1.18. * Implemented Angel Carpintero's FreeBSD auto-detection CPU/ARCH fix. * Merged in Per Johnsson's DilateFiveSpeedPatch http://www.lavrsen.dk/foswiki/bin/view/Motion/DilateFiveSpeedPatch * Removed the prediction feature from the code (commented out for now). * Included fix by Jan X. http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2004x11x13x202132 snap8 * Implemented an improvement of Smartmask so that the mask is cleared when the smart_mask_speed is set from a non-zero to zero (by Joerg Weber) * Implemented an improvement of noise_tune with smart mask (and probably also in general) (by Joerg Weber) * Improved the picture control function so that cameras are only probed when needed to avoid USB errors. (Kenneth Lavrsen) * Implemented new ffmpeg patch (Per Jönsson) http://www.lavrsen.dk/foswiki/bin/view/Motion/FfmpegPatch049 * Implemented new preview patch (Joerg Weber) http://www.lavrsen.dk/foswiki/bin/view/Motion/PreviewShotsPatch * Removed commented code from obsolete Berkeley and Prediction features * Implemented labelling speed patch (Per Jönsson) http://www.lavrsen.dk/foswiki/bin/view/Motion/LabelingSpeedPatch snap9 * Implemented Streaming Netcam Without Curl which enables connecting to network cameras both with single jpeg frame mode and streaming mjpeg mode. This enables much higher framerates with Netcams. (by Christopher Price and Angel Carpintero). http://www.lavrsen.dk/foswiki/bin/view/Motion/StreamingNetcamWithoutCurl * Implemented a significant speed improvement in the motion detection algorithm (by Per Jönsson). http://www.lavrsen.dk/foswiki/bin/view/Motion/AlgDiffStandardMmxPatch * Fixed a small bug which caused in jumpy mpeg1 videos with ffmpeg 0.4.8. snap10 * Corrected a small error in the usage help text http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x01x05x174139 * Improved the help text for config option night_compensate in docs, conf.c, motion man pages and config file. http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x01x06x103939 * Improved the Netcam patch (Angel Carpintero) http://www.lavrsen.dk/foswiki/pub/Motion/StreamingNetcamWithoutCurl/ (pre2 patch fixes problem with not detecting Content-length and segfaults in netcam) * Improved the signal handling of ctrl-C as suggested by Per Jonsson http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x01x06x181426 * Implemented a POSIX compliant SIGCHLD signal handler as replacement for the traditional signal(SIGCHLD, SIG_IGN) which can cause floods of warnings in some RedHat versions. (Angel Carpintero and Kenneth Lavrsen) http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2004x10x26x134906 * Changed the reporting of the changes of noise detection level so that it is only displayed in the console (daemon off) when the always_changes option is enabled. (Kenneth Lavrsen) * Changed the ffmpeg>0.4.8 = no mpeg1 gcc warning message so that it is clear to people that it is information and not an error message. snap11 * Changed allocation of despeckle buffer to avoid a segfault when using a netcam where the image is wider than defined in motion.conf width. * The noise tune value displayed in the upper left corner along with number of changed pixels is no longer displayed (was there for debugging). * Improved the Netcam patch (Angel Carpintero) http://www.lavrsen.dk/foswiki/pub/Motion/StreamingNetcamWithoutCurl/ (pre3 reconnection feature added) * Changed the SIGCHLD handler introduced in snap10 so that it is a shorter and faster function. Disabled this handler in the xmlrpc thread as this caused unnecessary loops of cpu cycles. Additionally made the code in xmlrpc more correct and robust (handling of select()) (Kenneth Lavrsen) * Fixed a bug in the timelapse feature. Both the rollover events of the timelapse video and timelapse shots could be missed if the CPU load was very high or the time was changes by ntp. Motion will now catch up a few seconds later if this happens. Also fixed the code for monthly rollover (Kenneth Lavrsen). http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x01x23x133554 Release * Fixed a bug in the timelapse feature. Both the rollover events of the timelapse video and timelapse shots could be missed if the CPU load was very high or the time was changes by ntp. Motion will now catch up a few seconds later if this happens. Also fixed the code for monthly rollover (Kenneth Lavrsen). http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2005x01x23x133554 * Small improvement in timelapse feature so that an image is added when the new mpeg is created and not waiting till the following timelapse (Kenneth Lavrsen). * Small improvement so that the timelapse rollover happens on the hour and not one timelapse past the hour (Kenneth Lavrsen). 3.1.17 Bugfix release snap1 * Removed annoying debug syslog message (input: #) * Implemented Peter Ilin's patch for handling vloopback pipes better when Motion receives SIGTERM or SIGHUB. * Implemented fix for compiling errors when building the FreeBSD version without bktr support. (http://www.lavrsen.dk/foswiki/bin/view/Motion/FreeBSDFixCompile) * Commented out many unnecessary syslog debug only messages. The commented out code was first patched by Mike Lees patch related to syslog causing instability and hanging motion processes. (http://www.lavrsen.dk/foswiki/bin/view/Motion/SyslogEventPatch). * Included Kalle Andersson's patch that ensures that Motion detaches from the stdin and stout devices so that a secure shell that was used to start Motion in daemon mode does not hang when you exit the shell. (http://www.lavrsen.dk/foswiki/bin/view/Motion/DaemonDetachFromSTDIO) snap2 * Implemented a new lightswitch feature so that is now triggers lightswitch detected based on the percentage of pixels set by the lightswitch option which is now an integer instead of a boolean. When lightswitch is detected motion skips 5 frames to allow camera to settle. * Fixed a bug in the autobrightness function. * Fixed a bug in netcam_start() - wrong imgs.size calculation Release * Swapped width and height parameters in some functions. This has no influence on program execution. Just a cosmetic change. 3.1.16 Bugfix release snap1 * Fixed a configure error related to xmlrpc. * Fixed a bug in the SQL code related to file type. Release * Fixed a segfault problem in alg.c related to the locate feature. * Made motion more robust to whitespace in its config files. It now accepts CR LF (DOS/Windows) and whitespace only lines no longer gives warning messages in syslog. Also cleaned up the conf.c function structure a little bit. 3.1.15 Summary of changes from 3.1.14 to 3.1.15. New features: * ffmpeg now supports mpeg4 and msmpeg4 in addition to mpeg1. Timelapse mpegs are always made with mpeg1 because this allows appending to existing mpeg when motion or timelapse is restarted. This also meant a change of the configure option --with-libavcodec to --with-ffmpeg which now needs to point to the parent directory that holds libraries. * configure has been significantly improved so that most people can simply run ./configure, make and make install with no parameters and all libraries should be detected automatically if they are installed like in most distributions. * rotation feature added which allows the camera to be mounted upside down or in portrait. * SQL (Postgres and MySQL) table format has been changed. The time related fields such as minute, hour, day, month and year has been replaced by a timestamp field called 'time_stamp'. Additionally a field called 'frame' has been added so that each file can be correctly sorted based on time_stamp and frame (picture frame number within one second). An additional field called 'text_left' stores the displayed text given by config option 'text_left'. And a field 'camera' has been added which stores the thread number. * The %v (event) prefix has been removed from the default filename for timelapse mpegs. It makes little sense to have the current event number as part of the timelapse filename as default. * A new feature called 'labeling' was added which is a great enhancement to the motion detection algorithm. It ensures that only the largest area of movement is included in the detection and it prevents noise and wind from making false detection. It should also make tracking work better. * Angel Carpintero ported motion and it's main features to freeBSD. The freeBSD is still very much beta and because of limited access to hardware we need more people to test the various features. * Motion is now also released as an RPM with both mysql, postgres, libcurl and ffmpeg support. Bugfixes: * Fixed the problem with default strings being written to thread config files when using the XMLRPC command motion.conf.write. * Implemented improvement of vid_putpipe so that Motion does not spend time writing to a vloopback device which is not there. * Introduced reporting to syslog of writing to vloopback fails. * Memory clean-up improvements when Motion exits normally. * Fixed a small bug related to the filename given for onffmpegclose. * Provided more improvements of error handling. * Added additional error reporting to console. 3.1.15 Snapshot releases snap1 * Fixed the problem with default strings being written to thread config files when using the XMLRPC command motion.conf.write. snap2 * Implemented Ryan Ayers improvement of vid_putpipe so that Motion does not spend time writing to a vloopback device which is not there. Also introduced reporting to syslog of writing to vloopback fails. * Ryan Ayers improved configure's ability to find custom installations of ffmpeg. * Ryan Ayers provided misc. cosmetic changes in the code. * Ryan Ayers rewrote the ffmpeg functions completely added support for new codecs/formats mpeg4 and msmpeg4. mpeg1 was improved also. snap3 * Implemented Ryan Ayers simplified ffmpeg patch where 10 ffmpeg functions are reduced to 5. The memory leak related to an unused filehandle has been resolved. * Kenneth Lavrsen solved the timelapse related .mpeg.mpeg filename error. * Kenneth Lavrsen removed the memory leak in ffmpeg.c related to the use of strdup without a free. snap4 * Implemented Ryan Ayers snap3 based ffmpeg patch that cleans up the code significantly, forces timelapse. The list of improvements: * Forces timelapse to mpeg1 for the time being. * Removes FILE* f declaration in ffmpeg.h since we no longer need it. * Removes all picture_buf references. This was carried over from output_example.c in ffmpeg-0.4.8. However, we don't need it. That is allocating space for picture->data, but motion already takes care of this for us with the newimg variable. * Removed some old commented code ... tmpfilename, picture_buf stuff. * Included Angel Carpintero's memory clean-up improvements when Motion exits normally. snap5 * Added Per Jönsson's rotate feature. When set to non-zero some extra CPU time is used for the rotation. * Kenneth Lavrsen changed the ffmpeg code so that mpeg1 files are created using the libavcodec method and mpeg4 and msmpeg4 are created using the new libavframe method in ffmpeg. * Kenneth Lavrsen added seconds and frame fields to the database feature. This means that users must add these two fields to the table "security" in existing databases when upgrading to 3.1.15. * Kenneth Lavrsen removed the %v (event) prefix from the default filename for timelapse mpegs. It makes little sense to have the current event number as part of the timelapse filename as default. snap6 * Kenneth Lavrsen fixed a small bug related to the filename given for onffmpegclose. * Joerg Webers added the new labeling motion detection feature. * Angel Carpintero provided more improvements of error handling. snap7 * Kenneth Lavrsen changed the configure option --with-libavcodec to * --with-ffmpeg and updated Guide and man pages and text in code and config file to match the new shared library way of using ffmpeg * Angel Carpintero ported motion and it's main features to freeBSD. The freeBSD is still very much beta and because of limited access to hardware we need more people to test the various features. * Angel Carpintero created an updated specs file that enables Kenneth to build RPMs of Motion. snap8 * Kenneth Lavrsen added the new fields to the SQL security table camera (thread number), text (text_left) and time (timestamp). * Angel Carpintero improved error handling for the webcam functions. Release * Kenneth Lavrsen simplified the sql functions (1 instead of 3) and ensured that the text field is not assigned when text_left is an empty string. This allows for the field to be auto defaulted. * Added additional error reporting to console. 3.1.14 2004 May 31 * Included Ian McConnell's fix for snapshots when using the "lastsnap" filename. * Fixed the bug in advanced filename and text feature when event numbers go higher than 99. * Included Angel Carpintero's improvement of configure reporting of missing shared libraries (Kenneth Lavrsen improved it a little further). * Included Ian McConnell's timelapse close mpeg file when set to zero patch. * Changed motion-control to make a proper output from motion.conf.list. * Renamed ffmpeg_timelaps to ffmpeg_timelapse (we change now or never) * Corrected man page (\n). * Added setting access rights to 644 (755 for configure) when doing make dist. * Small improvement on xmlrpc-api.html document. * Included Angel Carpintero's fix for building motion without ffmpeg (missing #ifdef round newly added ffmpeg timelapse code) * Fixed missing init of viddev.frequency causing VIDIOCGCHAN errors. * Included Angel Carpintero's snap2 based patch for improving configure. XML-RPC changes of threshold and noise_level are now being used as long as threshold_tune and noise_level are not enabled. * Enabled the round robin feature to also work by changing frequency on the same device and same input. * Fixed the pre_capture feature so that it also stores the jpegs properly. * Fixed the ffmpeg_timelapse feature so that the calculated time is correct and the current image is used instead of an old image from position 0 in the pre_capture ring buffer. * Fixed ffmpeg routines so that also graytone images can be pre_captured and used with ffmpeg_timelapse. * Fixed the position of the incrementing of shots in the motion_loop so that it is correct before any functions use it. * Added quite many comments to the code to make it easier to maintain (more comments will be added). * Removed some old debugging printf's that were displayed in non-quiet mode. * Changed to snapshot feature from being alarm driven to being timer driven. This means that each thread can have its own interval value. The XML-RPC motion.action.snapshot still works. The SIGALRM method has been changed so that all thread that have the snapshot_interval non zero will take a snapshot when being signaled with SIGALRM. A negative value for snapshot_interval will activate the SIGALRM trigger but not the timing interval. * Implemented ffmpeg_timelapse_mode feature by James A. Russo. * Implemented RH (sysV) and Debian type control scripts for /etc/init.d by Angel Carpintero. * Implemented enhanced SQL features by James A. Russo. This adds logging of mpeg and prediction events to MySQL/PostgreSQL. James patch also replaced the mime file types by a more refined filetype scheme that allows more refined control for SQL and other future control. * Kenneth Lavrsen changed the enhanced SQL config from single sql_mask option to 5 sql_log_ options for more user friendly control. * Implemented Daniel Sterlings minimum_motion_frames feature. * Plugged a memory leak in the pre_capture feature. * Changed the behaviour of onsave back to original mode where also snapshots causes onsave command to be run. * Fixed a bug in frequency setting of V4L device. * Renamed snapshots_interval and snapshots_filename to snapshot_interval and snapshot_filename. * Changed the webcam_port value to 0 in motion-dist.conf to avoid that people get segmentation faults when having 2 or more cameras and * webcam_port not set in the thread config files. * Implemented Daniel Sterlings improved handling of config strings. This plugs the memory leak when changing string type options via XML-RPC. * It also makes the memory handling more elegant/optimal and finally it now allows strings to be as long as allowed by the environment variable PATH_MAX. * Kenneth and Daniel added many comments to motion.c and conf.c. * Daniel Sterling made the XMLRPC able to handle errors without crashing. * Daniel Sterling and Kenneth Lavrsen added a feature that checks for two threads having the same webcam_port. If this is the case the last thread gets its webcam disabled and a warning message is written to console and syslog. * Implemented Daniel Sterling's fix for a small calculation error in alg_diff_fast(). * Small improvements in messages sent to console and syslog during startup of Motion. 3.1.13 * Included Ian McConnell's despeckle feature (including extra improvement of the original patch). * Changed the name of motion.conf to motion-dist.conf to avoid make install overwrites your perfectly OK working motion.conf file when you re-install. * Updated the motion.spec.in. Not tested yet. * Included Matthias Kilian configure patch which enables configure to find and use a dynamic library of ffmpegs libavcodec.so . * Included Steffen Haas improved on screen display patch (plus some extra characters including a real space). * Changed the parsing of the motion.conf and thread.conf files so that spaces are now allowed. This also enables using a space in the user text. For XML-RPC you put text in "" if you need spaces. * Changed the XML-RPC function motion.conf.write so that undefined config options gets written into the main motion.conf file with the help line and the option prefixed by a '#'. Example # netcam_url value. * Added Mike Lees onffmpegclose feature which enabled a command to be executed each time a file generated by ffmpeg is closed. * Added Daniel Sterlings night compensate fix. * Added Angel Carpintero's improved configure process which automatically detects presence of xmlrpc-c and ffmpeg and makes the Makefile accordingly. * Included Ian McConnell's flexible on screen display feature and flexible strftime based path names. * Changed conf.c so that xml-rpc command motion.conf.write creates a much more user friendly motion.conf file. * Modified Ian's on screen display putting back the config parameter (draw)text_changes. If enabled the number of changed pixes are shown in the upper right corner of the image. * Removed the snap_override feature and reduced the oldlayout to an Berkeley mpeg_encode feature only renaming it to berkeley_single_directory. Instead the flexible filename feature now has oldlayout as default and the "new" directory layout specified in the motion.conf file. * Motion.conf sequency re-arranged so the important things comes first. * Changed names of many options to be more user friendly. * Renamed the options for displayed text to text_right, text_left and text_changes. * Change the parsing of config files so that the argument can be in quotation marks (" or ') allowing leading spaces for the text_left and text_right options. This means that you can place the text anywhere on the picture by using spaces and new lines \n. 3.1.12 * Removed vid_keepalive * Added reentrant warning to codestyle answer in FAQ. * Rewrite of PWC tracking code. * Tracking is inactive by default. * Motion-control action.quit fix. * Netcam with mask fixed. * Added tracking options to xmlrpc interface. * Ignore SIGPIPE (crashes webcam code). * Changed fast algorithm to imgs.size/10000 steps. * Renamed prerecord to pre_capture to be more consistent with post_capture. * Redone pre_capture completely. 3.1.12 rc1 * added pre-record. with configparameter n_prerecord one can set the number of frames that should be recorded *before* the motion starts. for this feature to work, you need to set post capture to at the value given for n_prerecord! also: n_prerecord must be at least 1 3.1.11 * found 2 memory-leaks (two 'FILE *' were not closed) in the webcam-interface * started working on support for logitech sphere/orbit tracking fixed bug in tracking routines (would sometimes use garbage coordinates) * added max-number-of-frames-limit to the webcaminterface (patch by Jeroen Vreeken) 3.1.10 * added Kenneth's fixes for ffmpeg instability and the problem with the "ioctl(VIDIOCGCHAN): Invalid argument" error * small optimisation of rgb24toyuv420p (about 6% faster) so for certain video-devices things might be a little faster * optimized alg_diff_fast: about 50% faster made it compile again with 2.6.0-test9 * noise tuning is now only done when there's no motion! * noise is resetted to the median of the tuned value and the configured value as soon as no motion is detected * fixed includes for mysql/psql (thanks Felix Finch!) 3.1.9 * motion now logs to syslog instead of stderr, that way it is still possible to see what is going wrong when motion runs as a daemon process. * motion will now exit nicely when memory allocation fails instead of segfaulting * low_cpu now takes the number of frames per second to process when no motion is detected instead of on/off * "quick motion detection" is now only performed when motion is in "idle" mode. * added Kenneth's patch: motion with ffmpeg-0.4.8 now compiles again! * small optimalisation: if a file is created, the path is now only recreated when it did not already exist. 3.1.8 is the last version release by Jeroen Vreeken. New maintainers are: Kenneth Lavrsen (http://www.lavrsen.dk/) and Folkert van Heusden (http://www.vanheusden.com/). 3.1.8 Froze 3.1.8 Can't use the same variable name twice in ppm code... 3.1.7 Froze 3.1.7 Added codingstyle answer to faq yuv to rgb conversion for ppm images. Webcam close and denial of service fixes. Renamed roundrobing to roundrobin. Don't try to compile in xml-rpc support when not defined. 3.1.6 Froze 3.1.6 Added output_all option for continuous file saving. Fixed picture saving on rgb files. Fixed off-by-one error in framerate calculation. 3.1.5 Froze 3.1.5 Added motion.action.quit to xml-rpc api. Changed v4l code to convert rgb to yuv420p and removed support for rgb24 from all other files. Removed read() support from v4l code. Changed netcam code to output yuv420p images. Fixed libavcodec.h include in ffmpeg.h 3.1.4 Froze 3.1.4 Fixed ffmpeg segfault. Removed motion.conf* from install section in Makefile Fixed mail option. Fixed conf list hang. 3.1.3 Froze 3.1.3 Made timelaps interval variable. Added motion.conf.write to xmlrpc API Motion can write its own config file. Changed xmlrpc API to use strings for all option types. Added comment fields for config options. Added additional settings for ffmpeg. 3.1.2 Froze 3.1.2 Use SO_REUSEADDR on http listen sockets. Added control_localhost and webcam_localhost options for binding servers to the loopback interface (default=on). xmlrpc-httpd now uses nonblocking io allowing for multiple connections to be handled at the same time. Set default for 'threshold_tune' and 'noise_tune' to yes. Added threshold_tune config option. 3.1.1 Froze 3.1.1 Sync with 3.0.4 Added xmlrpc motion-control. Changed description output to match input format. Added Server and Connection fields to the webcam code. Added threshold_tune????? for autotuning the max_changes level. Added noise_tune option for autotuning the noise level. Sync with 3.0.3 3.1.0 Froze 3.1.0 Added predict evaluation. Added predict_description config option. Started with predict functions. Forked from 3.0.2 3.0.2 Froze 3.0.2 Changed strtok() call for argument in conf.c arguments with '=' in them are now allowed. 3.0.1 Froze 3.0.1 Added 'dist' and 'updateguide' options to Makefile. Added motion_guide.html to documentation. Fixed mpeg names when using oldlayout. Updated manpage. Added check to low_cpu frame_delay calculation for a maximum of 1 second. 3.0.0 Froze 3.0.0 Added string.h to ffmpeg.c 2.9.12 Froze 2.9.12 Added ffmpeg_bps option. Fixed devpipe instead of devmpipe in motion.c 2.9.11 Froze 2.9.11 Added all config files to examples in Makefile Fixed YUV422 converter for real :) Use 2 as minimum fps for ffmpeg (less produces a floating point exception) 2.9.10 Froze 2.9.10 Fixed YUV422 to YUV420 converter. Fixed oldlayout for ffmpeg files. Added -lz for mysql. Removed TODO from makefile. 2.9.9 Froze 2.9.9 Fixed leaks in webcam.c Fixed mask image use (imgs.motionsize instead of imgs.size) Don't try to detect motion with threshold set to 0. 2.9.8 Froze 2.9.8 Always try to remove snapshot link. Cleaned up config file. Cleaned up ppm code, now loads pgm greyscale files. Fixed max_mpeg_time segfault in ffmpeg close event. Added -lm for libavcodec. Updated FAQ. Added timelaps option. Fixed SIGHUP handling. Added /usr/local/mysql/include and /usr/local/mysql/lib to configure script and fixed bogus error message. Fixed snapshot location (missing filepath) 2.9.7 Froze 2.9.7 Fixed some more #endif statements Use cnt->lastrate for ffmpeg framerate. Fixed ffmpeg code for RGB and GREY images. Added YUV422 support (converted to YUV420P) Added roundrobing on frequency. 2.9.6 Froze 2.9.6 Tweaked autobrightness mode. Added webcam_maxrate option. Reversed image and boundary in webcam code. Added framerate control. Added webcam_motion config option. New frame_limit code. Fixed include files for ffmpeg.h Code cleanup. Removed SIGHUP handler. Removed draw on motion images. Added speed and stepsize options to tracking code. Reversed the night compensation. Removed ffmpeg error in max mpegtime code. Fixed #endif statements in header files. Changed 'deamon' to 'daemon' 2.9.5 Froze 2.9.5 Added missing time.h define in webcam.c Added 'frequency' option for v4l tuners. Fixed max mpeg time with ffmpeg encoding Added path for mpeg_encode (problems with PATH variable) Fixed deamon mode. Changed overlay to white on black (more readable). 2.9.4 Froze 2.9.4 Added webcam option. Moved reference image update before draw() Added fclose() to put_picture() 2.9.3 Froze 2.9.3 Added GNU license to all file headers. New netcam code Fixed snapshot filenames Use correct image sizes (no more width*height*3) 2.9.2 Froze 2.9.2 Added ffmpeg code (from monitor) for realtime mpeg encoding. Moved image creation to event.c Moved put_picture functions to picture.c Added support for Y plane images (YUV420P and GREYSCALE) Set default jpeg quality from 50 to 75 PostgreSQL support Moved event handlers from motion.c to event.c Introduced new event() functions. Updated xml-rpc rmon code. 2.9.1 Froze 2.9.1 Fixed lastsnap symlink for new layout. switchfilter added post_capture option added Round robbing_skip added Added roundrobing_frames option. 2.9.0 Froze 2.9.0 Shuffled everything around and added 'struct context', this should make motion ready for some serious threading. Added xml-rpc remote monitoring. Higher quality settings for mpeg. Added missing w to getopt in conf.c Removed c++ style '//' comments, they're EVIL. Removed some old outcommented code. 2.6.3 froze 2.6.3 Fixed removal of directories after mpeg creation. Added new netcam code. 2.6.2 froze 2.6.2 Added support for YUV420P palette to video.c, this should fix problems with the Philips webcams. 2.6.1 froze 2.6.1 Changed system() calls into remove() and symlink(). oldlayout option now also affects snapshots. Fixed snapshot link name (ppm vs jpg). Added new snapshot_overwrite option. Changed directory permissions to 0755 instead of 0750. Made timestamp overlay better readable, it is now black or white depending on the back colour. 2.6.0 froze 2.6.0 Updated manpage. Added iomojo Smilecam support. Added uninstall option to Makefile Added config file location to the FAQ. Made timestamp overlay inverse of original pixel instead of white. Created 'struct images' to minimize the passing of arguments between functions. Move contents of various header files around to make things more sane. Made locate box inverse off original pixel instead of white. Created alg.c and alg.h, they contain all functions that have something to do with the motion detection algorithms. Renamed video.c functions to vid_xxxxx. Created video.h Improved stepper tracking code. Tracking code cleanup, multiple tracking interfaces are now possible. Added diff_hybrid, a combination of diff_fast and diff_standard Introduced some pointer magic in the locate functions. Added experimental diff_fast. Fixed SIGHUP handling and blocking. Added auto_bright option. 2.5.0 froze 2.5.0 Updated documentation, config files, man page. Freeing 'line' in decompress_jpeg, this fixes a memory leak when using Axis cameras. Implemented SIGHUP handler for reloading config files. Added realconfig option for starting multiple motion processes or loading alternative config files. Added 'jpg_cleanup' to the manpage. Made 'low_cpu' lower on cpu. Fixed mpeg creation for old layout. Moved mpeg movies into year/month/day dir. Remove empty directories when doing jpg_cleanup. 2.4.2 froze 2.4.2 Fixed low_cpu option to be actually low on the cpu. Fixed missing case for '-w' in conf.c. 2.4.1 froze 2.4.1 New version numbering: ala linux kernel Fixed includes for track.c 2.4 froze 2.4 Complete rewrite of the tracking stuff... it now uses a serial stepper motor interface (and actually works!) Fixed division by zero in adjust_rate code Added 'low_cpu' option for minimizing the cpu load while not detecting any motion. Added 'oldlayout' option for using the old style filenames. Added automatic location of vloopback inputs by using /proc/video/vloopback/vloopbacks. Fixed '-l' option Uploaded motion to the sourceforge CVS Alphabetized CREDITS file. Added 'pal-nc' norm. 2.3 froze 2.3 Started faq. Included fix for bad 'strtok' in glibc with RH 7.0 Added \t as a delimiter for config files. Made mpeg creation checks more sane. 2.2 froze 2.2 Fixed segfault bug with filebase creation. Added creation of mpegs when killed or when getting SIGUSR1 or when max_mpeg_time has been reached. 2.1 froze 2.1 Only create directories if they are going to be used. Changed SYNC ioctl argument to int in video.c Added realmotion option Default config changed: -gap is now 60 instead of 300 seconds. -locate is on by default (-l function now works reversed) -night_compensate is on by default Added mpeg framerate adjustment. Added night_compenstate for dark pictures. 2.0 froze 2.0 Integrated motion tracking. Improved lightswitch detection. Added clipcount in video.c, quickcam should work good now. 1.99 froze 1.99 Fixed memory leak in mpeg creation. Created put_picture for saving images. Moved lightswitch code out of main loop. Merged exec_externcommand, exec_onsavecommand and exec_onmpegcommand into exec_command Added onmpeg command. 1.81 froze 1.81 Fixed segfault bug in 'mysql_password' option. 1.8 froze 1.8 Added video loopback for motion pictures. Location box is now only enlarged for heads, not for feet. Merged in Axis 2100 camera support. conf.c now also looks for '~/.motion/motion.conf'. Moved filebase creation to mkfilebase Minor improvements. Loopback feed during lightswitch. 1.7 froze 1.7 Little bit of code cleanup Splitted motion.c in motion.c and video.c Changed config.in to correctly detect the mysql libraries and include files. 1.6 froze 1.6 Motion now has its own mailinglist: motion@frogtown.com Added MySQL support Added creation of symbolic link to snapshots Changed file names of snapshots 1.5 froze 1.5 Added video loopback support for realtime viewing. Fixed division by zero bug. Added install option to Makefile. Fixed bug that prevented external commands, mail and sms from being called at the first event. 1.4 froze 1.4 Added lightswitch filter Updated manpage 1.3 froze 1.3 Added minimum gap option. Changed /007 to /a, not a real change but more sane. Added mask option. Added get_ppm for reading ppm files Optimized greyscale blowup code. Added 'FORCE_ENCODE_LAST_FRAME' to mpeg params file. Experimental tracking routines for mini ssc library 1.2 froze 1.2 Fixed some exit(-1) to exit(1) Updated manpage with the new options. Added adjustable noise level. Snapshots can be made in ppm format to. Fixed signal blocking code (this time right?) 1.1 froze 1.1 Motion now has it own logos!!!! Added timestamp to picture. Added ppm output format. Rewrote locate function, small things (like fish :) don't disturb the locate option anymore. Added break for -B option 1.0 froze 1.0 Went back to alarm for automated snapshots (signals should work with bttv now) Moved usage to conf.c Finished manpage Added check for existing target dir. Moved diff calculation and image_out generation out of main loop, adding other methods is easier this way. Removed sanity check for output formats since someone might want no pictures at all but only warning messages. Make snapshots separately from other pictures. New snapshot names: YYYYMMDDHHMMSS-snapshot Motion images are encoded to mpeg movies to. Made movie file names and counter sane. 0.99-2 froze 0.99-2 Added signal blocking during ioctls, bttv should now continue to work when receiving signals. Snapshots with no movement don't go to the movies ;) Also flush buffers when making snapshots. Fixed for segfault when there is no config file. (Second time, remember to fix the current version next time) 0.99 Last beta before 1.0 mpeg movies get timestamp in filename mpeg_encode is now called from within motion added chdir, filename generation is now much easier Added check for complete frames with read 0.8 froze 0.8 Added script for mpeg_encode Moved getopt stuff to conf.c Added conf.h and conf.c for config file parsing Added -f option for frame rate limit Fixed frame nr count (starts at 0 again instead of 1 in v0.7) 0.7 froze 0.7 Added event nr to the filename, settable with -g (gap). Added genhtml.sh (for creating a static version of show.cgi) New show.cgi Option for saving both motion and normal images. Moved image_ref update into diff for loop. *a option does not use alarm anymore, bttv card users can use it to (they just miss the SIGALRM option...) Added picture size settings for read. Moved read back in, after mmap failure motion we fall back to normal reads. Greyscale camera fix Added check for capture failure 0.6 froze 0.6 Fixed stupid typo for execute option (forgot the shift) Added -l option for locating and marking movement Added buffer flush to keep log files up to date 0.5 froze 0.5 Added contrib dir with infra red script Option to always output changes between images Output of motion images configure script 0.4 froze 0.4 Gave the help text a new look. Overall cleanup (moving defines to motion.h) Added -E option for executing external commands 0.3 froze 0.3 New homepage: http://motion.technolust.cx Fixed -t option (target path) Changed from read to mmap for bttv cards Added input and norm selection Added alarm signal handler and snapshot (-a) option (does not work with bttv....) 0.2 froze 0.2 Updated README and TODO Added SMS and mail alert messages Changed file name format to YYYYMMDDHHMMSS-fn.jpg (fn=framenumber) Added deamonize option Cleaned up includes Decaying reference picture added Renamed image1 and image2 to image_ref and image_new 0.1 Initial release