This commit includes:
1. Consolidate functions into appropriate modules
2. Rename modules to reflect contents (v4l2, bktr, common)
3. Combines v4l2 and bktr so they can be used together
4. Implements functional prefixes
5. Uses HAVE_V4L2, HAVE_BKTR instead of WITHOUT_
6. Include pthread_np.h for FreeBSD
The webp image format option is not available on older distributions
This commit revises the default for the webp to OFF. Once the older
distributions reach EOL, the default can be changed back to ON.
This commit fully implements the privacy mask on all color components of the image.
Since activity could still be detected with just the cr/cb this change addresses
putting the mask on these color components in addition to just the y component.
It also changes the mask to black since we have to manually assign the cr/cb
to x80 to have it reflect a acceptable color for the masked area.
Only basic webp compression is supported (the only tunable is 0-100%
compression adjustment), without EXIF metadata.
Motion build scripts are configured to build in the support by default
and will emit an error if the needed library is missing. Suport can be
manualy disabled at configuration stage adding --without-libwebp.
Documentation update will follow in a separate commit.
Tested on x86-64 Linux only.
Previously the post_captured images were only saved when using
ffmpeg_output or use_extpipe. This changes the behavior to always save
them when post_capture is > 0.
This commit resolves a regression error when selecting the without-ffmpeg option.
1. The ffmpeg configuration options are now valid whether or not the user has
included ffmpeg. Instead the user is notified when ffmpeg options are
requested.
2. The initial consolidation of the HAVE_FFMPEG duplicated the public functions
in the #else (no ffmpeg) section. This commit changes this so that the #IF
are inside of the public functions so we don't have to worry about keeping
the parameters the same between them.
3. The timevalue was added to the ffmpeg header for the situation when
ffmpeg is not included.
This commit includes three revisions to the CMakeLists.txt
1. Unset the ffmpeg and sqlite3 from the cache so that user
revised parameters are recognized.
2. Revise the WITHOUT_V4L2 conditions. For each distribution
have the CMakeList look for the headers that are applicable
for that distribution.
3. At the end of the CMakeList, print out messages to the developer
indicating some of the values that resulted from cmake.
This commit cleans up some of the items for the v4l2loopback.
Replace tabs with spaces
Replace printf with MOTION_LOG
Update guide to eliminate instructions for building old vloopback
New v4l2 does not support the - option
This update removes the components for v4l and implements only
the v4l2 and BSD option. This commit also consolidates some
of the pre-processor directives and only uses the WITHOUT_V4L2
instead of the multiple. The checks for the HAVE_LINUX_VIDEODEV2_H
were removed from the code because the WITHOUT_V4L2 is actually
set based upon the existance of the HAVE_LINUX_VIDEODEV2_H.
Finally, this renames some files to be more consistent.
The PTS is based upon the actual time associated with the image
when we have the motion->no motion->motion situation, the second
motion is setting the time from that image and calculating the
duration from the initial start of the movie. During this entire
sequence, there is a ffmpeg_output defined. This commit resets the
starting time after there is a period of no motion.
This commit adds the functionality to completely mask out
user specified areas of the images via a pgm file. The
masking is applied only to the y component of the image
From reviewing the resulting image, it does not appear that
it is necessary to apply the mask to the cr or cb components.
It may be desired to apply the mask to these components in the
future to have a true digital mask rather than just a visual
mask. As indicated in the code comments, the resulting blocked
section appear as white in the images since this facilitates
quicker processing.