Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
This removes dependencies on the specific sensor.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Allocate buffers and start/stop pools.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
v4l2_queue_buffer() already returns -errno, don't compute that again but
return the function's return value directly.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
The field isn't needed anymore, remove it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
To support buffer pools, configure video node formats automatically in
omap3_isp_pipeline_try_format() instead of manually in the viewfinder
and snapshot setup functions.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Don't stop pipeline formats configuration at the first video device
node, but go through pools until the end of the pipeline.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Buffers pools can be inserted in a pipeline between a video capture
device and a video output device. They will automatically relay buffers
from the capture device to the output device in a transparent way.
One use case of buffer pools is to work around hardware issues. When the
CCDC is directly connected to the preview engine, any ESD-induce noise
on the HS or VS signals will make the preview engine loose sync, is it
only relies on line counts. Introducing a buffer pool between the CCDC
and preview engine work around the issue.
This patch only implements buffer pool creation during pipeline build.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Open video devices right away when they're added to the pipeline. This
will help pools implementation.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
The output video node already has an entity associated with it. Make
that entity an instance of struct omap3_isp_video.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
The field isn't used anymore, remove it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
And remove the omap3_isp_pipeline_set_format() function.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Move omap3_isp_pipeline_activate() call from
omap3_isp_snapshot_restore_pipeline() to
omap3_isp_viewfinder_setup_pipeline() and remove
omap3_isp_snapshot_restore_pipeline().
Remove the setup_link() calls from omap3_isp_open(), pre-setup of the
pipeline isn't required anymore now that trying formats doesn't rely on
active links.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
The function tries formats on pipeline pads to achieve the requested
output format, and saves the format at each pad in the oamp3_isp_pad
structure for later use.
Replace the snapshot format try code by a call to
omap3_isp_pipeline_try_format().
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
The function activates all links in the given pipeline. Replace manual
link activation by calls to omap3_isp_pipeline_activate().
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Add a omap3_isp_pipeline_build() function to build a pipeline from a
list of entity names.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
The structure will be used to handle pipelines. For now it only contains
the video output node structure.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|