summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-10-05live: Make the number of video buffers configurableLaurent Pinchart
The -b argument can be used to set the number of video display buffers. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-10-05videoout: Add vo_cleanup() function to close the video output deviceLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-10-05live: Use global frame count to display the FPS counterLaurent Pinchart
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2011-10-05live: Add support for periodical skipping of frames on the displayLaurent Pinchart
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>
2011-10-05live: Locate the video output device node automaticallyLaurent Pinchart
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>
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>