Commit Graph

68 Commits

Author SHA1 Message Date
Dom Cobley
d2c9f912da RaspiStill example code for YUV fast paths
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
2013-11-28 22:26:15 +00:00
jamesh
d49a9a537d Segmentation option for multiple files generated from a stream.
Should be a seamless switch between files.

Also changed quantisation default to the required 0.

Bumped version number, updated docs.
2013-11-16 11:25:06 +00:00
jamesh
12446df940 Add a inline headers option. Inserts PPS and SPS headers
on each I-Frame
2013-11-13 10:50:08 +00:00
jamesh
509f060c3c Add a quantisation parameter to raspivid to allow greater control
including variable bitrate if combined with birate = 0

Updated docs to match.
2013-11-11 16:58:08 +00:00
Dom Cobley
0d486513f5 RaspiStill: Add option to render preview via GL.
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
2013-11-10 17:47:38 +00:00
jamesh
8cf692f899 Sets max bitrate for record at 25Mbits/s
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
2013-10-23 17:54:16 +01:00
popcornmix
ea297b90e0 Merge pull request #106 from barmaglot27/master
make stills without thumbnails and EXIF tags to minimize jpeg size
2013-10-20 05:17:53 -07:00
barmaglot27
4ad6ca8612 make stills without thumbnails and EXIF tags to minimize jpeg size 2013-10-20 04:14:09 -04:00
JamesH
51669879ec Userland issue #76
Added  option to set the exposure/shutter time.

Needs a change on GPU binary, Brcm ref: 425060 and
a consequent change to
userland/interface/mmal/mmal_parameters_camera.h

There is currently a limitation of about 350ms beyond which
the camera will lock (depending on other settings). This
is being investigated, but is unrelated to this change
i.e. You can get the fault in other ways, not just by setting
the shutter speed.
2013-10-18 17:40:00 +01:00
JamesH
cbe51332ed Refactored raspivid to allow user to pause and restart captures
to the same file using a timer, keyboard or signals. Camra can be
started in record or pause state.

New options -s, -k, -td, -i

Updated docs to reflect new commands, updated raspivid version to 1.3.3
2013-10-18 15:02:29 +01:00
JamesH
61afe0a512 Added a signal mode to allow initiation of captures from another process.
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.
2013-10-15 12:22:02 +01:00
jnahughes
e7d21623cd Shuffled around the capture loop to provide better facility
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)
2013-10-11 15:41:36 +01:00
JamesH
ff38458f38 userland #35 Removed exposure off option
This is never going to work as expected, so removing the option
completely.

Updated docs, incremented version by 0.01
2013-10-04 17:47:06 +01:00
jnahughes
29167bd769 userland #66
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.

Updates docs files to include all recent changes.
2013-10-04 16:36:07 +01:00
jnahughes
5dc3e15228 userland #66
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.
2013-10-02 22:16:37 +01:00
JamesH
e1d36801c4 Fixed a problem with some strings not being free'd inside a loop
where they were being used.

No idea how this issue has arisen or why it has not been
reported, perhaps a recent git merge fault?
2013-10-02 15:27:42 +01:00
popcornmix
f43656cdf7 Merge pull request #91 from JamesH65/h264_profile
userland #64 Add support to set H264 profile
2013-09-30 06:04:07 -07:00
JamesH
77437517d4 userland #64
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
2013-09-26 14:47:07 +01:00
JamesH
eb81419910 Userland #80
Fix for bad exposure setting - set ISO to auto on startup
2013-09-26 11:17:05 +01:00
lgretton
b9604216c4 Update RaspiStill.c
Date and time of EXIF DateTime fields is now separated by a space instead of a colon, in accordance with EXIF 2.1.
2013-09-15 20:52:04 +01:00
David M. Palmer
73f5ab956a Periodic timelapse
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.
2013-09-07 12:58:10 -06:00
David M. Palmer
394dd3a603 Use open/write/rename to prevent partial image files.
Added -l/--latest option to provide a link to the latest frame of a time-lapse.
Added -l to the documentation.
2013-08-18 11:54:31 -06:00
JamesH
75103431b3 Added -roi command to allow specification of the area of the sensor to use as input
to the ISP. This facilitates zooming (including offcentre)

Also updated the docs to reflect the new command and updated to latest published version.
2013-08-08 17:25:06 +01:00
popcornmix
5e368c1482 Merge pull request #65 from JamesH65/compile_fix
Fix for compile fault due to mising change in the RaspiPreview.h header ...
2013-07-22 05:05:57 -07:00
JamesH
574bcea5b1 Fix for compile fault due to mising change in the RaspiPreview.h header file. 2013-07-22 13:02:26 +01:00
popcornmix
75731f4bd6 Merge pull request #62 from JamesH65/new_preview
Fix for dark frames in timelapse
2013-07-19 10:17:41 -07:00
popcornmix
0c344ac94e Merge pull request #61 from JamesH65/raw_rgb
Added the option to save the raw data as RGB888.
2013-07-19 10:17:32 -07:00
popcornmix
7e47f7ffcf Merge pull request #58 from JamesH65/iso_fix
Re-enabled ISO setting
2013-07-19 10:17:08 -07:00
JamesH
064c4598ef Fixed up preview mode to use a null sink rather than not connecting
components. Fixes the darkening frames in timelapse mode problem.
2013-07-16 19:23:51 +01:00
JamesH
277cff277e Added the option to save the raw data as RGB888. This requires a change to the firmware. 2013-07-16 18:26:27 +01:00
JamesH
a3b9618551 Re-enabled ISO setting - tests show (in EXIF data of test jpegs) you can set between 100 and 800. 2013-07-05 16:13:58 +01:00
popcornmix
8b271ac3c1 Merge pull request #57 from JamesH65/camera_dev
Fixed up so RAW works for each capture in timelapse mode
2013-07-05 07:11:59 -07:00
JamesH
6612cf362b Fixed up so RAW works for each capture in timelapse mode 2013-07-05 14:05:23 +01:00
Dom Cobley
033b22133a hello_audio: support different sample rates 2013-07-02 17:29:21 +01:00
popcornmix
7542fb5fb6 Merge pull request #55 from JamesH65/camera_dev
Component creation functions changed to return status
2013-07-02 03:20:13 -07:00
Dom Cobley
dcb35501d5 hello_audio: better support for multichannel 2013-06-29 15:27:28 +01:00
JamesH
7e29071964 Fixed up EXIF setting as sending data whilst encoder port was active
is not allowed. Now close port between captures to allow setting.
2013-06-28 16:47:59 +01:00
JamesH
907500f9bb RaspiCam: Added timelapse mode to RaspiStillYUV 2013-06-27 09:53:25 +01:00
JamesH
7574e22061 RaspiCam:
Restructured the component creation to return status codes

Added a missing function header commment
2013-06-26 16:19:36 +01:00
Dom Cobley
725b03007b tvservice: allow HDMI/DVI mode to be specified 2013-06-17 17:04:28 +01:00
Dom Cobley
959bd58932 tvservice: indicate preferred mode 2013-06-14 11:03:14 +01:00
popcornmix
7fd104d280 Merge pull request #54 from towolf/master
Copy odt contents into README (2nd pull request)
2013-06-10 14:06:55 -07:00
Tobias Wolf
6526bef36e Copy help from odt file to README.md for GitHub (and remove README)
Took the content of the .odt file and reformatted it as a markdown README for GitHub. Squashed from earlier pull request.
2013-06-10 23:01:18 +02:00
Dom Cobley
986774edf7 raspicam: status should be initialised to fail 2013-06-06 00:47:28 +01:00
Dom Cobley
5128b174b4 hello_pi: Make it clearer how to build on pi and cross-compile 2013-06-06 00:38:25 +01:00
popcornmix
efedc4509d Merge pull request #45 from AndyA/notimeout
Make it possible to disable the timeout on raspivid.
2013-06-05 12:30:06 -07:00
Andy Armstrong
5d7aa7e417 Make it possible to disable the timeout on raspivid.
Useful for cases in which you want to capture/stream indefinitely.
2013-05-29 18:02:36 +01:00
Andy Armstrong
375df47754 Option to set intra refresh period.
HTTP Live streaming (HDS/HLS/Dash/Smooth) need fixed length GoPs (Group
of Pictures). This option allows the key frame period, and hence GoP
duration to be set using the -g or -intra option. The unit is a number
of frames.

```
  $ raspivid -g 200 -w 1280 -h 720 -fps 25 -t 60000 -b 3000000 -o capture.h264
```
2013-05-29 16:10:09 +01:00
Dom Cobley
96f2e7b278 raspicam: Fixes from James for:
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
2013-05-24 17:45:22 +01:00
Dom Cobley
61f86f0453 Add hello_videocube to rebuild.sh 2013-05-17 15:14:13 +01:00