1
linux/drivers
Ian Armstrong 77aded6ba5 V4L/DVB (6717): ivtv: Initial merge of video48 yuv handling into the IVTV_IOC_DMA_FRAME framework
Previously, all yuv data written to /dev/video48 had only basic support with
no double buffering to avoid display tearing.

With this patch, yuv frames written to video48 are now handled by the existing
IVTV_IOC_DMA_FRAME framework. As such, the frames are hardware buffered to
avoid tearing, and honour scaling mode & field order options. Unlike the
proprietary IVTV_IOC_DMA_FRAME ioctl, all parameters are controlled by the
V4L2 API.

Due to mpeg & yuv output restrictions being different, their V4L2 output
controls have been separated. To control the yuv output, the V4L2 calls must
be done via video48.

If the ivtvfb module is loaded, there will be one side effect to this merge.
The yuv output window will be constrained to the visible framebuffer area. In
the event that a virtual framebuffer size is being used, the limit to the
output size will be the virtual dimensions, but only the portion that falls
within the currently visible area of the framebuffer will be shown.

Like the IVTV_IOC_DMA_FRAME ioctl, the supplied frames must be padded to 720
pixels wide. However the height must only be padded up the nearest multiple
of 32. This would mean an image of 102 lines must be padded to 128. As long
as the true source image size is given, the padding will not be visible in
the final output.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:11 -02:00
..
acorn/char
acpi Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
amba
ata pata_pdc202xx_old: Fix crashes with ATAPI 2008-01-19 21:29:39 -08:00
atm [ATM] atm/suni.c: Fix section mismatch. 2008-01-20 20:31:44 -08:00
auxdisplay
base Driver core: coding style fixes 2008-01-24 22:50:12 -08:00
block Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
bluetooth [BLUETOOTH]: Always send explicit hci_ll wake-up acks. 2008-01-10 22:24:43 -08:00
cdrom
char Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2008-01-25 08:38:25 -08:00
clocksource
connector [CONNECTOR]: Don't touch queue dev after decrement of ref count. 2008-01-08 23:44:44 -08:00
cpufreq Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
cpuidle Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2008-01-25 08:38:25 -08:00
dca
dio
dma DMA: Convert from class_device to device for DMA engine 2008-01-24 20:40:05 -08:00
edac Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
eisa
firewire
firmware Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
hid
hwmon hwmon: (it87) request only Environment Controller ports 2008-01-22 07:21:38 -05:00
i2c driver core: Make the dev_*() family of macros in device.h complete 2008-01-24 20:40:08 -08:00
ide Driver core: convert block from raw kobjects to core devices 2008-01-24 20:40:36 -08:00
ieee1394 ieee1394: use class iteration api 2008-01-24 20:40:44 -08:00
infiniband Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
input [SPARC64]: Fix section error in sparcspkr 2008-01-21 22:34:31 -08:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 2008-01-25 08:35:13 -08:00
kvm Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
leds leds: Fix locomo LED driver oops 2007-12-31 23:11:11 +00:00
lguest Remove bogus duplicate CONFIG_LGUEST_GUEST entry. 2008-01-19 21:29:39 -08:00
macintosh Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
mca
md Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
media V4L/DVB (6717): ivtv: Initial merge of video48 yuv handling into the IVTV_IOC_DMA_FRAME framework 2008-01-25 19:03:11 -02:00
message
mfd MCP_UCB1200: Convert from class_device to device 2008-01-24 20:40:06 -08:00
misc kobject: convert ibmasm to use kref, not kobject 2008-01-24 20:40:08 -08:00
mmc
mtd mtd: Convert from class_device to device for MTD/mtdchar 2008-01-24 20:40:06 -08:00
net Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
nubus
of
oprofile
parisc Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
parport
pci Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
pcmcia PCMCIA: use proper call to driver_create_file 2008-01-24 20:40:33 -08:00
pnp pnpacpi: print resource shortage message only once (more) 2008-01-17 15:38:58 -08:00
power power supply : use class iteration api 2008-01-24 20:40:44 -08:00
ps3 ps3: vuart: fix error path locking 2007-12-23 12:54:37 -08:00
rapidio
rtc rtc: use class iteration api 2008-01-24 20:40:44 -08:00
s390 zfcp: Use device_driver default attribute groups. 2008-01-24 20:40:34 -08:00
sbus
scsi scsi: use class iteration api 2008-01-24 20:40:45 -08:00
serial kobject: convert icom to use kref, not kobject 2008-01-24 20:40:09 -08:00
sh
sn
spi spi: use class iteration api 2008-01-24 20:40:45 -08:00
ssb ssb: Fix probing of PCI cores if PCI and PCIE core is available 2008-01-08 23:30:10 -08:00
tc
telephony
uio UIO: constify function pointer tables 2008-01-24 20:40:43 -08:00
usb USB: use proper call to driver_create_file 2008-01-24 20:40:33 -08:00
video Disable VGA text console for AVR32 architecture 2008-01-25 08:31:40 +01:00
virtio
w1 W1: w1_therm.c is flagging 0C etc as invalid 2008-01-22 09:17:48 -08:00
watchdog [AVR32] Add support for AT32AP7001 and AT32AP7002 2008-01-25 08:31:41 +01:00
xen
zorro
Kconfig
Makefile