summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/ivtv/ivtv-yuv.c
AgeCommit message (Collapse)Author
2007-08-19ivtv: fix IVTV_IOC_DMA_FRAME bug introduced by highmem bugfix.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The return value of ivtv_udma_fill_sg_list() was changed by the highmem bugfix, but that return value was still used in ivtv-yuv.c. Revert to the old return value, but in addition return -1 in case of a memory allocation error. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-19ivtv: add support for highmem udmaHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> When trying to DMA userspace buffers to the cx23415 you need to check whether the page is in highmem. If this is the case, then bounce buffers have to be used to allow DMA. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-03ivtv: attach yuv field order to each frameHans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> In the current driver, the field order is global. As soon as it's changed it takes immediate effect. This is a problem when the video changes order mid stream. Although it mostly works okay, the video may judder / flicker. This patch attaches the field order to the frame, so that any buffered frames will not be displayed until the correct field. In the event that the field order is changed mid stream, the driver will ensure that the previous frame is displayed for a minimum of 3 fields. These are the two original fields the frame should have occupied, plus the one extra since the new frame still has to wait for the correct field. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-03ivtv: prevent yuv register updates from being missedHans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> The yuv output code always compares the new frame position & size with those of the previous frame. If they are different, a flag is set to request the yuv output registers be updated when the new frame is displayed. If the incoming frames are delivered too fast, exhausting the buffers, the most recent frame already buffered will be discarded. Unfortunately, any update request will also be discarded. If the new frame matches the size & position of the now discarded frame, the yuv registers are not flagged for update & will remain in their old state. This patch preserves the register update flag in the event that a frame is dropped. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-03ivtv: prevent vertical overflow of yuv outputHans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> When the video standard is changed, there's no guarantee the framebuffer dimensions are still legal. The yuv output code uses these dimensions to calculate the size & position for the video overlay. If the framebuffer dimensions are now illegal, the output may exceed the vertical limit of the display, causing distortion. This patch adds an additional check to ensure the output doesn't exceed the limits for the current video standard, cropping if required. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-03-16Fix ivtv yuv threshold handlingHans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> Modifies automatic mode selection for yuv playback. Behaviour is now that source video with a vertical resolution below that of the currently set broadcast mode will be treated as progressive. Video with a vertical resolution greater or equal to the current broadcast mode (up to 576 lines) will be treated as interlaced. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-03-10Add missing includes.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Every file should include the headers containing the prototypes for its global functions. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-03-10Merges VBI & YUV handling into a single work queue.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-02-27Fix comment style and set default debug level to 0Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Convert the '//' comments to kernel approved /* */ style comments. Set the default debug level to 0. As a result of which change some DEBUG_WARNs to errors or remove them altogether. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-02-26Add ivtv driver for the Conexant cx23416/cx23415 MPEG encoder/decoderHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> It took three core maintainers, over four years of work, eight new i2c modules, eleven new V4L2 ioctls, three new DVB video ioctls, a Sliced VBI API, a new MPEG encoder API, an enhanced DVB video MPEG decoding API, major YUV/OSD contributions from Ian and John, web/wiki/svn/trac support from Axel Thimm, (hardware) support from Hauppauge, support and assistance from the v4l-dvb people and the many, many users of ivtv to finally make it possible to merge this driver into the kernel. Thank you all! Signed-off-by: Kevin Thayer <nufan_wfk@yahoo.com> Signed-off-by: Chris Kennedy <c@groovy.org> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: John P Harvey <john.p.harvey@btinternet.com> Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>