omap3-isp-live.git
3 years agoAdd support for static compilation master
Laurent Pinchart [Mon, 12 Oct 2015 22:48:06 +0000 (01:48 +0300)]
Add support for static compilation

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
3 years agovideoout: Add rotation support
Laurent Pinchart [Wed, 12 Jun 2013 14:46:25 +0000 (16:46 +0200)]
videoout: Add rotation support

3 years agoisp: stats: Fix signed vs. unsigned comparison warning
Laurent Pinchart [Wed, 11 Nov 2015 12:12:21 +0000 (14:12 +0200)]
isp: stats: Fix signed vs. unsigned comparison warning

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
3 years agoisp: v4l2: Fix capabilities parsing
Laurent Pinchart [Tue, 13 Oct 2015 00:52:49 +0000 (03:52 +0300)]
isp: v4l2: Fix capabilities parsing

When adding support for device_caps the kernel changed the userspace API
and started reporting both output and capture through the capabilities
field. Use the device_caps field instead to get the per-device-node
capabilities.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
5 years agoisp: Support format conversion in scaler
Laurent Pinchart [Tue, 23 Oct 2012 02:12:56 +0000 (04:12 +0200)]
isp: Support format conversion in scaler

Include the preview engine in the scaler pipeline if the requested input
format is not a YUV format.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
5 years agoisp: Support allocating an output buffers pool for the viewfinder
Laurent Pinchart [Tue, 23 Oct 2012 02:09:28 +0000 (04:09 +0200)]
isp: Support allocating an output buffers pool for the viewfinder

The viewfinder is usually used with a display device that allocates
buffers. This led to the viewfinder API requiring the application to set
the output buffers pool.

For applications that don't have a buffers pool to give to the
viewfinder support allocating a dedicated pool and exporting it to the
application.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
5 years agoisp: Add crop support for the viewfinder
Laurent Pinchart [Tue, 23 Oct 2012 23:47:31 +0000 (01:47 +0200)]
isp: Add crop support for the viewfinder

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
5 years agoisp: Support raw viewfinder formats
Laurent Pinchart [Tue, 23 Oct 2012 02:08:15 +0000 (04:08 +0200)]
isp: Support raw viewfinder formats

Capture at the CCDC output if the requested viewfinder format is not a
YUV format, and at the resizer output otherwise.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
5 years agovideoout: Return a negative error code in vo_queue_buffer()
Laurent Pinchart [Thu, 15 Nov 2012 10:53:21 +0000 (11:53 +0100)]
videoout: Return a negative error code in vo_queue_buffer()

Most functions return 0 on success and a negative error code otherwise,
make vo_queue_buffer() conform with that.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
5 years agovideoout: Use the output overlay buffer type
Laurent Pinchart [Tue, 13 Nov 2012 14:45:34 +0000 (15:45 +0100)]
videoout: Use the output overlay buffer type

The omap_vout driver implements the output overlay API, use the
corresponding buffer type.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agomedia: Fix valgrind warnings
Laurent Pinchart [Wed, 14 Nov 2012 02:19:10 +0000 (03:19 +0100)]
media: Fix valgrind warnings

valgrind has no way to know that the kernel will fill links and pads
arrays passed to an ioctl through __user pointers. Allocate the arrays
with calloc() to make sure they get initialized. This also fixes the
potential integer overflow.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoevents: Safeguard against event deletion in event callbacks
Laurent Pinchart [Wed, 14 Nov 2012 02:16:30 +0000 (03:16 +0100)]
events: Safeguard against event deletion in event callbacks

Events callback can call events_unwatch_fd(), resulting in the event
being deleted from the events list. Use list_for_each_entry_safe() to
walk the list properly, and make sure the event isn't accessed after
it's callback function returns.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoisp: Use the requested input format for M2M pipelines
Laurent Pinchart [Tue, 23 Oct 2012 02:50:52 +0000 (04:50 +0200)]
isp: Use the requested input format for M2M pipelines

Don't try to force the sensor format or the output format at the
pipeline input when using memory-to-memory pipelines.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoomap3isp: Scale instead of cropping when scaling on the sensor
Laurent Pinchart [Wed, 15 Aug 2012 09:48:40 +0000 (11:48 +0200)]
omap3isp: Scale instead of cropping when scaling on the sensor

When using sensor scaling the sensor was incorrectly configured to crop
the image to a lower size instead of scaling it. Cropping is applied
before scaling in the sensor, so the crop rectangle needs to be set to
the pipeline input size, not the sensor output size.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agolive: Add snapshot and scaler support
Laurent Pinchart [Thu, 5 Jul 2012 00:35:42 +0000 (02:35 +0200)]
live: Add snapshot and scaler support

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoisp: Add scaler API
Laurent Pinchart [Thu, 5 Jul 2012 00:22:35 +0000 (02:22 +0200)]
isp: Add scaler API

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoisp: Protect against starting viewfinder and snapshot at the same time
Laurent Pinchart [Thu, 5 Jul 2012 00:20:20 +0000 (02:20 +0200)]
isp: Protect against starting viewfinder and snapshot at the same time

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agolive, snapshot: Split the viewfinder and snapshot API
Laurent Pinchart [Thu, 5 Jul 2012 00:49:17 +0000 (02:49 +0200)]
live, snapshot: Split the viewfinder and snapshot API

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoisp: Split the viewfinder and snapshot API
Laurent Pinchart [Wed, 4 Jul 2012 10:46:53 +0000 (12:46 +0200)]
isp: Split the viewfinder and snapshot API

Don't suspend and resume the viewfinder implicitly when taking a
snapshot, but let the application stop the viewfinder before taking the
snapshot, and restart it afterwards.

Applications are now responsible for keeping track of the viewfinder
output buffers state and pass of bitmask of output buffers indices to be
queued when starting the viewfinder.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoisp: Add support for memory-to-memory pipelines
Laurent Pinchart [Wed, 4 Jul 2012 14:02:19 +0000 (16:02 +0200)]
isp: Add support for memory-to-memory pipelines

Make building and trying format possible on a pipeline that starts with
a video node.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoisp: Remove scaler argument to omap3_isp_pipeline_try_format()
Laurent Pinchart [Wed, 4 Jul 2012 10:52:46 +0000 (12:52 +0200)]
isp: Remove scaler argument to omap3_isp_pipeline_try_format()

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agolive: Add digital zoom support
Laurent Pinchart [Mon, 2 Jul 2012 23:31:46 +0000 (01:31 +0200)]
live: Add digital zoom support

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agolive, snapshot: Add option to disable AEWB
Laurent Pinchart [Mon, 2 Jul 2012 22:50:31 +0000 (00:50 +0200)]
live, snapshot: Add option to disable AEWB

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoisp: Add live zoom support
Laurent Pinchart [Mon, 2 Jul 2012 22:33:55 +0000 (00:33 +0200)]
isp: Add live zoom support

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agov4l2: Print the device name in error messages
Laurent Pinchart [Wed, 4 Jul 2012 14:43:41 +0000 (16:43 +0200)]
v4l2: Print the device name in error messages

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agov4l2-pool: Initialize buffer indexes when creating the pool
Laurent Pinchart [Wed, 4 Jul 2012 10:49:28 +0000 (12:49 +0200)]
v4l2-pool: Initialize buffer indexes when creating the pool

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoisp: Emulate global gain for sensors that only expose color gains
Laurent Pinchart [Sat, 20 Oct 2012 18:49:07 +0000 (20:49 +0200)]
isp: Emulate global gain for sensors that only expose color gains

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agolive: Support 16bpp and 24bpp RGB frame buffer formats
Enric Balletbo i Serra [Wed, 17 Oct 2012 09:22:59 +0000 (11:22 +0200)]
live: Support 16bpp and 24bpp RGB frame buffer formats

Paint the frame buffer correctly and set the corresponding color key
value for 16bpp and 24bpp RGB formats.

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
[Extract the bpp value through the fbdev API, add support for 24bpp]
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoREADME: Document kernel headers installation process
Laurent Pinchart [Thu, 4 Oct 2012 22:07:31 +0000 (00:07 +0200)]
README: Document kernel headers installation process

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agosensor: Fix omap3_isp_sensor_get_exposure()
Laurent Pinchart [Thu, 21 Jun 2012 12:49:06 +0000 (14:49 +0200)]
sensor: Fix omap3_isp_sensor_get_exposure()

The function tried to set the control instead of getting it. Fix this.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agosensor: Support setting gains selectively
Laurent Pinchart [Thu, 21 Jun 2012 12:40:10 +0000 (14:40 +0200)]
sensor: Support setting gains selectively

Setting a gain value to OMAP3_ISP_SENSOR_GAIN_KEEP will prevent that
gain from being set.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agovideout: Add support for disabling chroma keying
Laurent Pinchart [Thu, 21 Jun 2012 11:23:10 +0000 (13:23 +0200)]
videout: Add support for disabling chroma keying

And make vo_enable_colorkey() return 0 on success and a negative error
code otherwise.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agovideoout: Fix coding style
Laurent Pinchart [Thu, 21 Jun 2012 11:11:14 +0000 (13:11 +0200)]
videoout: Fix coding style

Function calls should have no space before the opening bracket.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agostats: Don't mess up Bayer pattern when setting the AEWB rectangle
Laurent Pinchart [Tue, 1 May 2012 23:36:02 +0000 (01:36 +0200)]
stats: Don't mess up Bayer pattern when setting the AEWB rectangle

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoiq: Add manual saturation setting
Laurent Pinchart [Wed, 28 Mar 2012 12:39:18 +0000 (14:39 +0200)]
iq: Add manual saturation setting

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agosnapshot: Add JPEG compression support
Laurent Pinchart [Mon, 19 Mar 2012 11:58:24 +0000 (12:58 +0100)]
snapshot: Add JPEG compression support

Specifying the -j flag results in captured images being saved in JPEG
format instead of raw YUYV. JPEG compression implies YUYV capture,
software demosaicing isn't supported.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoiq: Add ae-delay and ae-interval parameters
Laurent Pinchart [Mon, 19 Mar 2012 13:50:14 +0000 (14:50 +0100)]
iq: Add ae-delay and ae-interval parameters

The ae-delay parameter selects the number of frames to skip at stream
startup before running the auto exposure algorithm. The ae-interval
selects the number of frames between AE runs. This can be used to delay
AE when the sensor needs one or more frames to apply exposure and/or
gain values.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoiq: Add statistics window size and position parameters
Laurent Pinchart [Fri, 16 Mar 2012 18:15:01 +0000 (19:15 +0100)]
iq: Add statistics window size and position parameters

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoiq: Make the IQ parameters configurable
Laurent Pinchart [Fri, 16 Mar 2012 14:48:30 +0000 (15:48 +0100)]
iq: Make the IQ parameters configurable

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoomap3isp: Enable statistics for snapshot capture
Laurent Pinchart [Wed, 29 Feb 2012 21:23:39 +0000 (22:23 +0100)]
omap3isp: Enable statistics for snapshot capture

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agosnapshot: Use AEWB algorithm
Laurent Pinchart [Wed, 22 Feb 2012 22:57:55 +0000 (23:57 +0100)]
snapshot: Use AEWB algorithm

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agolive: Use AEWB algorithm
Laurent Pinchart [Wed, 22 Feb 2012 22:57:55 +0000 (23:57 +0100)]
live: Use AEWB algorithm

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoAdd naive AEWB algorithm
Laurent Pinchart [Sat, 11 Feb 2012 06:26:21 +0000 (07:26 +0100)]
Add naive AEWB algorithm

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agostats: Add support for the AEWB statistics engine
Laurent Pinchart [Wed, 1 Feb 2012 14:01:45 +0000 (15:01 +0100)]
stats: Add support for the AEWB statistics engine

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoomap3isp: Add ISP crop support
Laurent Pinchart [Fri, 20 Apr 2012 09:48:45 +0000 (11:48 +0200)]
omap3isp: Add ISP crop support

If the sensor doesn't support cropping, crop the image on the first ISP
entity that supports cropping on its source pad.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoomap3isp: Add support for greyscale sensors
Laurent Pinchart [Thu, 19 Apr 2012 17:08:11 +0000 (19:08 +0200)]
omap3isp: Add support for greyscale sensors

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agosnapshot: YUV formats use *8_1X16 media bus codes
Laurent Pinchart [Thu, 19 Apr 2012 17:05:01 +0000 (19:05 +0200)]
snapshot: YUV formats use *8_1X16 media bus codes

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoomap3isp: Unsupported subdev ioctls returned -EINVAL on older kernels
Laurent Pinchart [Tue, 17 Apr 2012 14:31:31 +0000 (16:31 +0200)]
omap3isp: Unsupported subdev ioctls returned -EINVAL on older kernels

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoevents: Stop dispatching events immediately when requested to stop
Laurent Pinchart [Wed, 4 Apr 2012 13:36:02 +0000 (15:36 +0200)]
events: Stop dispatching events immediately when requested to stop

Otherwise events received but not yet dispatched are dispatched and can
call hangs in ioctls as the pipeline has likely been stopped.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agosnapshot: Allow the skip parameter to be 0
Laurent Pinchart [Fri, 16 Mar 2012 18:13:46 +0000 (19:13 +0100)]
snapshot: Allow the skip parameter to be 0

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agosnapshot: Support capturing multiple frames per snapshot
Laurent Pinchart [Wed, 29 Feb 2012 21:23:54 +0000 (22:23 +0100)]
snapshot: Support capturing multiple frames per snapshot

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agosnapshot: Update to the multiple snapshot capture API
Laurent Pinchart [Wed, 29 Feb 2012 21:40:51 +0000 (22:40 +0100)]
snapshot: Update to the multiple snapshot capture API

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoomap3isp: Support capture of multiple snapshots
Laurent Pinchart [Wed, 29 Feb 2012 21:17:31 +0000 (22:17 +0100)]
omap3isp: Support capture of multiple snapshots

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoevents: Make the event loop reusable
Laurent Pinchart [Wed, 29 Feb 2012 21:11:53 +0000 (22:11 +0100)]
events: Make the event loop reusable

Set the done flag to false before starting the loop in order to make it
possible for the caller to restart the loop.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agosnapshot: Make number of snapshots configurable
Laurent Pinchart [Wed, 29 Feb 2012 11:21:03 +0000 (12:21 +0100)]
snapshot: Make number of snapshots configurable

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agosnapshot: Make viewfinder optional
Laurent Pinchart [Wed, 29 Feb 2012 11:36:04 +0000 (12:36 +0100)]
snapshot: Make viewfinder optional

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoomap3isp: Make viewfinder optional
Laurent Pinchart [Wed, 29 Feb 2012 11:20:32 +0000 (12:20 +0100)]
omap3isp: Make viewfinder optional

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agosnapshot: Add -s/--size argument to specify snapshot size
Laurent Pinchart [Tue, 28 Feb 2012 14:40:19 +0000 (15:40 +0100)]
snapshot: Add -s/--size argument to specify snapshot size

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agosnapshot: Add -c/--crop argument to specify crop rectangle
Laurent Pinchart [Tue, 28 Feb 2012 14:40:19 +0000 (15:40 +0100)]
snapshot: Add -c/--crop argument to specify crop rectangle

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agosnapshot: Update to the libomap3isp crop API
Laurent Pinchart [Tue, 28 Feb 2012 13:36:58 +0000 (14:36 +0100)]
snapshot: Update to the libomap3isp crop API

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoomap3isp: Support cropping for snapshot capture
Laurent Pinchart [Tue, 28 Feb 2012 13:36:38 +0000 (14:36 +0100)]
omap3isp: Support cropping for snapshot capture

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agosnapshot: Add option to save snapshots to disk
Laurent Pinchart [Tue, 28 Feb 2012 12:39:39 +0000 (13:39 +0100)]
snapshot: Add option to save snapshots to disk

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agocontrols: Add support for sensor gain
Laurent Pinchart [Tue, 7 Feb 2012 23:59:48 +0000 (00:59 +0100)]
controls: Add support for sensor gain

Support setting the global sensor gain.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agocontrols: Make sure subdev is open before setting CCDC black level
Laurent Pinchart [Tue, 7 Feb 2012 23:58:18 +0000 (00:58 +0100)]
controls: Make sure subdev is open before setting CCDC black level

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agocontrols: Add preview engine digital gain and white balance support
Laurent Pinchart [Tue, 7 Feb 2012 23:48:21 +0000 (00:48 +0100)]
controls: Add preview engine digital gain and white balance support

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoomap3isp: Store ccdc, preview and sensor entities in sub-structures
Laurent Pinchart [Thu, 9 Feb 2012 23:08:02 +0000 (00:08 +0100)]
omap3isp: Store ccdc, preview and sensor entities in sub-structures

This will allow adding entity-specific fields such as controls to the
omap3_isp_device structure.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agotools: Add div_round_up() macro
Laurent Pinchart [Wed, 1 Feb 2012 14:01:45 +0000 (15:01 +0100)]
tools: Add div_round_up() macro

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agotools: Add min_t, max_t, clamp and clamp_t macros
Laurent Pinchart [Wed, 1 Feb 2012 14:02:07 +0000 (15:02 +0100)]
tools: Add min_t, max_t, clamp and clamp_t macros

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agosubdev: Avoid double-close in v4l2_subdev_close()
Laurent Pinchart [Wed, 1 Feb 2012 12:24:14 +0000 (13:24 +0100)]
subdev: Avoid double-close in v4l2_subdev_close()

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoAdd support for exception events
Laurent Pinchart [Wed, 22 Feb 2012 22:27:15 +0000 (23:27 +0100)]
Add support for exception events

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoomap3isp: Add exception fd watch type
Laurent Pinchart [Wed, 1 Feb 2012 12:22:30 +0000 (13:22 +0100)]
omap3isp: Add exception fd watch type

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoFactor event handling code out into events.c
Laurent Pinchart [Wed, 22 Feb 2012 22:27:15 +0000 (23:27 +0100)]
Factor event handling code out into events.c

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agosnapshot: Replace -y argument with -f to freely select the snapshot format
Laurent Pinchart [Mon, 16 Apr 2012 18:10:34 +0000 (20:10 +0200)]
snapshot: Replace -y argument with -f to freely select the snapshot format

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoomap3isp: Support the CCDC lane shifter
Laurent Pinchart [Mon, 16 Apr 2012 20:42:06 +0000 (22:42 +0200)]
omap3isp: Support the CCDC lane shifter

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agoomap3isp: Make number of buffers mandatory in pipeline pool definition
Laurent Pinchart [Fri, 6 Jan 2012 13:07:14 +0000 (14:07 +0100)]
omap3isp: Make number of buffers mandatory in pipeline pool definition

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agolive: Fix video output localization
Laurent Pinchart [Fri, 6 Jan 2012 12:44:44 +0000 (13:44 +0100)]
live: Fix video output localization

As V4L2 subdevice nodes use the V4L2 video device nodes major number,
there is no 1:1 correspondance between video device nodes numbers and
video device nodes minors. The video output device localization code
will thus fail if the omap3_isp driver is loaded before the omap_vout
driver.

Fix this by reading the video output device major and minor numbers from
sysfs and match them against the device node.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agovideoout: Take pixel format as a parameter to vo_init()
Laurent Pinchart [Sun, 11 Dec 2011 23:51:25 +0000 (00:51 +0100)]
videoout: Take pixel format as a parameter to vo_init()

Pass a struct v4l2_pix_format * instead of width and height.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6 years agovideoout: Remove unneeded crop settings
Laurent Pinchart [Sun, 11 Dec 2011 18:54:10 +0000 (19:54 +0100)]
videoout: Remove unneeded crop settings

Setting the crop rectangle on the video output device isn't needed
(especially as the code forgot to set crop->type to
V4L2_BUF_TYPE_VIDEO_OUTPUT anyway).

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agoomap3isp: Activate the pipeline when setting the scaler
Laurent Pinchart [Sat, 15 Oct 2011 11:46:27 +0000 (13:46 +0200)]
omap3isp: Activate the pipeline when setting the scaler

Commit e0c7399fc26ebb0df66e114a71702d5e6c387e44 ("Add
omap3_isp_pipeline_try_format()") wrongfully removed pipeline
configuration from omap3_isp_viewfinder_set_scaler(). Add it back.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agoomap3isp: Handle scaler properly in omap3_isp_pipeline_activate()
Laurent Pinchart [Sat, 15 Oct 2011 11:44:13 +0000 (13:44 +0200)]
omap3isp: Handle scaler properly in omap3_isp_pipeline_activate()

Instead of retrieving the sensor default format and propagating through
the pipeline, configure the sensor with the previously selected format
(resulting from the scaler choice) and propagate it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agoomap3isp: Setup running and queued fields in omap3_isp_video_*()
Laurent Pinchart [Sat, 15 Oct 2011 11:38:09 +0000 (13:38 +0200)]
omap3isp: Setup running and queued fields in omap3_isp_video_*()

Instead of setting the struct omap3_isp_video running and queued fields
manually before or after calling omap3_isp_video_start() and
omap3_isp_video_stop(), handle those fields in the functions directly.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agoomap3isp: Close subdevs when destroying pipelines
Laurent Pinchart [Tue, 23 Aug 2011 09:58:31 +0000 (11:58 +0200)]
omap3isp: Close subdevs when destroying pipelines

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agoomap3isp: Reorder viewfinder functions to avoid forward declarations
Laurent Pinchart [Tue, 23 Aug 2011 10:00:21 +0000 (12:00 +0200)]
omap3isp: Reorder viewfinder functions to avoid forward declarations

This will avoid forward declarations when introducing viewfinder timeout
recovery.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agoomap3isp: Add omap3_isp_video_queue/dequeue_buffer() functions
Laurent Pinchart [Mon, 22 Aug 2011 23:02:39 +0000 (01:02 +0200)]
omap3isp: Add omap3_isp_video_queue/dequeue_buffer() functions

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agoomap3isp: Add omap3_isp_video_start/stop() functions
Laurent Pinchart [Mon, 22 Aug 2011 22:40:43 +0000 (00:40 +0200)]
omap3isp: Add omap3_isp_video_start/stop() functions

Those functions currently just encapsulate v4l2_stream_on() and
v4l2_stream_off(). They will later handle timeout timers.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agoomap3isp: Add isp device field to struct omap3_isp_video
Laurent Pinchart [Mon, 22 Aug 2011 22:40:06 +0000 (00:40 +0200)]
omap3isp: Add isp device field to struct omap3_isp_video

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agoomap3isp: Don't mess up with omap3_isp_video::dequeued in pools
Laurent Pinchart [Wed, 24 Aug 2011 02:07:01 +0000 (04:07 +0200)]
omap3isp: Don't mess up with omap3_isp_video::dequeued in pools

The dequeued field is used to track buffers that have been dequeued from
the viewfinder and owned by the display. Those buffers will be handed
back by the display, so they must not be requeued on the spot when the
viewfinder is paused and resumed. Pools don't suffer from that problem,
so don't use the dequeued field.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agoomap3isp: Add support for 12-bit Bayer formats
Laurent Pinchart [Wed, 24 Aug 2011 01:03:05 +0000 (03:03 +0200)]
omap3isp: Add support for 12-bit Bayer formats

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agoomap3isp: Retrieve media device information in media_open()
Laurent Pinchart [Fri, 14 Oct 2011 10:10:14 +0000 (12:10 +0200)]
omap3isp: Retrieve media device information in media_open()

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agoomap3isp: CCDC black level compensation control
Laurent Pinchart [Tue, 18 Jan 2011 14:58:04 +0000 (15:58 +0100)]
omap3isp: CCDC black level compensation control

Add a function to modify the black level DC offset for the OMAP3 ISP
CCDC.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agolive: Make the number of video buffers configurable
Laurent Pinchart [Wed, 5 Oct 2011 14:02:16 +0000 (16:02 +0200)]
live: Make the number of video buffers configurable

The -b argument can be used to set the number of video display buffers.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agovideoout: Add vo_cleanup() function to close the video output device
Laurent Pinchart [Wed, 5 Oct 2011 13:57:15 +0000 (15:57 +0200)]
videoout: Add vo_cleanup() function to close the video output device

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agolive: Use global frame count to display the FPS counter
Laurent Pinchart [Wed, 5 Oct 2011 14:19:37 +0000 (16:19 +0200)]
live: Use global frame count to display the FPS counter

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agolive: Add support for periodical skipping of frames on the display
Laurent Pinchart [Wed, 5 Oct 2011 09:58:30 +0000 (11:58 +0200)]
live: Add support for periodical skipping of frames on the display

When the sensor delivers a frame rate higher than what the display can
process, the OMAP3 ISP continuously runs out of buffers. The new --skip
command line option can be used to avoid that situation by skipping
display of n frames out of n+1.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agolive: Locate the video output device node automatically
Laurent Pinchart [Mon, 3 Oct 2011 12:29:01 +0000 (14:29 +0200)]
live: Locate the video output device node automatically

Iterate through the omap_vout video nodes and use the one with the
lowest minor as the video output device.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agocontrols: Add sensor exposure time and gains controls
Laurent Pinchart [Sun, 4 Sep 2011 13:05:30 +0000 (15:05 +0200)]
controls: Add sensor exposure time and gains controls

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agoomap3isp: Use ":SENSOR" to refer to the sensor when building pipelines
Laurent Pinchart [Wed, 24 Aug 2011 08:51:06 +0000 (10:51 +0200)]
omap3isp: Use ":SENSOR" to refer to the sensor when building pipelines

This removes dependencies on the specific sensor.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agolist.h: Fix list_first_entry() and list_last_entry() macros
Laurent Pinchart [Wed, 24 Aug 2011 01:01:22 +0000 (03:01 +0200)]
list.h: Fix list_first_entry() and list_last_entry() macros

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agolist.h: Add list_insert_before and list_insert_after macros
Laurent Pinchart [Mon, 25 Jul 2011 10:06:20 +0000 (12:06 +0200)]
list.h: Add list_insert_before and list_insert_after macros

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7 years agolist.h: Add list_empty macro
Laurent Pinchart [Mon, 25 Jul 2011 10:06:20 +0000 (12:06 +0200)]
list.h: Add list_empty macro

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>