File: CREDITS

package info (click to toggle)
motion 4.3.2-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid
  • size: 4,020 kB
  • sloc: ansic: 26,372; makefile: 83; sh: 59
file content (1482 lines) | stat: -rw-r--r-- 83,548 bytes parent folder | download | duplicates (3)
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
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
     restart so all the many internal buffers can be initialized properly.
   * 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.
   * 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.
     http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x11x13x115016
   * 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.
   * 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.
   * 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/twiki/bin/view/Motion/PwcConfiguration
   * Implemented fix for missed snapshots with slow network cameras
     http://www.lavrsen.dk/twiki/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.
     http://www.lavrsen.dk/twiki/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.
     http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2005x10x08x150720
   * 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.
   * 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.
     http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2006x03x09x012244
   * text_changes now shows a '-' when motion detection is paused instead of
     just showing 0
     http://www.lavrsen.dk/twiki/bin/view/Motion/FeatureRequest2006x03x16x095713
   * Improved reporting of thread numbers during startup in setup mode.
     (Peter Smith and Kenneth Lavrsen)
     http://www.lavrsen.dk/twiki/bin/view/Motion/SlightlyImprovedThreadCreationLogging
   * 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
   * Altered the risky use of sprintf to snprintf in all places related to
     use with config strings that can become very long.
   * Removed the minimum_gap feature which was utterly useless
   * Added new feature: minimum_frame_time which enables capturing at a lower rate
     than 2 frames per second (Kenneth Lavrsen and 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.
   * Smartmask overlay feature did not set intensity correctly.
   * Fixed the thread number assignment which could goof up if netcams started very
     quickly before all thread were created at startup.
   * Fixed name space clash with libjpeg8
     http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2010x01x22x084753

Mike Lees
   * Added the onffmpegclose feature.
   * Fixed a serious stability issue related to syslog not being a fully
     re-entrant function.
   * Implemented the new brightness, contrast, hue, saturation features
     http://www.lavrsen.dk/twiki/bin/view/Motion/BrightnessContrastPatch

Wim Lewis

   * Added EXIF feature for jpeg images , http://www.lavrsen.dk/foswiki/bin/view/Motion/ExifTaggingPatch

Michal Licko
   * Track pan/tilt support for uvcvideo ( Michal Licko ,Dirk Wesenberg and Angel Carpintero )
     http://www.lavrsen.dk/twiki/bin/view/Motion/LinuxUvcTrackingPatch

Michael Luich

   * Added codec Ogg/Theora as new output format for regular movies.
     http://www.lavrsen.dk/foswiki/bin/view/Motion/OggTimelapse

Bill Maidment
   * Fixed bug reporting errors when creating symlink to last snap.

Philip Marien
   * Fixed a problem when compiling with --without-v4l configuration.

Jeroen Massar
   * IPV6 for http-control and webcam stream not netcam yet http://www.lavrsen.dk/twiki/bin/view/Motion/IPv6
     (Jeroen Massar & Angel Carpintero)

Lionnel Maugis
   * ffmpeg code

Andrew McCarthy
   * Added the netcam functionality to the original axis code.

Ian McConnell
   * Fixed the problem with Netcams and mask files.
   * New despeckle feature.
   * Flexible on screen display feature based on strftime.
   * Flexible strftime based path names.
   * Fixed problem with snapshot names when name is lastsnap.
   * Fix for snapshots when using the "lastsnap" filename.
   * Provided "timelapse closes mpeg file when set to zero" feature.

Randy McEoin
   * For adding the onmpeg command.

Marcel J.E. Mol
   * new show.cgi and genhtml.sh, -a without alarm, both motion
     and normal images, various improvements and ideas

Sean Murphy
   * Executing external commands

nemosoft
   * For his differential view in the camstream program.
     It inspired me (Jeroen) to make this. And for a great program to
     test my video loopback support. (www.smcc.demon.nl/camstream/)

nullset?
   * For the ir script to turn motion and lights on and of

Onakra
   * Fix choose v4l2 palette , http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2008x01x21x043812

Mikko Paananen
   * Changed netcam open to use pipes and fixed authentication.

Bill Payne,
   * External pipe to allow external video encoders 
     http://www.lavrsen.dk/twiki/bin/view/Motion/DarkwindHackeronMotionPatching (Angel Carpintero, Bill Payne)

Bowser Pete
   * Add swf codec to video creation.

Asbjørn Pettersen
   * Netcam_ftp code fixes (Angel Carpintero and Asbjørn Pettersen)
     http://www.lavrsen.dk/twiki/bin/view/Motion/NetcamWithFtpEnhancements

Pawel Pierscionek
   * Signal blocking during ioctls.
   * Greyscale blowup optimization

Philippe Possemiers
   * For fixing the bug that prevented external commands, mail
     and sms from being called at the first event.
   * And for writing the send_jpg.py script.

Alan Post
   * Pointed me to the exit(-1) instead of exit(1) calls.

Christopher Price
   * 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 Angel
     Carpintero).
     http://www.lavrsen.dk/twiki/bin/view/Motion/StreamingNetcamWithoutCurl
   * Netcam fixes and debug code by Christopher Price
     http://www.lavrsen.dk/twiki/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
   * Netcam Stability Patch version snap6-post1
      * 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
   * Netcam Stability Patch version 3.2.1-snap7-post1
      * Added support for non-streaming (image based) netcams without
        content-lengthheader.
   * Contributed 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.
   * More Netcam Stability Fixes (snap10-post1-6)
     http://www.lavrsen.dk/twiki/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.
   * More Netcam Stability Fixes (snap11-post1-4) (Christopher Price)
     http://www.lavrsen.dk/twiki/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.
   * More Netcam Stability Fixes (snap12-post1) (Christopher Price)
     http://www.lavrsen.dk/twiki/bin/view/Motion/NetcamStabilityPatch
      * 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.

Dietz Proepper
   * Always output diff count and output image type selection

rasca
   * A lot of the code in motion.c comes from his vidcat program
     which is part of the w3cam package. (jpeg creation and parts
     of the image capture function)
     (www.hdk-berlin.de/~rasca/w3cam/)

Michael Reuschling
   * 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/twiki/bin/view/Motion/BugReport2005x01x31x211756

Petter Reinholdtsen
   * Adding the install option to the makefile.

Isaac Richte
   * V4L2 fourcc GRBG not supported, updated default value for v4l2_palette 17.
     http://www.lavrsen.dk/foswiki/bin/view/Motion/BugReport2009x10x29x222753

Marius Rieder
   * 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).

James A. Russo.
   * Implemented ffmpeg_timelapse_mode feature.
   * Implemented enhanced SQL features. This adds logging of mpeg
     and prediction events to the MySQL/PostgreSQL feature.
   * Replaced the mime file types by a more refined filetype
     scheme that allows more refined control for SQL and other
     future control.

Jason Sharpee
   * Avoid random errors , initialising some structs for V4L1
     http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2007x11x26x010755 (Jason Sharpee & Angel Carpintero)   


Pete Shipley
   * Fix the problem that happens in FreeBSD and Debian Sarge because
     version of ffmpeg is LIBAVFORMAT_BUILD < 4629. ( Angel Carpintero and Pete Shipley)
     http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2006x01x12x120335

Gunnar Skjold     
   * Fixed http pause feature so that pausing thread 0 now pauses all threads.
     http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2006x07x10x111239

Peter Smith
   * Improved reporting of thread numbers during startup in setup mode.
     (Peter Smith and Kenneth Lavrsen)
     http://www.lavrsen.dk/twiki/bin/view/Motion/SlightlyImprovedThreadCreationLogging
   * Ffmpeg code mutex locking fix
     http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2006x04x07x164654
   * Ffmpeg avicodec logging improved (Peter Smith and Kenneth Lavrsen)
     http://www.lavrsen.dk/twiki/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/twiki/bin/view/Motion/LoggingEventFix

Roberto Spadim
   * 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

Daniel Sterling
   * Studies of the performance of Motion.
   * Night compensation fix.
   * 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 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 more comments to motion.c and conf.c.
   * 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.
   * Fixed a calculation error in alg_diff_fast().

Tommy Svensson
   * Wrote the original patch for supporting pan/tilt with Logitech
     Quickcam Sphere/Orbit

Timo Taskinen
   * Added Flash video format (FLV) to ffmpeg.   
     http://www.lavrsen.dk/twiki/bin/view/Motion/FeatureRequest2007x07x19x131921

technolust.cx
   * For hosting motion.technolust.cx

Mark Thomas
   * Created the original thread patch for motion enabling motion to
     watch multiple cameras.

Dirk Traenapp
   * Added the mpeg creation on exit and SIGUSR1, also made the start
     for max_mpeg_time.
   * Found the 'strtok' call that caused motion to crash under RH7.0

Jukka Ukkonen
   * 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

Moshe Van Der Sterre
   * 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/twiki/bin/view/Motion/PwcConfiguration

Folkert Van Heusden
   * Maintained the code from version 3.1.9 till 3.1.12-rc1
     Including features like..
   * Error reporting to syslog.
   * Better memory allocation.
     low_cpu feature extension to configurable frame rate.
   * First work on Logitech Sphere/Orbit tracking.
   * Implemented original pre-record feature.
     Misc code optimisations
   * Closed 2 memory-leaks (two 'FILE *' were not closed) in the
     webcam-interface.

James Van Vleet
   * CPU VIA Ezra C3 autodetection support added.
     http://www.lavrsen.dk/twiki/bin/view/Motion/VIAEzraC3Patch	

Simon Walls
   * Netcam Keepalive and HTTP/1.1 http://www.lavrsen.dk/twiki/bin/view/Motion/FeatureRequest2007x01x22x231542 
   * Better debug in netcam for "Error reading image header" 
     http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2008x02x27x092849 (Simon Walls)

Sean Watkins
   * Created a centralized logging function that became event()

Joerg Weber
   * Added the new labeling motion detection feature.
   * Added the new Smartmask feature.
   * Implemented new preview patch (Joerg Weber)
     http://www.lavrsen.dk/twiki/bin/view/Motion/PreviewShotsPatch
   * Implemented an improvement of Smartmask so that the mask is cleared when
     the smart_mask_speed is set from a non-zero to zero
   * Implemented an improvement of noise_tune with smart mask (and probably
     also in general)
   * Added Best Preview Patch
     http://www.lavrsen.dk/twiki/bin/view/Motion/BestPreviewShot
   * 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.
     http://www.lavrsen.dk/twiki/bin/view/Motion/SetupModePatch
   * Fixed a bug in noise tune which was most visible at very low light.
   * Improved console output in setup mode. Now also outputs threshold.
   * Improvement in the noise-tune algorithm.
   * 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/twiki/bin/view/Motion/OnXxxCommandsPatch and
     http://www.lavrsen.dk/twiki/bin/view/Motion/OnXxxxFeatureDiscussion
   * Fixed small bug when pre_capture buffer is resized during operation.
   * Changed the order of drawing the red mask in setup mode so that the
     smartmask is drawn after the fixed mask.
   * 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.
   * Improved the labelling algorithm so that locate feature and tracking
     features includes all labelled areas above threshold.
     http://www.lavrsen.dk/twiki/bin/view/Motion/ImprovedLabellingPatch
   * Make the creation of reference frame and the decay mechanism depending
     on how much motion was detected relative to threshold setting.
     http://www.lavrsen.dk/twiki/bin/view/Motion/ReferenceFramePatch
   * Removed low_cpu feature.
   * Removed night_compensate feature
   * Implemented a new reference frame algorithm to improve object recognition and location.
   * Improved smartmask feature: real moving objects don't trigger the mask anymore.
   * Added area_detect feature.
   * Add draw a RED box around the movement as default.
   * Split locate_motion into separate 'mode' and 'style' option to allow all
     possible combinations.
   * Gapless_event mode.
   * Limit detection rate to 3fps at framerates above 5fps, to reduce CPU load.
   * Fixed mask overlay in setup mode is now green instead of white.
   
Dirk Wesenberg
   * Track pan/tilt support for uvcvideo ( Michal Licko ,Dirk Wesenberg and Angel Carpintero )
     http://www.lavrsen.dk/twiki/bin/view/Motion/LinuxUvcTrackingPatch	

Tristan Willy
   * Wrote Axis 2100 support and added the check for ~/.motion/motion.conf

Robert Eugene Wood
   * Inverse pixels for locate box.

Andreas Wrede
  * Allow compile with NetBSD and make LP64 compliant video_freebsd.c 

Damian Wrobel
   * Fix a segfault adding correct size to be used for bayer2rgb24(). 
     http://www.lavrsen.dk/twiki/bin/view/Motion/BugReport2007x03x30x175913

Yieldtech
   * These guys are making a complete linux based security system
     with motion as one of its components.
   * They did the mysql support, new fileformat and the symbolic
     link to the snapshots. You can find them at yieldtech.cz

Christian W. Zuckschwerdt
   * Modified the Makefile and configure files to be more flexible.



Everybody who has contributed ideas, bugreport and remarks to this project