summaryrefslogtreecommitdiff
path: root/isp
AgeCommit message (Collapse)Author
2012-04-16controls: Make sure subdev is open before setting CCDC black levelLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-04-16controls: Add preview engine digital gain and white balance supportLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-04-16omap3isp: Store ccdc, preview and sensor entities in sub-structuresLaurent Pinchart
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>
2012-04-16tools: Add div_round_up() macroLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-04-16tools: Add min_t, max_t, clamp and clamp_t macrosLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-04-16subdev: Avoid double-close in v4l2_subdev_close()Laurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-04-16omap3isp: Add exception fd watch typeLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-04-16omap3isp: Support the CCDC lane shifterLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2012-01-06omap3isp: Make number of buffers mandatory in pipeline pool definitionLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-10-15omap3isp: Activate the pipeline when setting the scalerLaurent Pinchart
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>
2011-10-15omap3isp: Handle scaler properly in omap3_isp_pipeline_activate()Laurent Pinchart
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>
2011-10-15omap3isp: Setup running and queued fields in omap3_isp_video_*()Laurent Pinchart
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>
2011-10-14omap3isp: Close subdevs when destroying pipelinesLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-10-14omap3isp: Reorder viewfinder functions to avoid forward declarationsLaurent Pinchart
This will avoid forward declarations when introducing viewfinder timeout recovery. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-10-14omap3isp: Add omap3_isp_video_queue/dequeue_buffer() functionsLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-10-14omap3isp: Add omap3_isp_video_start/stop() functionsLaurent Pinchart
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>
2011-10-14omap3isp: Add isp device field to struct omap3_isp_videoLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-10-14omap3isp: Don't mess up with omap3_isp_video::dequeued in poolsLaurent Pinchart
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>
2011-10-14omap3isp: Add support for 12-bit Bayer formatsLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-10-14omap3isp: Retrieve media device information in media_open()Laurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-10-14omap3isp: CCDC black level compensation controlLaurent Pinchart
Add a function to modify the black level DC offset for the OMAP3 ISP CCDC. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-09-04controls: Add sensor exposure time and gains controlsLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-09-04omap3isp: Use ":SENSOR" to refer to the sensor when building pipelinesLaurent Pinchart
This removes dependencies on the specific sensor. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-09-04list.h: Fix list_first_entry() and list_last_entry() macrosLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-09-04list.h: Add list_insert_before and list_insert_after macrosLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-09-04list.h: Add list_empty macroLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-09-04omap3isp: Add support for memory pools in the viewfinderLaurent Pinchart
Allocate buffers and start/stop pools. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-09-04omap3isp: Return v4l2_queue_buffer() return value directly on errorLaurent Pinchart
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>
2011-09-04omap3isp: Implement pools buffer allocation and streaming eventsLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-09-04omap3isp: Remove unused struct omap3_isp_device::resizer fieldLaurent Pinchart
The field isn't needed anymore, remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-09-04omap3isp: Configure video node formats in omap3_isp_pipeline_try_formatLaurent Pinchart
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>
2011-09-04omap3isp: Add pools support in pipeline formats configurationLaurent Pinchart
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>
2011-09-04omap3isp: Add transparent buffer pools supportLaurent Pinchart
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>
2011-09-04oamp3isp: Move video device open to omap3_isp_pipeline_build()Laurent Pinchart
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>
2011-09-04omap3isp: Move scaler field from omap3_isp_video to omap3_isp_pipelineLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-09-04omap3isp: Make struct omap3_isp_video inherit from omap3_isp_entityLaurent Pinchart
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>
2011-09-04Remove struct isp_video::subdev fieldLaurent Pinchart
The field isn't used anymore, remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-09-04Configure formats in omap3_isp_pipeline_activate()Laurent Pinchart
And remove the omap3_isp_pipeline_set_format() function. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-09-04Activate viewfinder pipeline in omap3_isp_viewfinder_setup_pipeline()Laurent Pinchart
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>
2011-09-04Add omap3_isp_pipeline_try_format()Laurent Pinchart
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>
2011-09-04Add omap3_isp_pipeline_activate()Laurent Pinchart
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>
2011-09-04Add entities to pipeline structureLaurent Pinchart
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>
2011-09-04Add omap3_isp_pipeline structureLaurent Pinchart
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>
2011-07-30omap3-isp-live: Initial commitLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>