Update RaspiStill framework to provide access to the new EGL image
targets that provide a fastpath for mapping the individual YUV planes to
one byte per pixel GL_LUMINANCE buffers. These are still accessed as OES
textures so this is effectively a greyscale image created from a single
plane of a MMAL buffer.
Also added some example code (yuv, sobel) that demonstrates how to use
the new EGL image targets.
Also, add -gc to the command line to capture the GL frame-buffer as a TGA file.
Thanks to Tim Gover
Add RaspiTex.c which demonstrates how the camera preview buffers can be
bound to EGL Images and rendered via Open GLES.
To enable GL rendering add --gl to the command line and select a
GL scene
* square - A simple rotating square
* teapot - The classic teapot demo
* mirror - OpenGL ES 2.X Hall of mirrors example
Set shutter speed each loop of multi frame capture (report it loses settings after capture)
Fix bug in raspivid which stopped -t 0 running forever.
Update docs to reflect these changes, plus document a previous checkin (exif, thumb = none)
Also fixed up a print that was being output in non-verbose mode.
Update versions by 0.01
Waits on SIGUSR1 between captures.
Fixed a possible issue with black frames in timelapse mode where
-tl 0 is used. Ensures the first frame has plenty of time to get its exposure
right.
to add new 'fire next capture' options. Makes the looping
easier to understand.
As a consequence have re-added the keypress option which
has gone missing.
Have modified timelapse so a value of 0 tries to take images
as fast as possible (with slight delay to allow exposure to
work)
Now returns correct codes on exit(). Good run returns
EX_OK(0), bad command line parameters return ES_USAGE(64),
camera failure EX_SOFTWARE(70).
Codes from sysexits.h were used.
Doesn't yet implement the 'strict' option suggested by a
contributor on github, I'm not convinced that's all that
necessary.
Added ability to set the H264 profile for encoding.
Supports main, baseline and high.
Also needed to shuffle some code around to make some parsing
code available outside raspicamcontrol.c
Timelapse pictures are taken periodicially, i.e. starting the image capture
attempts at fixed time intervals, as opposed to a fixed delay after the
end of the previous image. As a result, the mean time between images
is closer to the requested time interval, and the effect of individual
slow images (due to e.g. exposure adjustments or delays in file writing.)
does not propagate to subsequent images.
If something causes a delay so that the image would be more than half
a timelapse period late, images are skipped (also skipping
the frame numbers in the filenames) to keep in sync.
As a result, a timelapse sequence with -tl 60000 looking at
a clock would show the second hand in ~the same place in all images
as opposed to the previous code, which would show the second hand
advancing by the cumulative time taken by all the image captures.
Also, a --timeout 0 will cause an unlimited number of images to
be taken.
Fixed an initialisation problem with status variable that is causing a
problem with disabling the preview window.
Fixed the help options - were not working at all - now using -? or --help
displays the help text and exits the app immediately.
Add an opacity setting for the preview window. Untested at point of commit
Added a check on fwrite'ing to file to check for success. In stills case will stop capture by
firing the complete semaphore. In vid case sets a flag in the callback structure.
Needed to change the way the vid case timed it capture run so it can check the abort flag during
the wait
Remove the semaphore from the vid case - a unnecessary hangover from when branched from stills.
Fixed up RaspiStillYUV to output to stderr
Fixed up all apps to have a version number, and use the running app filename as
their displayed name
Version number set to v1.1
Update license text
raspicam: Remove unimplemented effects
raspicam: More warnings for specifying unimplemented options
raspicam: Undo flip in demo mode
raspicam: Don't choose implemented effects in demo mode
raspicam: Mention units for timeout