Lots accomplished!
1) Delta and blend SSE and standard alogirthms inside
2) Changed event streaming to use sendfile() syscall if available
3) Direct memory capture (Less memcpys required)
4) Added macros for BGR24 and RGB32(and its variants) formats
5) Modified Monitors database table to add a target colorspace option
6) Changed most image buffer allocations to be on 16 byte boundary, work still in progress
7) Added Target colorspace instead of the old colours selection. this one also visible to local cameras
8) Replacing Y deltas option with ZM_CPU_EXTENSIONS
9) Added SSE detection code
10) Changed some code to make linking success with inlining enabled.
11) Some other changes and work still in progress for some listed above
Getting closer and closer everyday.
1) Fixed many errors to get it to compile
2) Fixed some small bugs
3) Small other changes
1) Relocated conversion functions and tables to zm_image.cpp
2) SSE2 aligned memcpy now functional
3) Fixed fill functions bug from an earlier commit
4) Many changes to zm_local_camera.cpp format selection
5) Fixed memory leak in AssignDirect()
6) Fixed Target Colorspace webinterface issues
7) Small other changes
1) Added image size requirements to ensure proper alignment
2) Changed image class buffer related functions
3) Improved format selection for local cameras
4) Removed imagesize check for swscale
5) Fixed mmap unexpected memory size when changing capture options
6) Fixed unrelated bug in zmdc.pl: sockets directory doesn't exist
1) Completed ffmpeg code
2) Minor changes to zm_local_camera.cpp
1) Changed ZM static colours to RGB order instead of HTML(BGR) order
2) Allow ZM to compile without swscale - hopefully
3) Saved few cpu cycles during image blending
4) Fixed wrong zone colours showing up
5) Unrelated fix: Allow ZM to be compiled with the latest ffmpeg revisions
1) Removed the mmap file removal at shutdown.
2) ZoneMinder should now compile cleanly wihout swscale
3) Fixed multiple monitors capturing from the same device and channel.
Current code allows for multiple monitors sharing the same device, each on a different channel
Or, multiple monitors sharing the same device, all on the same channel.
In both cases, capture method, width, height and palette must be identical on all monitors.
However, target colorspace can be different because each monitor handles the format conversion separately.
1) Made shared memory 16 byte aligned and identical size and layout for all platforms.
2) Fixed a bug in zmwatch.pl: Not freeing shared memory handles between iterations.
3) Modified default monitor options to simplify new monitor creation.
1) RTSP support for direct capture and target colorspace.
2) Hopefully fixed the mmap unexpected shared memory size completely this time.
3) Added 32bit RGB and grayscale support to the signal checking.
4) Fixed zms\nph-zms keeps running after changing capture options, eating CPU and has to be killed with -9.
5) Default monitor options changed again.
6) Fixed unrelated bug: Undefined constant ZM_V4L2 in monitor probe.
7) Fixed unrelated bug: Error in offset X in monitor probe.
8) Changed monitor probe's prefered capture settings.
9) Small other minor changes.
1) Added back the colour SSE2 delta algorithms
2) Modified SSE algorithms to use one less register
3) Fixed AlarmedPixels motion detection
Some small changes
1) Fixed wrong size calculation in Image::AssignDirect.
2) Improved libjpeg subpixel order selection.
3) Finished adding support in the simple Overlay function.
4) Completed Flip and Rotate 32bit RGB support.
5) Allow ZM to compile on 32bit with omit frame pointer disabled by defining _DEBUG
   To use one less register in the SSE algorithms.
6) Removed the counter variable in some loops to reduce loop overhead.
7) Modified crop query error handling.
8) Most of the shared data now declared as volatile.
9) Small improvements to the AlarmedPixels motion detection.
10) Changed the default blend percent from 7% to 12%.
11) Fixed an earlier bug created by me: motion detection checking the wrong pixels.
1) Rebased to 1.24.4
2) Reverted to stock zmdc.pl.in and zmwatch.pl.in because the bugs are fixed
3) Updated configure and Makefile files
1) Some more work on the overlay function.
2) Got rid of some compiler warning messages.
Small code fixes
1) Removal of the ZM_LOCAL_BGR_INVERT option.
2) Allow FPS reporting interval to be zero again.
3) Added translation for the new texts.
4) Corrected the blend function declaration.
Undo translations in es_es.php because its not available in the ZM 1.24.4 package.
1) Added support for the new formats to the mpeg code.
2) Fixed unwanted extra call to set video format for local cameras.
3) Small changes to the perl shared memory types.
1) Replaced the blend and delta algorithms with newer versions that use 1 less register and 1 less instruction per iteration.
2) Fixed small bug in rgb_convert
1) Reloaded zm_event.cpp to hopefully fix its issues once and for all.
2) Added backup code in case sendfile() fails.
3) Fixed a bug that allowed to link a monitor to itself, which can cause alarm lasting forever once triggered.
Fixed bug in linked monitor loading code which should fix the crash of a monitor linked to a disabled monitor.