852 Commits

Author SHA1 Message Date
Dave Stevenson
c566fafdea arm_loader/hdmi: Add mailbox call to set custom display timings
Used by FKMS to change display mode.

This also adds hooks to arm_dispmanx into HDMI so that elements
are restored after mode changes.
2019-07-24 15:22:37 +01:00
Tim Gover
77d7159cf5 vc-hdmi: Add HDMI_PICTURE_ASPECT_256_135 for DCI 4K
Add the new apsect ratio enum for DCI 4K modes.
2019-07-24 15:22:37 +01:00
Dave Stevenson
ed1958642c debug_sym: Remove annoying message should fb copy fail
Any kernel not using bcm2708_fb as the FB driver is likely to
fail the FBIODMACOPY ioctl that vcdbg tries to use to access
the hidden 16MB of RAM behind the peripheral space.
Remove the error message as it drops back to using /dev/mem
instead anyway.
2019-07-24 15:22:37 +01:00
James Hughes
aa4e83406a Update vcdbg help
The help text is now clearer.
When using vcdbg help <command>, prevent the command name itself
being displayed twice.

Fixes https://github.com/raspberrypi/firmware/issues/594
2019-07-24 15:22:37 +01:00
Dave Stevenson
f00a1189b9 interface: Drop vcfiled
vcfiled isn't used, nor the firmware side built into the image,
therefore drop building it from the cmake targets.
2019-07-24 15:22:37 +01:00
popcornmix
5b1a3fbef7 mmalomx_util_params_camera: Sync with vc4 tree 2019-07-24 15:22:37 +01:00
Dave Stevenson
8e63faa4ec IL: Add XRGB8888 and XBGR8888, and support on video_render, isp, and hvs
Adds new video formats XRGB8888 and XBGR8888 as no-alpha
versions of ARGB8888 and ABGR8888.

The MMAL types of MMAL_ENCODING_RGB32 and MMAL_ENCODING_BGR32
were already defined but didn't map onto anything. The functionality
could be replicated by setting the per-plane alpha on the HVS,
but it makes some more sense to support it explicitly.
2019-07-24 15:22:37 +01:00
Dave Stevenson
c868a50ca5 Expose display timings via the mailbox
FKMS wants to add the relevant modes for DPI and DSI displays,
and the VEC.
Plumbing required to expose the PV timings info for these displays,
and then added the mailbox call.
2019-07-24 15:22:37 +01:00
Tim Gover
896c747f97 HVS: Update HVS channel options to specify pixelvavle
Rename use_pixelvalve1 to a more generic use_pixelvalve allowing hdmi to
specify which hdmi core / pixelvalve is being selected.
2019-07-24 15:22:37 +01:00
Tim Gover
91da39af21 vcgencmd: Increase buffer size and ensure strings are null terminated
The current maximum response size for a non-bulk VCHI transfer is
4092 bytes. Increase the GENCMD buffer size to match this.

Additionally, ensure that the buffer is null terminated and use
the size defined in in the vcgencmd_defs header instead of
hard-coding this.
2019-07-19 16:33:53 +01:00
Naushir Patuck
c5a5234152 Add AWB Grey World mode option.
This mode should be used for NoIR cameras.
Only valid for the new RPi AWB algorithm.
2019-07-16 13:09:26 +01:00
Paolo
30c89b53f2 Fix for missing cleanup step for hello_videocube and hello_teapot
Fixed missing cleanup step in hello_videocube and hello_teapot, and fixed lockup when cleaning up egl_render component
2019-06-11 11:33:05 +01:00
James Hughes
95b29b556a Add media flushing call on when writing bitstream (#554)
Under certain circumstances, the Linux file system write behind caching
gets so much data to write in one go that is causes frames to be dropped.
The current fflush is not sufficient as that only flushes the C library
caches, not the Linux filesystem caches.

This fix forces data to be written to media as soon as it arrives, using
fdatasync().

Note, currently it's conditional on the --flush command line parameter.
2019-06-03 11:43:34 +01:00
James Hughes
3ddc4e673a Fix for missing timestamps when data exceed one buffers worth (#553)
The addition of a NAL flag appears to have broken timestamps with
large buffers. This simplifies the 'if' around timestamps and takes
the NAL change in to account.

Also fixed up some bad code formatting after the if statement. Yes, I know.
2019-06-03 11:06:02 +01:00
andrum99
517cdc30da Improve vcgencmd (#552)
Add basic usage, detect and report errors to STDERR, and add link to forthcoming documentation on the website.
2019-05-01 13:50:52 +01:00
James Hughes
ff2bd45521 Update README.md 2019-04-15 11:43:13 +01:00
Dave Stevenson
379398ed7f mmal_vc_api: Report FLAG_TRANSMISSION_FAILED on VCHI bulk_rx failure
Fix a couple of FIXME's where no error was reported should a
bulk receive fail to start. The buffer header got forwarded
to the app with length 0, so the client was left with little
idea what had gone wrong.
2019-03-19 20:35:13 +00:00
Dave Stevenson
0512645268 raspicam: Set preview fps in raspivid and raspividyuv.
If no output file is defined, then only the preview port is active
and it doesn't get the frame rate programmed based on the command
line (0 is used for variable FPS).
Set the fps based on the command line for the preview port.
2019-03-19 20:35:13 +00:00
Dave Stevenson
2e2899cc6f Fix ups for James 2019-03-05 10:53:04 +00:00
Dave Stevenson
391c04647b Review fixups 2019-03-05 10:53:04 +00:00
Dave Stevenson
8b8f6571b6 buildme: Add option for ARM64 builds via either native or cross compile
Supports native builds on aarch64 machines.

Supports making a 64-bit build via either cross compiling, or on
aarch64 machines.
Both options require the addition of --aarch64 to the command line,
otherwise 32-bit libraries will be built.

Cross compiling requires the aarch64-linux-gnu- compile tools to
be installed (packages gcc-5-aarch64-linux-gnu and g++-aarch64-linux-gnu
on Ubuntu).
2019-03-05 10:53:04 +00:00
tvjon
0b1293c70d mmalcam: Create Makefile 2019-03-04 15:16:04 +00:00
tvjon
860415858a mmalplay: Create Makefile 2019-03-04 15:16:04 +00:00
Dave Stevenson
0c8aa8101c raspivid: Stop --raw option resetting --raw-format to YUV
Observed on
https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=189830&start=25#p1432589

The raspivid command line
raspivid --raw-format rgb --raw foo.rgb -o foo.h264
actually saved YUV data to foo.rgb as the --raw option reset
raw-format to YUV mode.

Renumber the enums so that YUV is 0, and use the fact the state
structure is memset to 0 (and therefore YUV) to avoid the
-raw parser needing to change the format at all.
2019-03-04 14:54:03 +00:00
James Hughes
aa79238341 Fixed up overflow in microsecond timer
Was using a 32 bit calculation when should have been 64bit.
2019-03-04 11:54:57 +00:00
Joel Winarske
e5803f2c98 fix cross-compile install failing 2019-01-15 15:59:39 +00:00
James Hughes
6da49bce07 Update README.md 2019-01-09 17:32:31 +00:00
David Girault
20f03b4f39 Allow aborting on write error to stdout when -t 0 specified (#521)
* Allow aborting on write error to stdout when `-t 0` specified

* Allow aborting on write error to stdout when `-t 0` specified in raspividyuv
2019-01-09 16:12:02 +00:00
popcornmix
3617b3f5c0 Merge pull request #520 from JamesH65/new_microsecond_timer
Move to standard Linux  microsecond count
2019-01-08 13:19:03 +00:00
James Hughes
b98b3af8d5 Move to standard Linux microsecond count
The camera apps were using vcos_getmicrosecs64 which
was in turn using gettimeofday. This means timelapse code
goes very wrong when the date/time is changed while the
timelapse is being done.

Moved to a scheme based on clock_gettime(CLOCK_MONOTONIC_RAW)
which is not affected by underlying clock changes.
2019-01-08 09:43:22 +00:00
James Hughes
7cbfbd38d9 Added H264 slicing. (#486)
This is a modified version of that provided by shizukachan

We are having to limit this to widths < 1280 due to an as yet
unfixed firmware issue. I've taken a quick look - its not
obvious what is going on.
2018-12-12 15:34:56 +00:00
James Hughes
0858c4bd17 Add GPS annotation to the camera apps output (#517)
This involved:
Moving GPS code to own file so can be used in all apps
Adding option in apps to apply GPS data to annotation

Enabled with the -gps flag on command line plus -a 2 to turn on
application annotation.
2018-12-12 13:23:16 +00:00
popcornmix
27d03c337e Merge pull request #508 from kaomoneus/issue-1077-attr_vertex2
Fixed #1077: hello_triangle2, 'vertex' attribute for Mandelbrot
2018-12-11 17:17:57 +00:00
James Hughes
febf337f83 Added annotate options to raspiyuv and raspividyuv
This brings them in to line with the non-YUV variants.
2018-12-11 10:59:47 +00:00
James Hughes
4ac7869604 Removed version numbers, replace with commit ID (#510)
Uses some cMake calls to pull the latest commit ID in to
the build. Also sets up a tainted flag if the source has changes
2018-12-11 10:53:04 +00:00
James Hughes
acedde811a Fixes up a merge mistake made when moving filenames to common code
Should now mean videos actually save....
2018-12-10 16:34:25 +00:00
James Hughes
7ae1e37dee Merge pull request #513 from JamesH65/common_functions_to_helpers2
Common functions to helpers
2018-12-10 13:30:40 +00:00
James Hughes
416f273f38 Moves common functions to the RaspiHelper code
Just three but were replicated over all four applications.

Also moved one common fn one out of cam control in to helpers.
2018-12-10 11:10:12 +00:00
James Hughes
6793885cbc Moved common settings to own file
Also involved adding a file for helper functions.

As a indirect result, some features are now available
in the xxxxyuv apps that were originally only in the
non-yuv versions.
2018-12-10 11:03:04 +00:00
James Hughes
6419c2883e Merge pull request #511 from JamesH65/common_settings_move
Moved common settings to own file
2018-12-10 10:54:21 +00:00
James Hughes
e870f66b98 Moved common settings to own file
Also involved adding a file for helper functions.

As a indirect result, some features are now available
in the xxxxyuv apps that were originally only in the
non-yuv versions.
2018-12-06 15:56:32 +00:00
James Hughes
b091bba2b2 Merge pull request #509 from JamesH65/astyle_reformat
Reformat of source to userland coding standard
2018-12-03 13:30:43 +00:00
James Hughes
52fcd610c4 Reformat of source to userland coding standard
used

astyle -A1 -s3 -w

Not applied to non-RPI sourced code.

No functional changes.
2018-12-03 12:54:40 +00:00
James Hughes
9dd04c80b8 Merge pull request #506 from JamesH65/defines_to_enums
Converted all the command ID's to enums, code tidy
2018-12-03 11:27:09 +00:00
kaomoneus
977d9dc764 Fixed #1077: hello_triangle2, vertex attribute of mandelbrot program is not set up. 2018-12-03 11:32:14 +04:00
James Hughes
94a6013207 Converted all the command ID's to enums
Also removed any remaining tabs and replaced with
spaces
2018-11-30 16:20:11 +00:00
James Hughes
a22fd93a75 Merge pull request #504 from JamesH65/wait_modes_indefinite_time
Default runs that require interaction to infinite time
2018-11-30 14:37:02 +00:00
James Hughes
60add4d47c Merge branch 'master' into wait_modes_indefinite_time 2018-11-30 14:36:48 +00:00
James Hughes
d582d80a76 Merge pull request #503 from JamesH65/camera_settings
Moved all camera 'setting' option code to single source
2018-11-30 14:35:58 +00:00
James Hughes
358f471d21 Moved all camera 'setting' option code to single source
All the cam apps were duplicating the same code for outputing camera
settings (e.g. exposure), so have moved it to the CamControl file
so we now only have one set.

Also fixed up a couple of missing bad error returns that were not being
translated correctly from the MMAL error to ints.
2018-11-30 10:49:04 +00:00