linux_dsm_epyc7002/drivers/media/platform
Mikhail Ulyanov 2c42cdbaec [media] V4L2: platform: Add Renesas R-Car JPEG codec driver
Here's the driver for the Renesas R-Car JPEG processing unit.

The driver is implemented within the V4L2 framework as a memory-to-memory
device.  It presents two video nodes to userspace, one for the encoding part,
and one for the decoding part.

It was found that the only working mode for encoding is no markers output, so we
generate markers with software. In the current version of driver we also use
software JPEG header parsing because with hardware parsing performance is lower
than desired.

>From a userspace point of view the process is typical (S_FMT, REQBUF,
optionally QUERYBUF, QBUF, STREAMON, DQBUF) for both the source and destination
queues. STREAMON can return -EINVAL in case of mismatch of output and capture
queues format. Also during decoding driver can return buffers if queued
buffer with JPEG image contains image with inappropriate subsampling (e.g.
4:2:0 in JPEG and 4:2:2 in capture).  If JPEG image and queue format dimensions
differ driver will return buffer on QBUF with VB2_BUF_STATE_ERROR flag.

During encoding the available formats are: V4L2_PIX_FMT_NV12M,
V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV16, V4L2_PIX_FMT_NV16M for source and
V4L2_PIX_FMT_JPEG for destination.

During decoding the available formats are: V4L2_PIX_FMT_JPEG for source and
V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_NV16M, V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV16
for destination.

Performance of current version:
1280x800 NV12 image encoding/decoding
	decoding ~122 FPS
	encoding ~191 FPS

Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@cogentembedded.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-08-11 06:44:43 -03:00
..
am437x [media] media: am437x-vpfe: Fix a race condition during release 2015-07-22 11:03:54 -03:00
blackfin [media] v4l2: replace s_mbus_fmt by set_fmt in bridge drivers 2015-05-01 09:01:16 -03:00
coda [media] coda: make NV12 format default 2015-07-17 11:29:39 -03:00
davinci [media] media: davinci: vpbe: use v4l2_get_timestamp() 2015-06-05 06:36:23 -03:00
exynos4-is [media] exynos4_is: exynos4-fimc requires i2c 2015-05-13 16:06:28 -03:00
exynos-gsc [media] media: platform: exynos-gsc: Constify platform_device_id 2015-05-12 03:48:01 -03:00
marvell-ccic [media] marvell-ccic: fix RGB444 format 2015-05-12 04:04:26 -03:00
omap [media] omap_vout: use swap() in omapvid_init() 2015-06-06 07:32:03 -03:00
omap3isp [media] v4l: omap3isp: Fix sub-device power management code 2015-07-06 08:25:51 -03:00
s3c-camif [media] media: platform: s3c-camif: Constify platform_device_id 2015-05-12 03:48:58 -03:00
s5p-g2d [media] media: platform: s5p: Constify platform_device_id 2015-05-12 03:49:22 -03:00
s5p-jpeg [media] s5p-jpeg: Eliminate double kfree() 2015-08-11 06:26:14 -03:00
s5p-mfc [media] s5p-mfc: add additional check for incorrect memory configuration 2015-08-11 06:25:50 -03:00
s5p-tv [media] s5p-tv: fix wait_event_timeout return handling 2015-08-11 06:23:35 -03:00
soc_camera [media] atmel-isi: remove mck backward compatibility code 2015-07-06 08:25:52 -03:00
sti/bdisp [media] bdisp: fix debug info memory access 2015-07-17 09:53:37 -03:00
ti-vpe [media] media: ti-vpe: Use mem-to-mem ioctl helpers 2015-02-02 13:34:18 -02:00
vivid [media] v4l2-dv-timings: add support for reduced blanking v2 2015-07-06 08:25:49 -03:00
vsp1 [media] v4l: vsp1: Don't sleep in atomic context 2015-07-17 10:03:43 -03:00
xilinx [media] v4l: xilinx: missing error code 2015-07-17 10:01:47 -03:00
arv.c [media] media: remove the setting of the flag V4L2_FL_USE_FH_PRIO 2014-07-04 16:14:59 -03:00
fsl-viu.c [media] constify of_device_id array 2015-05-12 03:58:16 -03:00
Kconfig [media] V4L2: platform: Add Renesas R-Car JPEG codec driver 2015-08-11 06:44:43 -03:00
m2m-deinterlace.c [media] m2m-deinterlace: remove dead code 2015-05-01 06:29:50 -03:00
Makefile [media] V4L2: platform: Add Renesas R-Car JPEG codec driver 2015-08-11 06:44:43 -03:00
mx2_emmaprp.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
rcar_jpu.c [media] V4L2: platform: Add Renesas R-Car JPEG codec driver 2015-08-11 06:44:43 -03:00
sh_veu.c [media] sh-veu: don't use COLORSPACE_JPEG 2015-07-22 13:24:22 -03:00
sh_vou.c [media] sh_vou: declare static functions as such 2015-07-06 08:26:14 -03:00
timblogiw.c media: platform: drop owner assignment from platform_drivers 2014-10-20 16:20:44 +02:00
via-camera.c [media] v4l2: replace s_mbus_fmt by set_fmt in bridge drivers 2015-05-01 09:01:16 -03:00
via-camera.h
vim2m.c [media] vim2m: add create_bufs and prepare_buf support 2015-06-09 17:27:38 -03:00