linux/drivers/media/platform
Philipp Zabel 918c66fd41 [media] coda: add CODA7541 decoding support
This patch enables decoding of h.264 and mpeg4 streams on CODA7541.
Queued output buffers are immediately copied into the bitstream
ringbuffer. A device_run can be scheduled whenever there is either
enough compressed bitstream data, or the CODA is in stream end mode.
Each successful device_run, data is read from the bitstream ringbuffer
and a frame is decoded into a free internal framebuffer. Depending on
reordering, a possibly previously decoded frame is marked as display
frame, and at the same time the display frame from the previous run
is copied out into a capture buffer by the rotator hardware.
The dequeued capture buffers are counted to send the EOS signal to
userspace with the last frame. When userspace sends the decoder stop
command or enqueues an empty output buffer, the stream end flag is
set to allow decoding the remaining frames in the bitstream
ringbuffer.
The enum_fmt/try_fmt functions return fixed capture buffer sizes
while the output queue is streaming, to allow better autonegotiation
in userspace.
A per-context buffer mutex is used to lock the picture run against
buffer dequeueing: if a job gets queued, then streamoff dequeues
the last buffer, and then device_run is called, bail out. For that
the interrupt handler has to be threaded.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2013-07-31 15:56:44 -03:00
..
blackfin [media] bfin_capture: fix compiler warning 2013-06-28 15:06:22 -03:00
davinci [media] V4L: Rename subdev field of struct v4l2_async_notifier 2013-07-30 15:53:11 -03:00
exynos4-is Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2013-07-13 12:09:57 -07:00
exynos-gsc [media] exynos-gsc: Remove redundant use of of_match_ptr macro 2013-06-12 21:51:14 -03:00
marvell-ccic [media] marvell-ccic: switch to resource managed allocation and request 2013-07-26 13:26:33 -03:00
omap [media] omap_vout: fix compiler warning 2013-06-28 15:06:49 -03:00
omap3isp [media] media: Change media device link_notify behaviour 2013-06-12 22:16:27 -03:00
s3c-camif Merge branch 'linus' into patchwork 2013-06-20 05:19:09 -03:00
s5p-g2d [media] s5p-g2d: Add copy time stamp handling 2013-04-25 09:47:07 -03:00
s5p-jpeg [media] s5p makefiles: don't override other selections on obj-[ym] 2013-06-20 05:46:00 -03:00
s5p-mfc Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2013-07-13 12:09:57 -07:00
s5p-tv Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2013-07-13 12:09:57 -07:00
soc_camera [media] V4L: Rename subdev field of struct v4l2_async_notifier 2013-07-30 15:53:11 -03:00
arv.c
coda.c [media] coda: add CODA7541 decoding support 2013-07-31 15:56:44 -03:00
coda.h [media] coda: add CODA7541 decoding support 2013-07-31 15:56:44 -03:00
fsl-viu.c [media] fsl-viu: remove current_norm 2013-06-17 09:35:07 -03:00
indycam.c [media] indycam: remove g_chip_ident op 2013-06-17 08:49:47 -03:00
indycam.h
Kconfig Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2013-07-13 12:09:57 -07:00
m2m-deinterlace.c [media] mem2mem: set missing v4l2_dev pointer 2013-06-28 15:09:43 -03:00
Makefile [media] s5p-fimc: Change the driver directory name to exynos4-is 2013-03-31 11:04:03 -03:00
mem2mem_testdev.c [media] mem2mem: set missing v4l2_dev pointer 2013-06-28 15:09:43 -03:00
mx2_emmaprp.c [media] mem2mem: set missing v4l2_dev pointer 2013-06-28 15:09:43 -03:00
omap24xxcam-dma.c
omap24xxcam.c [media] omap24xxcam: add v4l2_device and replace parent with v4l2_dev 2013-06-21 11:05:16 -03:00
omap24xxcam.h [media] omap24xxcam: add v4l2_device and replace parent with v4l2_dev 2013-06-21 11:05:16 -03:00
sh_veu.c [media] media: Cocci spatch "ptr_ret.spatch" 2013-06-21 13:11:40 -03:00
sh_vou.c [media] sh_vou: remove current_norm 2013-06-17 09:34:29 -03:00
timblogiw.c [media] timblogiw: fix querycap 2013-06-17 09:31:53 -03:00
via-camera.c [media] via-camera: replace current_norm by g_std 2013-06-17 09:33:49 -03:00
via-camera.h
vino.c [media] v4l2: pass std by value to the write-only s_std ioctl 2013-03-24 06:47:00 -03:00
vino.h
vivi.c drivers: avoid parsing names as kthread_run() format strings 2013-07-03 16:07:41 -07:00