From: Kenneth L. <ke...@la...> - 2005-08-05 07:55:48
|
Motion Snapshot Release 3.2.2 snap10 Things are moving fast. Proxy support is back in netcam code. A few more bugfixes. We invite people to participate in the discussion about how the Netcam code= =20 should retry and when it should give up when a Netcam does not respond. http://www.lavrsen.dk/twiki/bin/view/Motion/NetcamRetryErrorDiscussion This is the next step in completing 3.2.2 Release Notes 3.2.2 snap10 - 05 Aug 2005 Development Release Changes since 3.2.1 snap1 * Pthread deadlock in motion 3.2.1 fixed (Angel Carpintero)=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x05x26x125712>http= ://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x05x26x125712.=20 * http lockup bugfixes and=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/ConvertSignalToSigaction>http:/= /www.lavrsen.dk/twiki/bin/view/Motion/ConvertSignalToSigaction=20 only for webhttpd (Angel Carpintero) * alg_draw_location: Use temporary variables to store the values used=20 in for() loops instead of compute them in each loop (Angel Carpintero).=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/ImproveAlgDrawLocation>http://w= ww.lavrsen.dk/twiki/bin/view/Motion/ImproveAlgDrawLocation=20 * Small speed boost to the function draw_textn (Andrew Hamilton and=20 Angel Carpintero).=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/DrawTextnImprovement>http://www= .lavrsen.dk/twiki/bin/view/Motion/DrawTextnImprovement=20 * Added two new conversion specifiers: %o for threshold and %Q for=20 number of labels. (Kenneth Lavrsen) * Improved the config file description for pre_capture to get people to= =20 use small values (Kenneth Lavrsen). snap2 * Avoid Cleanup Segfault. Allocates filepath using strdup to avoid=20 segfault is target_dir parameter is not supplied in motion.conf. Moves out= =20 from signal handler the cleanup for pipe and mpipe. (Angel Carpintero)=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/AvoidCleanupSegfault>http://www= .lavrsen.dk/twiki/bin/view/Motion/AvoidCleanupSegfault=20 * Major code cleanup concerning signedness of chars all over the code=20 to allow compilation with gcc4.0 (like in Fedora Core 4) without any errors= =20 or warnings. This will probably require that some of the not yet included=20 patches will have to be fixed because it it code all over the place that=20 has been changed. (Kenneth Lavrsen) snap3 * Changed the order of drawing the red mask in setup mode so that the=20 smartmask is drawn after the fixed mask (Joerg Weber). * Changed the configure script so that /usr/lib64 is also searched for= =20 the presense of ffmpeg (should fix the problem with 64 bit machines)=20 (Kenneth Lavrsen). * Changed the configure script so that rpms can be made by normal=20 non-root users (Angel Carpintero, Kenneth Lavrsen). snap4 * Fixed the ffmpeg code so that Motion also compiles against libavcodec= =20 build 4754 or later. (Per J=F6nsson) * Above change in configure script for 64 bit ffmpeg support also=20 implemented in the freeBSD configure (Angel Carpintero) * Webhttp control interface fixed so it also works in=20 <http://www.lavrsen.dk/twiki/bin/view/motion/motionrelease3x2x2snap10/twiki/= bin/view/Motion/FreeBSD>FreeBSD=20 (Angel Carpintero) * Improved the display of fixed mask. It is now shown as grey instead=20 of red. This makes it easier to see the smart mask working when you also=20 have a fixed mask (Joerg Weber). * Netcam First Header patch. If an error with jpeg decompression=20 occured at connecting to a mjpeg streaming webcam, this patch skips this=20 jpeg and tries to decompress next jpeg up to MAX_HEADER_RETRIES (20) (Peter= =20 Holik).=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/NetcamFirstHeader>http://www.la= vrsen.dk/twiki/bin/view/Motion/NetcamFirstHeader=20 snap5 * Small improvement in framerate accuracy (Peter Holik).=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/FramerateAdjust>http://www.lavr= sen.dk/twiki/bin/view/Motion/FramerateAdjust=20 * Fixed a bug in the autobrightness algoritm (Per Johnsson) * Fixed a bug in the webhttpd code related to pan/tilt. Bug was=20 introduced in snap4 (Angel Carpintero, Kenneth Lavrsen). * Improved the labelling algoritm so that locate feature and tracking=20 features includes all labelled areas above threshold (Joerg Weber).=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/ImprovedLabellingPatch>http://w= ww.lavrsen.dk/twiki/bin/view/Motion/ImprovedLabellingPatch=20 * Fixed bug reporting errors when creating symlink to last snap (Bill=20 Maidment) * Changed all use of localtime to localtime_r which is threadsafe=20 (Kenneth Lavrsen). * Implemented a modified version of the=20 <http://www.lavrsen.dk/twiki/bin/view/motion/motionrelease3x2x2snap10/twiki/= bin/view/Motion/WebcamCompressInMemory>WebcamCompressInMemory=20 so that Motion no longer uses the tmpfile() function for buffering the=20 frames of the mjpeg stream (Peter Hollik).=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/WebcamCompressInMemory>http://w= ww.lavrsen.dk/twiki/bin/view/Motion/WebcamCompressInMemory=20 * Modified the=20 <http://www.lavrsen.dk/twiki/bin/view/motion/motionrelease3x2x2snap10/twiki/= bin/view/Motion/WebcamCompressInMemory>WebcamCompressInMemory=20 patch so that Motion now supports the mjpeg webcam stream while being setup= =20 for saving PPM images (Kenneth Lavrsen).=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/WebcamCompressInMemory>http://w= ww.lavrsen.dk/twiki/bin/view/Motion/WebcamCompressInMemory=20 * Major clean-up of code in picture.c and webcam.c so that function=20 names and variable names are less confusing. Also added many comments in=20 picture.c (Kenneth Lavrsen). snap6 * Webcam code commented more (Kenneth Lavrsen) * New improved webcam feature. When you set webcam_motion on Motion=20 will now stream at 1 fps instead of none. When motion is detected the=20 webcam stream increases to the limit set in the config file. This change=20 makes the webcam_motion much more interesting. The previous function always= =20 ended up with clients timing out. (Kenneth Lavrsen). snap7 * Implemented WebcamShortWriteHandling patch (Bill Brack)=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/WebcamShortWriteHandlingPatch>h= ttp://www.lavrsen.dk/twiki/bin/view/Motion/WebcamShortWriteHandlingPatch=20 * Implemented the libjpeg-mmx patch. Installing the MMX version of=20 libjpeg can increase performance. Especially for machines with very little= =20 CPU power. It only modifies the configure script. If you do not have the=20 libjpeg-mmx the configure script with ignore this and use the standard=20 libjpeg. Note that RPMs will be built without this (Peter Holik and Angel=20 Carpintero).=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/LibJpegMmx>http://www.lavrsen.d= k/twiki/bin/view/Motion/LibJpegMmx=20 snap8 * Small code cleanup in webcam.c and picture.c and .h for the webcam=20 code (Peter Holik and Kenneth Lavrsen) * Small code cleanup in motion.c for the variable holding the number of= =20 microseconds since epoch. The old code worked fine but relied on an integer= =20 overflow every 71 minutes. (Bill Brack and Kenneth Lavrsen) * Implemented a fix/work around to a bug related to building and=20 installing RPMs on Suse. (Paul Beltrani)=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x07x14x212356>http= ://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x07x14x212356=20 * Small speed optimization in the creation of reference frame (Peter=20 Holik). * Complete rewrite of the Netcam code. Should fix many of the reported= =20 and still open netcam bugs. This is first release in a snapshot. Expect to= =20 find bugs. Testing is important. If you have a netcam please test this and= =20 report bugs.=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/NetcamCodeRewritePatch>http://w= ww.lavrsen.dk/twiki/bin/view/Motion/NetcamCodeRewritePatch=20 snap9 * Fixed bug related to disabled webcam or duplicate webcam port. Error= =20 log accept(): Socket operation on non-socket continuously written to syslog= =20 (Kenneth Lavrsen).=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x08x01x150922>http= ://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x08x01x150922=20 * Fixed memory leak in webhttpd related to use of strdup (Angel=20 Carpintero). * Improved the error reporting in the Netcam code and did a few minor=20 corrections and code cleansups (Bill Brack). * Implemented a much easier to use motion_log function which replaces=20 the calls to prinf and syslog. The implementation to actually use this has= =20 been implemented in video.c and the Netcam code files. Rest will be in next= =20 snap. This code change as no impact to the user (Bill Brack).=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/ErrorLoggingEnhancementPatch>ht= tp://www.lavrsen.dk/twiki/bin/view/Motion/ErrorLoggingEnhancementPatch=20 * Fixed a bug in video.c so that VIDEO_PALETTE_GREY cameras now=20 actually work (Bill Brack). * Implemented the conversion of signal to sigaction which should be=20 more thread safe. Hopefully this still keeps Motion from making Zombies.=20 (Christophe Grenier).=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/ConvertSignalToSigaction>http:/= /www.lavrsen.dk/twiki/bin/view/Motion/ConvertSignalToSigaction=20 * Added new feature: Double size text. A new config option=20 'text_double' can be set 'on' and this scales the text to double size.=20 Default is off. (Andrew Hamilton).=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/TextScalingPatch>http://www.lav= rsen.dk/twiki/bin/view/Motion/TextScalingPatch=20 snap10 * Error Logging Enhancement Patch v 1.3=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/ErrorLoggingEnhancementPatch>ht= tp://www.lavrsen.dk/twiki/bin/view/Motion/ErrorLoggingEnhancementPatch=20 (Angel Carpintero) including: * Populate the motion_log to the whole motion source code. * Fixed=20 <http://www.lavrsen.dk/twiki/bin/view/motion/motionrelease3x2x2snap10/twiki/= bin/view/Motion/FreeBSD>FreeBSD=20 copilation. * Added the posiblity 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 *=20 <http://www.lavrsen.dk/twiki/bin/view/motion/motionrelease3x2x2snap10/twiki/= bin/view/Motion/RotateBswapFix>RotateBswapFix=20 Patch v 2=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/RotateBswapFix>http://www.lavrs= en.dk/twiki/bin/view/Motion/RotateBswapFix=20 (Per J=F6nsson) including: * cleanup in code comments * fix for __bswap_32 macro collision * fixed bug where initialization would be incomplete for invalid=20 degrees of rotation * now uses motion_log for error reporting * Re-mplementation of optional Proxy Server for Network Cameras (Bill=20 Brack).=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/NetcamProxyServerPatch>http://w= ww.lavrsen.dk/twiki/bin/view/Motion/NetcamProxyServerPatch=20 * Included a CODE_STANDARD text file to help new developers make=20 patches that are easier to integrate without too much manual editing.=20 (Kenneth Lavrsen) * Added the missing rotate feature in the new netcam code (Billl Brack) Next Steps * A lot of testing of the brand new netcam code. * Implement retry schemes as discussed in=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/NetcamRetryErrorDiscussion>http= ://www.lavrsen.dk/twiki/bin/view/Motion/NetcamRetryErrorDiscussion=20 * Fix open bugs. * tuner_number will be introduced later when Motion eventually supports= =20 V4L2. Will not be in 3.2.2. * Add the two new conversion specifiers to Motion Guide and man page. * Add the new option text_double to Motion Guide when releasing 3.2.2 * Add the new option netcam_proxy to Motion Guide when releasing 3.2.2 * Range checking of options - includes a complete redesign of how=20 options are loaded and changed via remote control. This redesign is mainly= =20 making the code more robust and should be transparent to the user. Known Problems * See the=20 <http://www.lavrsen.dk/twiki/bin/view/Motion/BugReports>http://www.lavrsen.d= k/twiki/bin/view/Motion/BugReports=20 for open bugs. * The pwc-ioctl.h is for pwc version 9.0.1, 10.0.6 and 10.0.7a. If you= =20 still use the pwc 8 series then you need to use the headerfile=20 pwc-ioctl.h-pwc8.0 (copy the pwc-ioctl.h-pwc8.0 over pwc-ioctl.h). This is= =20 relevant for USB cameras using Philips chips. Download *=20 <http://www.lavrsen.dk/twiki/pub/Motion/MotionRelease3x2x2snap10/motion-3.2.= 2_snap10.tar.gz>http://www.lavrsen.dk/twiki/pub/Motion/MotionRelease3x2x2sna= p10/motion-3.2.2_snap10.tar.gz=20 GPG Signature Kenneth Lavrsen's public key can be found on keyservers or on this non-wiki= =20 webpage. <http://www.lavrsen.dk/publickey.htm>http://www.lavrsen.dk/publickey.htm -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQBC8xeJMeY897Av6rIRArNmAJ9ElzFk2PnssgW+3nQSw5PuUjV0ZgCgpBdB cLG11hollmPBEGlc1656QYs=3D =3D6l7e -----END PGP SIGNATURE----- --=20 Kenneth Lavrsen, Glostrup, Denmark ke...@la... Home Page - http://www.lavrsen.dk=20 |