Age | Commit message (Collapse) | Author |
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
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>
|
|
Make building and trying format possible on a pipeline that starts with
a video node.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
The function tried to set the control instead of getting it. Fix this.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
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>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
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>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Support setting the global sensor gain.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
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>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
This will avoid forward declarations when introducing viewfinder timeout
recovery.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
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>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
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>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|