Linux Media Controller development
 help / color / mirror / Atom feed
* [PATCH 0/1] ARM: EXYNOS4: JPEG: driver initial release
@ 2011-10-11 12:51 Andrzej Pietrasiewicz
  2011-10-11 12:51 ` [PATCH 1/1] " Andrzej Pietrasiewicz
  0 siblings, 1 reply; 5+ messages in thread
From: Andrzej Pietrasiewicz @ 2011-10-11 12:51 UTC (permalink / raw)
  To: linux-media; +Cc: Andrzej Pietrasiewicz, Kyungmin Park, Marek Szyprowski

Dear All,

This patch contains a driver for the JPEG codec integrated peripheral found
in the Samsung Exynos4 SoC.

The driver is implemented within the V4L2 framework as a mem-to-mem device.

It presents two video nodes to userspace, one for the encoding part, and one
for the decoding part.

>From a userspace point of view the encoding process is typical (S_FMT, REQBUF,
optionally QUERYBUF, QBUF, STREAMON, DQBUF) for both the source and destination
queues. The decoding process requires that the source queue performs S_FMT,
REQBUF, (QUERYBUF), QBUF and STREAMON. After STREAMON on the source queue,
it is possible to perform G_FMT on the destination queue to find out the
processed image width and height in order to be able to allocate an appropriate
buffer - it is assumed that the user does not pass the compressed image width
and height but instead this information is parsed from the jpeg input. Although
this is done in kernel, there seems no better way since the JPEG IP in this SoC
cannot stop after it parses the jpeg input header, so once it starts operation,
it needs to already have an appropriately-sized buffer to store decompression
results. Then REQBUF, QBUF and STREAMON on the destination queue complete the
decoding and it is possible to DQBUF from both queues and finish the operation.

During encoding the available formats are: V4L2_PIX_FMT_RGB565X and
V4L2_PIX_FMT_YUYV for source and V4L2_PIX_FMT_YUYV and V4L2_PIX_FMT_YUV420 for
destination.

During decoding the available formats are: V4L2_PIX_FMT_JPEG for source and
V4L2_PIX_FMT_YUYV and V4L2_PIX_FMT_YUV420 for destination.

In order for the driver to work a separate board definition and device
registration patch is required; it is sent to linux-samsung-soc mailing list.

Andrzej Pietrasiewicz

Andrzej Pietrasiewicz (1):
  ARM: EXYNOS4: JPEG: driver initial release

 drivers/media/video/Kconfig              |    8 +
 drivers/media/video/Makefile             |    1 +
 drivers/media/video/s5p-jpeg/Makefile    |    3 +
 drivers/media/video/s5p-jpeg/jpeg-core.c | 1381 ++++++++++++++++++++++++++++++
 drivers/media/video/s5p-jpeg/jpeg-core.h |  116 +++
 drivers/media/video/s5p-jpeg/jpeg-hw.h   |  766 +++++++++++++++++
 drivers/media/video/s5p-jpeg/jpeg-regs.h |  280 ++++++
 7 files changed, 2555 insertions(+), 0 deletions(-)
 create mode 100644 drivers/media/video/s5p-jpeg/Makefile
 create mode 100644 drivers/media/video/s5p-jpeg/jpeg-core.c
 create mode 100644 drivers/media/video/s5p-jpeg/jpeg-core.h
 create mode 100644 drivers/media/video/s5p-jpeg/jpeg-hw.h
 create mode 100644 drivers/media/video/s5p-jpeg/jpeg-regs.h


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-10-17  6:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-11 12:51 [PATCH 0/1] ARM: EXYNOS4: JPEG: driver initial release Andrzej Pietrasiewicz
2011-10-11 12:51 ` [PATCH 1/1] " Andrzej Pietrasiewicz
2011-10-14 22:40   ` Sakari Ailus
2011-10-15 10:07     ` Sakari Ailus
2011-10-17  6:24       ` Andrzej Pietrasiewicz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox