kernel-fxtec-pro1x/drivers/media/video/cx18
Andy Walls 22dce188ef V4L/DVB (13430): cx18: Fix YUV capture so that encoder passes a single frame per transfer
Fix YUV capture such that the encoder will pass one frame per transfer.  This
will allow the application to maintain frame alignment when a transfer from
the encoder is missed due to high system latency in service the CX23418 IRQ.

Also force YUV buffer sizes to be specified in multiples of 33.75 kB, the
smalled amount of buffer sizes need to store a complete set of HM12 4:2:0
macroblocks specifying 32 lines of the frame.  A full 60Hz/525 line
screen requires 15 * 33.75 kB per frame and a full 50Hz/625 line screen
requires 18 * 33.75 kB per frame so the default buffer size is 3 * 33.75 kB,
requiring exactly 5 or 6 buffers per MDL respectively.  The bytes needed per
frame and hence MDL need not be the bytes in an integer number of buffers.
However, if frame artifacts are seen with scaled screen sizes, the YUV buffer
size can be set 34 kB (33.75 kB) to get rid of the artifacts at the cost of more
copies between the kernel and userspace.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:52 -02:00
..
cx18-audio.c V4L/DVB (11624): cx18: Toggle the AI1 mux when changing the CX18_AUDIO_ENABLE register 2009-06-16 18:20:45 -03:00
cx18-audio.h V4L/DVB (10758): cx18: Convert I2C devices to v4l2_subdevices 2009-03-30 12:43:01 -03:00
cx18-av-audio.c V4L/DVB (11310): cx18: remove intermediate 'ioctl' step 2009-03-30 12:43:49 -03:00
cx18-av-core.c V4L/DVB (11898): cx18: Perform 64 bit divide so it works for 32 bit systems 2009-06-16 18:21:16 -03:00
cx18-av-core.h V4L/DVB (11369): v4l2-subdev: add load_fw and use that instead of abusing core->init. 2009-04-06 21:44:21 -03:00
cx18-av-firmware.c V4L/DVB (11624): cx18: Toggle the AI1 mux when changing the CX18_AUDIO_ENABLE register 2009-06-16 18:20:45 -03:00
cx18-av-vbi.c V4L/DVB (11864): cx18: Complete support for Sliced and Raw VBI for 625 line systems 2009-06-16 18:21:14 -03:00
cx18-cards.c V4L/DVB (12367): cx18: Add i2c initialization for Z8F0811/Hauppage IR transceivers 2009-09-12 12:18:25 -03:00
cx18-cards.h V4L/DVB (12367): cx18: Add i2c initialization for Z8F0811/Hauppage IR transceivers 2009-09-12 12:18:25 -03:00
cx18-controls.c V4L/DVB (12338): cx18: Read buffer overflow 2009-08-13 20:39:02 -03:00
cx18-controls.h
cx18-driver.c V4L/DVB (13430): cx18: Fix YUV capture so that encoder passes a single frame per transfer 2009-12-05 18:41:52 -02:00
cx18-driver.h V4L/DVB (13430): cx18: Fix YUV capture so that encoder passes a single frame per transfer 2009-12-05 18:41:52 -02:00
cx18-dvb.c V4L/DVB (13430): cx18: Fix YUV capture so that encoder passes a single frame per transfer 2009-12-05 18:41:52 -02:00
cx18-dvb.h
cx18-fileops.c V4L/DVB (13429): cx18: Add Memory Descriptor List (MDL) layer to buffer handling 2009-12-05 18:41:51 -02:00
cx18-fileops.h V4L/DVB (10135): v4l2: introduce v4l2_file_operations. 2009-01-02 17:11:12 -02:00
cx18-firmware.c V4L/DVB (10757): cx18, v4l2-chip-ident: Finish conversion of AV decoder core to v4l2_subdev 2009-03-30 12:43:01 -03:00
cx18-firmware.h
cx18-gpio.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
cx18-gpio.h V4L/DVB (10759): cx18: Convert GPIO connected functions to act as v4l2_subdevices 2009-03-30 12:43:01 -03:00
cx18-i2c.c V4L/DVB (12540): v4l: simplify v4l2_i2c_new_subdev and friends 2009-09-19 00:19:24 -03:00
cx18-i2c.h V4L/DVB (10758): cx18: Convert I2C devices to v4l2_subdevices 2009-03-30 12:43:01 -03:00
cx18-io.c
cx18-io.h
cx18-ioctl.c V4L/DVB (13429): cx18: Add Memory Descriptor List (MDL) layer to buffer handling 2009-12-05 18:41:51 -02:00
cx18-ioctl.h V4L/DVB (10138): v4l2-ioctl: change to long return type to match unlocked_ioctl. 2009-01-02 17:11:34 -02:00
cx18-irq.c
cx18-irq.h
cx18-mailbox.c V4L/DVB (13429): cx18: Add Memory Descriptor List (MDL) layer to buffer handling 2009-12-05 18:41:51 -02:00
cx18-mailbox.h V4L/DVB (13429): cx18: Add Memory Descriptor List (MDL) layer to buffer handling 2009-12-05 18:41:51 -02:00
cx18-queue.c V4L/DVB (13430): cx18: Fix YUV capture so that encoder passes a single frame per transfer 2009-12-05 18:41:52 -02:00
cx18-queue.h V4L/DVB (13429): cx18: Add Memory Descriptor List (MDL) layer to buffer handling 2009-12-05 18:41:51 -02:00
cx18-scb.c V4L/DVB (9895): cx18: Refine the firmware load and firmware startup process 2008-12-30 09:39:09 -02:00
cx18-scb.h V4L/DVB (13426): cx18: Rename struct cx18_mdl to struct cx18_mdl_ent 2009-12-05 18:41:50 -02:00
cx18-streams.c V4L/DVB (13430): cx18: Fix YUV capture so that encoder passes a single frame per transfer 2009-12-05 18:41:52 -02:00
cx18-streams.h V4L/DVB (13429): cx18: Add Memory Descriptor List (MDL) layer to buffer handling 2009-12-05 18:41:51 -02:00
cx18-vbi.c V4L/DVB (13429): cx18: Add Memory Descriptor List (MDL) layer to buffer handling 2009-12-05 18:41:51 -02:00
cx18-vbi.h V4L/DVB (13429): cx18: Add Memory Descriptor List (MDL) layer to buffer handling 2009-12-05 18:41:51 -02:00
cx18-version.h V4L/DVB (11620): cx18: Increment version due to significant buffer handling changes 2009-06-16 18:20:45 -03:00
cx18-video.c V4L/DVB (11380): v4l2-subdev: change s_routing prototype 2009-04-06 21:44:27 -03:00
cx18-video.h
cx23418.h V4L/DVB (13426): cx18: Rename struct cx18_mdl to struct cx18_mdl_ent 2009-12-05 18:41:50 -02:00
Kconfig V4L/DVB (11127): Kconfig: replace all occurrences of CUSTOMIZE to CUSTOMISE 2009-03-30 12:43:31 -03:00
Makefile