forked from Motion-Project/motion
-
Notifications
You must be signed in to change notification settings - Fork 1
/
CREDITS
1482 lines (1378 loc) · 81.6 KB
/
CREDITS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Thanks go to:
Jeroen Vreeken
*** Original writer of this great program! ***
From 3.1.12 these contributions:
* Rewrite of PWC tracking code.
* Motion-control action.quit fix.
* 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.
Kalle Andersson
* Created a 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.
Ryan Ayers
* Implemented 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.
* Improved configure's ability to find custom installations of
ffmpeg.
* Misc. cosmetic changes in the code.
* Rewrote the ffmpeg functions completely added support for
new codecs/formats mpeg4 and msmpeg4. mpeg1 was improved also.
* Misc. improvement of the mpeg4 feature and new ffmpeg code.
Paul Beltrani
* Implemented a fix/work around to a bug related to building and installing
RPMs on Suse.
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x07x14x212356
Michael Newlyn Blake
* For setting up the motion mailinglist and the onsave command.
Krzysztof Blaszkowski
* Removed a duplicate call to jpeg_destroy_decompress already is called from netcam_image_conv.
* Added V4L2 support http://www.lavrsen.dk/twiki/bin/view/Motion/VideoForLinuxTwoDiscussion, (Krzysztof Blaszkowski, Angel Carpintero).
Mathias Bogaert
* Lots of good ideas and the motion logos
William M Brack
* Added patch that enables Motion to work with vloopback version 0.94
and kernel 2.6.10+.
http://www.lavrsen.dk/twiki/bin/view/Motion/MotionAndVloopbackVideoDotCPatch
* Added support in configure for athlon64 from
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x01x30x190907
(Angel Carpintero and William M Brack)
* Fixed some gcc warnings
* Code cleanup from a valgrind analysis.
* Implemented WebcamShortWriteHandling patch
http://www.lavrsen.dk/twiki/bin/view/Motion/WebcamShortWriteHandlingPatch
* 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)
* Complete rewrite of the Netcam code. Should fix many of the reported and
still open netcam bugs.
http://www.lavrsen.dk/twiki/bin/view/Motion/NetcamCodeRewritePatch
* Improved the error reporting in the Netcam code and did a few minor
corrections and code cleanups.
* 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.
http://www.lavrsen.dk/twiki/bin/view/Motion/ErrorLoggingEnhancementPatch
* Fixed a buf in video.c so that VIDEO_PALETTE_GREY cameras now actually work.
* Re-mplementation of optional Proxy Server for Network Cameras.
http://www.lavrsen.dk/twiki/bin/view/Motion/NetcamProxyServerPatch
* Added the missing rotate feature in the new netcam code (Billl Brack)
* Netcam error handling improvements and cleanup from Valgrind analysis.
* 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.
* 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.
http://www.lavrsen.dk/twiki/bin/view/Motion/ReduceWarningsPatch
* Fixed error message with unknown config option.
* Enhanced compatibility with Lumenera.
* Moved the motion_loop initialization into a new function motion_init.
* netcam code now waits for the next frame to arrive for a limited period
in order to avoid too many duplicate images.
* Last --with-developer-flags warnings eliminated simply by swapping the
order of the #include statements in the sources (Bill Brack and Kenneth Lavrsen).
* Enhancement to Netcam Code for Connection to Pixord Cameras.
http://www.lavrsen.dk/twiki/bin/view/Motion/NetcamFixPixordBug
* Fix related to connecting to the netcam. From mailing list 23 Dec 2005.
* Fixed problem related to fetching images from Network camera and error
handling when it fails. Motion would end in infinite loops.
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2006x03x10x000151
* Fix conv_uyvyto420p segfault.
* Enhancing the palette selection.
John Bray
* Get current directory to allow write motion.conf properly
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2008x02x25x013419
Andy Brown
* Add swf codec to video creation (on behalf of Bowser Pete).
Ashley Cambrell
* PostgreSQL support, put_jpeg_grey(), webcam bugfixes.
Angel Carpintero
* Improved configure process which automatically detects presence
of xmlrpc-c and ffmpeg and makes the Makefile accordingly.
* Improvement of configure reporting of missing shared libraries.
* Fix for building motion without ffmpeg (missing #ifdef round newly
added ffmpeg timelapse code)
* Implemented RH (sysV) and Debian type control scripts for /etc/init.d
* Memory clean-up improvements when Motion exits normally.
* Provided several improvements of error handling.
* Ported Motion to FreeBSD.
* Created the spec file so that Kenneth can build RPMS when releasing
Motion.
* Improved error handling for the netcam functions.
* Implemented fix for compiling errors when building the FreeBSD version
without bktr support.
* Added a new config option --without-optimizecpu which disables the
CPU specific compiler optimizations introduced with the rotate phase 2
patch.
* 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. (with
Christopher Price).
* Improved the Netcam patch (Angel Carpintero)
http://www.lavrsen.dk/twiki/pub/Motion/StreamingNetcamWithoutCurl/
(pre2 patch fixes problem with not detecting Content-length and segfaults
in netcam)
* 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. (with Kenneth Lavrsen)
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2004x10x26x134906
* Improved the Netcam patch (Angel Carpintero)
http://www.lavrsen.dk/twiki/pub/Motion/StreamingNetcamWithoutCurl/
(pre3 reconnection feature added)
* Fixed several bugs in new netcam code introduced in 3.1.18
(Angel Carpintero)
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x01x16x030209
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x02x01x071546
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x02x03x035918
* 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
* Major new feature. XMLRPC is replaced by a simpler http remote control
interface.
http://www.lavrsen.dk/twiki/bin/view/Motion/MotionHttpControl
* Fixed netcam->userpass problem
* Added support in configure for athlon64 from
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x01x30x190907
(Angel Carpintero and William M Brack)
* Updated code so Motion again runs on FreeBSD.
* Removed check for memmem from configure.
* Updated http control interface so that an additional check is done
before saving config files.
* Fixed a problem with URLs http://192.168.1.3:8080/0 which did not
work without a trailing space.
* Fix the compile issue with official ffmpeg packages from debian.
* Added basic authentication to the http control interface introducing new
config option control_authentication.
* Fixed memory leak when restarting Motion from http control.
* Small improvement in configure script for Debian.
* 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.
* http interface small fixes (motion-3.2.1_snap14-small-fixes 1.1) incl
Add 'back' link to response_client errors.
http://www.lavrsen.dk/twiki/bin/view/Motion/MotionHttpControl
* Made the http control interface more RFC compliant.
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x05x02x180550
* 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/twiki/bin/view/Motion/BugReport2005x05x02x205307,
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x05x07x042849
* In httpd control code: Fixed RAW syntax following API specs.
http://www.lavrsen.dk/twiki/bin/view/Motion/MotionHttpControl
* MotionHttpControl Patch motion-3.2.1_snap18-pre1 v,1.0 19 May 2005.
Fixed some HTTP response codes and added header copyrights.
http://www.lavrsen.dk/twiki/bin/view/Motion/MotionHttpControl
* Fixed problem compiling "ffmpeg reports only YUV420 is supported" when
ffmpeg is a recent CVS version.
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x05x22x213229
* Bug fix in netcam code: Sometimes motion try to free an invalid memory area
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x05x21x105335
* Small configure fix related to --without-v4l.
* Fixes for http control HTML code.
* Added init script to RPM.
* Pthread deadlock in motion 3.2.1 fixed.
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x05x26x125712
* http lockup bugfixes and ConvertSignalToSigaction only for webhttpd
* alg_draw_location: Use temporary variables to store the values used in
for() loops instead of compute them in each loop
http://www.lavrsen.dk/twiki/bin/view/Motion/ImproveAlgDrawLocation.
* Small speed boost to the function draw_textn (Andrew Hamilton and
Angel Carpintero).
http://www.lavrsen.dk/twiki/bin/view/Motion/DrawTextnImprovement
* 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.
http://www.lavrsen.dk/twiki/bin/view/Motion/AvoidCleanupSegfault
* Changed the configure script so that rpms can be made by normal non-root
users.
* Above change in configure script for 64 bit ffmpeg support also implemented
in the freeBSD configure.
* Webhttp control interface fixed so it also works in FreeBSD.
* Fixed a bug in the webhttpd code related to pan/tilt. Bug was introduced in
snap4 (Angel Carpintero, Kenneth Lavrsen).
* Implemented the libjpeg-mmx patch. Installing the MMX version of libjpeg
can increase performance. Especially for machines with very little CPU power.
It only modifies the configure script. If you do not have the libjpeg-mmx
the configure script with ignore this and use the standard libjpeg.
Note that RPMS will be built without this (Peter Holik and Angel Carpintero).
http://www.lavrsen.dk/twiki/bin/view/Motion/LibJpegMmx
* Fixed memory leak in webhttpd related to use of strdup.
* Error Logging Enhancement Patch v 1.3 including:
* 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
* http://www.lavrsen.dk/twiki/bin/view/Motion/ErrorLoggingEnhancementPatch
* 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'.
http://www.lavrsen.dk/twiki/bin/view/Motion/MotionHttpControl.
* Fixed a bug in the http control code that failed to accept a client
connecting in some systems
* 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.
http://www.lavrsen.dk/twiki/bin/view/Motion/ReduceWarningsPatch
* Fixed small mistake in allocating memory for cnt->imgs.common_buffer.
* 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".
* http control: selectbox instead of a textfield for changing boolean configs
(Peter Holik and Angel Carpintero)
http://www.lavrsen.dk/twiki/bin/view/Motion/WebhttpEnhancements.
* Added the debian sub directory so that people can build the deb package.
* Sync configure.in.freebsd (adding support for jpeg-mmx, developer-flags and
some cosmetic changes ).
* Implemented --with-developer-flags fixes in FreeBSD code.
* In v4l_start change map from unsigned char * to void * to be ANSI C compliant
with mmap
* http control: Changed disabled to (not defined) when displaying option list.
* 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.
* Implemented fix to configure so that LDFLAGS from the environment are used
when making the Makefile.
http://www.lavrsen.dk/twiki/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.
* Added the %t conversion specifier to show the thread number.
http://www.lavrsen.dk/twiki/bin/view/Motion/ThreadConversionSpecifierPatch
* Fixed bug related to init of mutex in netcam code.
* Netcam_ftp code fixes (Angel Carpintero and Asbjørn Pettersen)
http://www.lavrsen.dk/twiki/bin/view/Motion/NetcamWithFtpEnhancements
* Enhanced ffmpeg detection.
http://www.lavrsen.dk/twiki/bin/view/Motion/BetterFFmpegDetection
* 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/twiki/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.
* Fixed misc problems in FreeBSD.
* 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 http control of pan and tilt.
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x12x22x122649
* Fixed sql_mask not initialised correctly
http://www.lavrsen.dk/twiki/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.
http://www.lavrsen.dk/twiki/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.
http://www.lavrsen.dk/twiki/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/twiki/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)
* Added Tilt support to stepper track.
* Fixed mysql configure auto-detection for x64 systems.
http://www.lavrsen.dk/twiki/bin/view/Motion/SupportQuestion2006x03x02x152208
* 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/twiki/bin/view/Motion/WebHttpManyThreads
* Removed annoying debug messages (v4l_set_input really needed ?) in the FreeBSD
version.
* Added new feature: minimum_frame_time which enables capturing at a lower rate
than 2 frames per second (Kenneth Lavrsen and Angel Carpintero)
* Fix segfault when netcam_url has no service ( http , ftp )
* Fixed interlace issue with METEOR_GEO_EVEN_ONLY in FreeBSD
* Fixed possible syntax error in configure related to MySQL
* Put a new global mutex around avcodec_close to avoid problems with not thread
safe functions in ffmpeg
* Put a new global mutex around avcodec_close to avoid problems with not thread
safe functions in ffmpeg.
http://www.lavrsen.dk/twiki/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/twiki/bin/view/Motion/BugReport2006x07x08x070417
* For BSD platforms changed to using native pthreads as default and adding
linuxthreads as a optional parameter from configure.
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2006x07x08x071646
* Added process_id_file feature
http://www.lavrsen.dk/twiki/bin/view/Motion/FeatureRequest2006x06x06x123003
* Add connection status for all devices available from http web interface.
http://www.lavrsen.dk/twiki/bin/view/Motion/FeatureRequest2006x11x09x050638
* Improved deb packaging , install the init.d script.
* Reconnect to mysql if connection dropped.
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2006x10x10x081903
* Track pan/tilt support for uvcvideo ( Michal Licko ,Dirk Wesenberg and Angel Carpintero )
http://www.lavrsen.dk/twiki/bin/view/Motion/LinuxUvcTrackingPatch
* Added V4L2 support http://www.lavrsen.dk/twiki/bin/view/Motion/VideoForLinuxTwoDiscussion, (Krzysztof Blaszkowski, Angel Carpintero).
* Added support for V4L2_PIX_FMT_SBGGR8 ( bayer ), V4L2_PIX_FMT_SN9C10X, V4L2_PIX_FMT_MJPEG and V4L2_PIX_FMT_UYVY.
* Added a FreeBSD directory to allow people from BSD to get a daily version and create a port.
* Removed mysql dependency from debian package and added a note to setup motion to run as daemon to create the pid file.
* 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
* Fix an error in FreeBSD , the use of capture even fields depends on height value.
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2006x12x03x073610
* Fixed autodetection for VIA cpu , no needed to use --without-optimizecpu. Added many others.
* Fix , don't remove pid file when motion reload config file( HUP signal ).
* Fix compilation broken by uvc track type.
* Fix RoundRobin v4l2 buffers in driver when switching input,
http://www.lavrsen.dk/twiki/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/twiki/bin/view/Motion/BugReport2007x06x05x012249
(Jared D and Angel Carpintero).
* Added MYSQL_OPT_RECONNECT flag for mysql connection (MYSQL 5.x only) and
changed default value for mysql_host.
* Fix http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=391055 , change
motion man page , -d requires level.
* Handle mjpeg decoding and fix colour issue adding mjpegtools dependency
http://www.lavrsen.dk/twiki/bin/view/Motion/MjpegColorIssue
http://www.lavrsen.dk/twiki/bin/view/Motion/MjpegToYUV420pPatch
(Marius Rieder, Angel Carpintero).
* Fix segfault in webhttpd.c on motion restart.
* Fix segfault in debian http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2007x09x24x175945
* Add debug level > 5 to get logs from v4l2_select_input, v4l2_set_control and v4l2_set_input.
* Removed debian ( to avoid conflicts with debian package) and FreeBSD
( no needed to deploy BSD port here ) directories.
* Improve debian package, create user/group motion and added --chuid motion to init script.
* Added help in http control http://www.lavrsen.dk/twiki/bin/view/Motion/FeatureRequest2007x11x19x181541
* Fixed http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2007x10x23x093651
* Fix process_id_file when is passed from command line
* Fix http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2007x10x27x150419
* Added Choose V4L2 palette http://www.lavrsen.dk/twiki/bin/view/Motion/FeatureRequest2007x11x19x032318
* Improved in http control ( 'back' link, select box, show current values when are going to be changed ).
* Fix http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2007x11x25x102808
* Avoid random errors , initialising some structs for V4L1
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2007x11x26x010755 (Jason Sharpee & Angel Carpintero)
* Fix motion segfault because ffmpeg API change
http://www.lavrsen.dk/twiki/bin/view/Motion/SupportQuestion2007x12x29x17553
* 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)
* Fix broken PostgreSQL detection for custom location,
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2008x02x25x025134
* Fixed stepper when is used track_auto on.
* Added to configure.in --with-pwcbsd to allow compile motion in freebsd with webcam support instead of bktr.
* IPV6 for http-control and webcam stream not netcam yet http://www.lavrsen.dk/twiki/bin/view/Motion/IPv6
(Jeroen Massar & Angel Carpintero)
* Fix a security issue in web control interface http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=484572
* Fix Problem Encoding 1280x1024 resolution videos
http://www.lavrsen.dk/twiki/bin/view/Motion/SupportQuestion2008x06x11x183727
* Add write/read nonblock functions in webhttpd( timeout on read/write).
* Add a new parameter netcam_tolerant_check, to be less strict with some buggy network cameras firmwares.
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2008x06x19x123218
* Remove mjpegtools dependencies and integrate only needed functions from library.
* Fix rotate for v4l2 devices using JPEG / MJPEG palettes.
* External pipe to allow external video encoders
http://www.lavrsen.dk/twiki/bin/view/Motion/DarkwindHackeronMotionPatching (Bill Payne, Angel Carpintero)
* Allow change/setup framerate in FreeBSD using pwcbsd
* Get rid of ffmpeg-config in configure.in for debian.
* Fix warning for x86_64 in conf.c using pointers LP64 compliant.
* Fix warning for syslog() , Added support for some new bayer palettes introduced in kernel 2.6.27.
http://www.lavrsen.dk/twiki/bin/view/Motion/FeatureRequest2008x10x15x130110
Increased buffer in ffmpeg to allow encoding at 1600x1200
* Avoid possible stack smashing in v4l_open_vidpipe().
* Allow compile with OpenSuse ffmpeg package (15594svn-20081010)
http://www.lavrsen.dk/twiki/bin/view/Motion/SupportQuestion2008x10x25x070400
* Avoid segfault detecting strerror_r() version GNU or SUSv3.
* Fix fd leaks in external pipe.
* Fix segfault for new libjpeg v7.
* Allow to change Standard method ( PAL / NECAM / SECAM ).
* Exit when image dimension are not modulo 16.
* Avoid logs flooding using some options of netcam_keepalive and try to discard images with
weird header Content-Lenght 0.
* Only use post capture when we setup to record videos with external pipe or ffmpeg.
* Fixed FFV1 codec encode with ffmpeg.
http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2010x04x13x032553
* No PQfinish().
* Added a conditional check for avformat_alloc_context , av_avformat_alloc_context to fix
http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2011x10x05x071936
* Added a new starting option -m to disable motion detection.
Jared D
* Change bayer2rgb24() to fix a problem with sn9c102 driver
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2007x06x05x012249
(Jared D and Angel Carpintero).
John Edwards
* Added the 'pal-nc' norm.
Dag Erlandsson
* Fix RoundRobin v4l2 buffers in driver when switching input,
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2007x07x07x182605
(Dag Erlandsson and Angel Carpintero).
* Check EIO for VIDIOC_DQBUF to workaround saa7134 problem.
(Dag Erlandsson and Angel Carpintero).
* Added the pre_capture buffer redesign to throttle load and enhance pre_capture feature.
http://www.lavrsen.dk/twiki/bin/view/Motion/PreCaptureRedesign
* Fixed a problem with locate and fixed mask overlay
* Added preview center feature.
http://www.lavrsen.dk/twiki/bin/view/Motion/PreviewCenter
* Fixed timestamp for preview pictures.
* Insert Blanking frames http://www.lavrsen.dk/twiki/bin/view/Motion/FeatureRequest2007x12x16x132522
Stephen Farrugia
* Fixing the division by zero problem.
This makes motion a lot more stable.
Michael Finsterbusch
* Add authentication methods 'Basic Authentication' and 'Digest Authentication'
to the "Live Stream Server".
http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionStreamAuthPatch
Mark Feenstra
* Fix zombies on OpenBSD.
http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2010x04x28x054348
Miguel Freitas
* Came up with the round robing idea.
David Fries
* Fix webhttpd race condition crash with SIGHUP, add it to running thread counter
* Allow text format specifiers to take a width like printf would.
* Add power_line_frequency configuration item to improve image quality.
Aaron Gage
* Pointed me to the vid_mmap/int problem when calling SYNC in
video.c
Giacomo Graziosi
* Sqlite3 support http://www.lavrsen.dk/twiki/bin/view/Motion/SQLite3Patch
Christophe Grenier
* Fixed some file descriptor leaks in webcam.c and netcam.c.
* 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()
* Contributed with most of the code for 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.
* 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.
http://www.lavrsen.dk/twiki/bin/view/Motion/ChdirNetCamWgetPatch
* In netcam-wget header_get() didn't always in add a \0 string terminator.
This was fixed.
http://www.lavrsen.dk/twiki/bin/view/Motion/ChdirNetCamWgetPatch
* Made a pthread fix.
http://www.lavrsen.dk/twiki/bin/view/Motion/PthreadFixPatch
* Implemented the conversion of signal to sigaction which should be more
thread safe. Hopefully this still keeps Motion from making Zombies.
http://www.lavrsen.dk/twiki/bin/view/Motion/ConvertSignalToSigaction
Mihnea-Costin Grigore
* Fixed the oldlayout behaviour of snapshots.
* Fixed snapshot link extension.
* Added the snapshot_overwrite option.
* Fix for correct mpeg names when using mpeg_encode.
Alain Guidez
* Fix of ffmpeg_avcodec_log code.
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2007x03x25x074612
Jan Gyselinck
* Original time/date-stamp code.
* ppm support
* Good ideas
Colling H
* New frame_limit.
Steffen Haas
* Improved on screen display by adding more symbols and lower
case letters.
Andrew Hamilton
* Small speed boost to the function draw_textn (Andrew Hamilton and
Angel Carpintero).
http://www.lavrsen.dk/twiki/bin/view/Motion/DrawTextnImprovement
* 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.
http://www.lavrsen.dk/twiki/bin/view/Motion/TextScalingPatch
* Fixed memory leak in ffmpeg code.
* Added the ffmpeg_deinterlace feature
http://www.lavrsen.dk/twiki/bin/view/Motion/MotionffmpegDeinterlace
* Added FFV1 ( FF video codec 1 ) codec , Lossless encoding
http://www.lavrsen.dk/twiki/bin/view/Motion/LosslessEncoding
* Added mov , Quicktime file format (Andrew Hamilton).
Gerrit Hannaert
* Fix v4l2_palette http://www.lavrsen.dk/twiki/bin/view/Motion/UvcvideoMjpegPatch
Peter Holik
* 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).
http://www.lavrsen.dk/twiki/bin/view/Motion/NetcamFirstHeader
* Small improvement in framerate accuracy.
http://www.lavrsen.dk/twiki/bin/view/Motion/FramerateAdjust
* Implemented a modified version of the WebcamCompressInMemory so that Motion
no longer uses the tmpfile() function for buffering the frames of the mjpeg
stream.
http://www.lavrsen.dk/twiki/bin/view/Motion/WebcamCompressInMemory
* Implemented the libjpeg-mmx patch. Installing the MMX version of libjpeg
can increase performance. Especially for machines with very little CPU power.
It only modifies the configure script. If you do not have the libjpeg-mmx
the configure script with ignore this and use the standard libjpeg.
Note that RPMS will be built without this (Peter Holik and Angel Carpintero).
http://www.lavrsen.dk/twiki/bin/view/Motion/LibJpegMmx
* Small code cleanup in webcam.c and picture.c and .h for the webcam code
(Peter Holik and Kenneth Lavrsen).
* Small speed optimization in the creation of reference frame.
* 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.
http://www.lavrsen.dk/twiki/bin/view/Motion/ReduceWarningsPatch
* Implemented a speed-up patch of the draw text feature.
http://www.lavrsen.dk/twiki/bin/view/Motion/DrawTextspeedup
* http control: selectbox instead of a textfield for changing boolean configs
(Peter Holik and Angel Carpintero).
http://www.lavrsen.dk/twiki/bin/view/Motion/WebhttpEnhancements.
* Introduced check for device image size being a multiple of 16.
http://www.lavrsen.dk/twiki/bin/view/Motion/NetcamModulo16Patch
* Fixed netcamera bug related to separating frames in an mjpeg stream.
From mailing list 23 Dec 2005.
* Avoid open file descriptor when connecting to network cameras fails
http://www.lavrsen.dk/twiki/bin/view/Motion/AvoidOpenfiledescriptors
* Fix Segfault on reload or quit for vloopback (maybe other v4l1 devices too)
http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2009x06x17x090603
* Fix warning for __USE_GNU redefined
http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2009x06x17x122137
* Use static memory allocation in ffmpeg_deinterlace()
http://www.lavrsen.dk/foswiki/bin/view/Motion/FfmpegDeinterlaceStatic
* Atom optimizacion in configure.in
http://www.lavrsen.dk/foswiki/bin/view/Motion/AtomOptimizations
Wesley Hosking
* For pointing me to the absence of a frame length check using
read for capturing
Peter Ilin
* Patch for handling vloopback pipes better when Motion receives
SIGTERM or SIGHUB
Per Jönsson
* Added the rotate feature.
* Improved the Makefile with automatic check of dependencies and
nicer output for the user.
http://www.lavrsen.dk/twiki/bin/view/Motion/MakefileWithAutoDependencies
* Improved rotate feature (speed)
http://www.lavrsen.dk/twiki/bin/view/Motion/RotatePatch
* Implemented new ffmpeg patch
http://www.lavrsen.dk/twiki/bin/view/Motion/FfmpegPatch049
* Implemented labelling speed patch
http://www.lavrsen.dk/twiki/bin/view/Motion/LabelingSpeedPatch
* Improved the signal handling of ctrl-C
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x01x06x181426
* Fixed the ffmpeg code so that Motion also compiles against libavcodec
build 4754 or later.
* Fixed a bug in the autobrightness algorithm.
* RotateBswapFix Patch v 2 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/twiki/bin/view/Motion/RotateBswapFix
* 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/twiki/bin/view/Motion/ThreadNrTlsPatch
* Simplified rotation code based on the fact that images must have dimensions
that are a multiple of 16.
http://www.lavrsen.dk/twiki/bin/view/Motion/RotateSimplificationPatch
Mike Kenney
* 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/twiki/bin/view/Motion/SupportQuestion2005x09x05x133031
http://www.lavrsen.dk/twiki/bin/view/Motion/SupportQuestion2006x06x19x174238
Rafis Khayrullin
* Fix memory management in ffmpeg.c
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2006x12x19x062432
Matthias Kilian
* Configure patch which enables configure to find and use a
dynamic library of ffmpegs libavcodec.so
Daniel Ladd
* Fixed a bug in the rgb2yuv420p function.
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x03x30x011107
Kenneth Lavrsen (Currently project managing Motion)
* Wrote the excellent Motion Guide. (Jeroen wrote this :-) )
* Fixed low_cpu to check for a 1sec. maximum wait.
* Updated manpage for 3.0.0
* New usertext additions to draw.c
* Fixed ffmpeg compatibility for ffmpeg 0.4.8
* Fixed ffmpeg instability problem
* Fixed "ioctl(VIDIOCGCHAN): Invalid argument" error
* Changed motion.conf to motion-dist.conf.
* Changed the parsing of the motion.conf and thread.conf files so
that spaces are now allowed.
* Changed the parsing of the user defined on screen display text
so that you can enclose a string in "" both in config file
and using the XML-RPC interface. Ie. you can use spaces in the
text.
* 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
drawtext_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.
* Fixed problem with strftime based names with event number %v when
event numbers were higher than 99.
* 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) (thanks Daniel).
* Added setting access rights to 644 (755 for configure) when doing
make dist.
* Small improvement on xmlrpc-api.html document.
* Fixed missing init of viddev.frequency causing VIDIOCGCHAN errors.
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.
* Kenneth Lavrsen changed the enhanced SQL config from single sql_mask
option to 5 sel_log_ options for more user friendly control.
* 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.
* A few lines of code for Dan's improved handling of config strings.
* 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.
* Small improvements in messages sent to console and syslog during
startup of Motion.
* Fixed the problem with default strings being written to thread
config files when using the XMLRPC command motion.conf.write.
* Fixed memory leaks in new ffmpeg code.
* 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.
* Added seconds and frame fields to the database feature.
* Fixed a small bug related to the filename given for onffmpegclose.
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.
* Added the new fields to the SQL security table camera (thread
number), text (text_left) and time (timestamp).
* 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.
* 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.
* Removed the obsolete Berkeley mpeg feature.
* Corrected a small error in the usage help text
http://www.lavrsen.dk/twiki/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/twiki/bin/view/Motion/BugReport2005x01x06x103939
* 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. (with Angel Carpintero)
http://www.lavrsen.dk/twiki/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.
* 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).
* 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/twiki/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 rollover happens on the hour and not one
timelapse past the hour (Kenneth Lavrsen).
* Fixed a bug in noise tune which was most visible at very low light.
* 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.9.5.
* 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.
* Fixed even more gcc 2.95 compiler errors (declarations not at beginning
of block).
* Removed a gcc 2.95 compiler warning (netcam.c:1036: warning: variable `pic'
might be clobbered by `longjmp' or `vfork').
* The values for cnt->locate and cnt->new_img are now #defines in motion.h
to enhance code readability.
* The setting of sql_mask is now only done once per second to save CPU power.
* 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.
* Added "motion-http:" prefix to error messages from the http control thread.
(Kenneth Lavrsen)
* Added additional error information when connection to MySQL fails.
* 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.
* 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.
* 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.
http://www.lavrsen.dk/twiki/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.
* Fixed a bug where motion did not work with gap=1.
http://www.lavrsen.dk/twiki/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.
* Improved the http remote control action features so that makemovie
and snapshot for thread 0 (all) works on all threads instead of being
ignored.
* Moved some code in the beginning of the motion_loop to a position later
to improve the accuracy of time calculations for the framerate.
* Improvements of motion.conf help comments including improvements in new
onxxxx options.
* Motion Guide refactored completely for 3.2.1 with better web navigation and
auto generation of pages. Makefile updated so that the Motion TWiki topic
MotionGuideOneLargeDocument is fetched when updating the guide and making
releases.
* 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.
* Changed the default values for a few options: quiet on, webcam_maxrate 1,
threshold_tune off, webcam_quality 50.
* Changed some cosmetics in the way motion.conf is written (space after #).
* Updated the motion-dist.conf to use default values unless there is a reason
not to.
* 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.
http://www.lavrsen.dk/twiki/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.
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x02x26x195358.
* Made the http control HTML responses nicer to look at as sources and
therefore easier to debug errors.
* Code style cleanup of webhttpd.c.
* 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/twiki/bin/view/Motion/BugReport2005x05x02x205307,
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x05x07x042849
* 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.
http://www.lavrsen.dk/twiki/bin/view/Motion/ExtendReplaceConversionSpecifiersDiscussion
http://www.lavrsen.dk/twiki/bin/view/Motion/GenericTrackingPatch
* Fixed a bug in switchfilter which caused motion detection to not work
when the feature was enabled.
* Fix for Unknown content type with lumenera cameras
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x05x06x174416
* Man page updated. It is now semi-autogenerated in the Motion TWiki
http://www.lavrsen.dk/twiki/bin/view/Motion/MotionOptionsAlphabeticalManpage
* Added two new convertion specifiers: %o for threshold and %Q for number
of labels.
* Improved the config file description for pre_capture to get people to
use small values.
* 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.
* Changed the configure script so that /usr/lib64 is also searched for
the presence of ffmpeg (should fix the problem with 64 bit machines).
* Changed the configure script so that rpms can be made by normal non-root
users.
* Fixed a bug in the webhttpd code related to pan/tilt. Bug was introduced in
snap4 (Angel Carpintero, Kenneth Lavrsen).
* Changed all use of localtime to localtime_r which is threadsafe.
* Modified the WebcamCompressInMemory patch so that Motion now supports the
mjpeg webcam stream while being setup for saving PPM images.
http://www.lavrsen.dk/twiki/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.
* Webcam code commented more.
* 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.
* 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)
* Fixed bug related to disabled webcam or duplicate webcam port. Error log
accept(): Socket operation on non-socket continuously written to syslog.
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x08x01x150922
* Included a CODE_STANDARD text file to help new developers make patches
that are easier to integrate without too much manual editing.
* Changed the 5 second missed camera signal timeout to 30 seconds.
* 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/twiki/bin/view/Motion/BugReport2005x08x05x173526
* Option switch filter used print_int instead of print_bool when motion.conf
was saved.
* 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.
http://www.lavrsen.dk/twiki/bin/view/Motion/ReduceWarningsPatch
* 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/twiki/bin/view/Motion/ThreadNrTlsPatch
* Removed old unused code related to read mode (not mmap) from V4L devices.
* 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.
* Last --with-developer-flags warnings eliminated simply by swapping the
order of the #include statements in the sources (Bill Brack and Kenneth Lavrsen).
* 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.
* 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.
* 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.
http://www.lavrsen.dk/twiki/bin/view/Motion/EventConvertionSpecifierDiscussion
* Renamed some variables related to time to be better descriptive of function
and type.
* 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.
* Added new SQL field event_time_stamp of the type TIMESTAMP.
* RPM specs file changed as suggested for use in the Livna repository.
* 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.
http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x10x05x212444
* Added help texts in conf.c and motion-dist.conf describing the %t
specifier. Added a good example of use in motion-dist.conf.
* 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.
* Removed the sql_user_text option that was added in snap 2
* Added new sql_query option. This in combination with convertion
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.
* Change 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
* 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