2005-04-17 05:20:36 +07:00
|
|
|
#
|
|
|
|
# Makefile for the video capture/playback device drivers.
|
|
|
|
#
|
|
|
|
|
|
|
|
obj-$(CONFIG_VIDEO_M32R_AR_M64278) += arv.o
|
|
|
|
|
2012-08-20 19:49:34 +07:00
|
|
|
obj-$(CONFIG_VIDEO_VIA_CAMERA) += via-camera.o
|
2011-06-12 00:46:42 +07:00
|
|
|
obj-$(CONFIG_VIDEO_CAFE_CCIC) += marvell-ccic/
|
2011-06-12 00:46:49 +07:00
|
|
|
obj-$(CONFIG_VIDEO_MMP_CAMERA) += marvell-ccic/
|
2007-07-19 04:04:17 +07:00
|
|
|
|
2011-02-13 04:05:06 +07:00
|
|
|
obj-$(CONFIG_VIDEO_OMAP3) += omap3isp/
|
2016-09-11 15:51:54 +07:00
|
|
|
obj-$(CONFIG_VIDEO_PXA27x) += pxa_camera.o
|
2011-02-13 04:05:06 +07:00
|
|
|
|
2010-07-02 20:10:09 +07:00
|
|
|
obj-$(CONFIG_VIDEO_VIU) += fsl-viu.o
|
2014-08-25 18:06:34 +07:00
|
|
|
|
2017-04-08 00:55:19 +07:00
|
|
|
obj-$(CONFIG_VIDEO_VIMC) += vimc/
|
2014-08-25 18:06:34 +07:00
|
|
|
obj-$(CONFIG_VIDEO_VIVID) += vivid/
|
2014-09-22 19:27:17 +07:00
|
|
|
obj-$(CONFIG_VIDEO_VIM2M) += vim2m.o
|
2011-04-04 19:21:57 +07:00
|
|
|
|
[media] v4l: ti-vpe: Add VPE mem to mem driver
VPE is a block which consists of a single memory to memory path which
can perform chrominance up/down sampling, de-interlacing, scaling, and
color space conversion of raster or tiled YUV420 coplanar, YUV422
coplanar or YUV422 interleaved video formats.
We create a mem2mem driver based primarily on the mem2mem-testdev
example. The de-interlacer, scaler and color space converter are all
bypassed for now to keep the driver simple. Chroma up/down sampler
blocks are implemented, so conversion beteen different YUV formats is
possible.
Each mem2mem context allocates a buffer for VPE MMR values which it will
use when it gets access to the VPE HW via the mem2mem queue, it also
allocates a VPDMA descriptor list to which configuration and data
descriptors are added.
Based on the information received via v4l2 ioctls for the source and
destination queues, the driver configures the values for the MMRs, and
stores them in the buffer. There are also some VPDMA parameters like
frame start and line mode which needs to be configured, these are
configured by direct register writes via the VPDMA helper functions.
The driver's device_run() mem2mem op will add each descriptor based on
how the source and destination queues are set up for the given ctx, once
the list is prepared, it's submitted to VPDMA, these descriptors when
parsed by VPDMA will upload MMR registers, start DMA of video buffers on
the various input and output clients/ports.
When the list is parsed completely(and the DMAs on all the output ports
done), an interrupt is generated which we use to notify that the source
and destination buffers are done. The rest of the driver is quite
similar to other mem2mem drivers, we use the multiplane v4l2 ioctls as
the HW support coplanar formats.
Signed-off-by: Archit Taneja <archit@ti.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2013-10-16 12:36:47 +07:00
|
|
|
obj-$(CONFIG_VIDEO_TI_VPE) += ti-vpe/
|
|
|
|
|
2016-01-07 06:37:26 +07:00
|
|
|
obj-$(CONFIG_VIDEO_TI_CAL) += ti-vpe/
|
|
|
|
|
2012-01-13 16:31:02 +07:00
|
|
|
obj-$(CONFIG_VIDEO_MX2_EMMAPRP) += mx2_emmaprp.o
|
2014-07-23 22:28:38 +07:00
|
|
|
obj-$(CONFIG_VIDEO_CODA) += coda/
|
2012-01-13 16:31:02 +07:00
|
|
|
|
2012-10-05 17:43:41 +07:00
|
|
|
obj-$(CONFIG_VIDEO_SH_VEU) += sh_veu.o
|
|
|
|
|
2012-07-26 15:55:18 +07:00
|
|
|
obj-$(CONFIG_VIDEO_MEM2MEM_DEINTERLACE) += m2m-deinterlace.o
|
|
|
|
|
2017-06-08 01:33:55 +07:00
|
|
|
obj-$(CONFIG_VIDEO_MUX) += video-mux.o
|
|
|
|
|
2012-08-23 06:09:18 +07:00
|
|
|
obj-$(CONFIG_VIDEO_S3C_CAMIF) += s3c-camif/
|
2013-03-24 22:54:25 +07:00
|
|
|
obj-$(CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS) += exynos4-is/
|
2011-11-24 21:15:23 +07:00
|
|
|
obj-$(CONFIG_VIDEO_SAMSUNG_S5P_JPEG) += s5p-jpeg/
|
2011-06-21 20:51:26 +07:00
|
|
|
obj-$(CONFIG_VIDEO_SAMSUNG_S5P_MFC) += s5p-mfc/
|
2008-04-23 00:42:03 +07:00
|
|
|
|
2011-10-06 21:32:12 +07:00
|
|
|
obj-$(CONFIG_VIDEO_SAMSUNG_S5P_G2D) += s5p-g2d/
|
2016-12-13 21:37:16 +07:00
|
|
|
obj-$(CONFIG_VIDEO_SAMSUNG_S5P_CEC) += s5p-cec/
|
2012-09-16 01:09:57 +07:00
|
|
|
obj-$(CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC) += exynos-gsc/
|
2011-10-06 21:32:12 +07:00
|
|
|
|
2015-05-12 23:02:10 +07:00
|
|
|
obj-$(CONFIG_VIDEO_STI_BDISP) += sti/bdisp/
|
2016-09-05 21:06:29 +07:00
|
|
|
obj-$(CONFIG_VIDEO_STI_HVA) += sti/hva/
|
2015-07-31 00:09:00 +07:00
|
|
|
obj-$(CONFIG_DVB_C8SECTPFE) += sti/c8sectpfe/
|
2017-01-03 21:54:56 +07:00
|
|
|
obj-$(CONFIG_VIDEO_STI_HDMI_CEC) += sti/cec/
|
2015-05-12 23:02:10 +07:00
|
|
|
|
2017-02-02 21:59:48 +07:00
|
|
|
obj-$(CONFIG_VIDEO_STI_DELTA) += sti/delta/
|
|
|
|
|
2017-05-31 20:23:48 +07:00
|
|
|
obj-y += stm32/
|
|
|
|
|
2017-06-08 22:14:09 +07:00
|
|
|
obj-y += blackfin/
|
2012-03-09 03:44:17 +07:00
|
|
|
|
2017-06-08 22:14:09 +07:00
|
|
|
obj-y += davinci/
|
2010-03-17 21:21:13 +07:00
|
|
|
|
|
|
|
obj-$(CONFIG_VIDEO_SH_VOU) += sh_vou.o
|
|
|
|
|
2012-08-22 05:46:46 +07:00
|
|
|
obj-$(CONFIG_SOC_CAMERA) += soc_camera/
|
|
|
|
|
2017-06-12 20:26:19 +07:00
|
|
|
obj-$(CONFIG_VIDEO_RCAR_DRIF) += rcar_drif.o
|
2016-02-12 07:29:58 +07:00
|
|
|
obj-$(CONFIG_VIDEO_RENESAS_FCP) += rcar-fcp.o
|
2016-06-30 20:41:23 +07:00
|
|
|
obj-$(CONFIG_VIDEO_RENESAS_FDP1) += rcar_fdp1.o
|
[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-07-22 18:23:03 +07:00
|
|
|
obj-$(CONFIG_VIDEO_RENESAS_JPU) += rcar_jpu.o
|
2013-06-04 21:22:30 +07:00
|
|
|
obj-$(CONFIG_VIDEO_RENESAS_VSP1) += vsp1/
|
|
|
|
|
2014-08-21 02:56:21 +07:00
|
|
|
obj-y += omap/
|
2012-08-20 14:00:14 +07:00
|
|
|
|
2014-12-10 02:43:44 +07:00
|
|
|
obj-$(CONFIG_VIDEO_AM437X_VPFE) += am437x/
|
|
|
|
|
2013-05-15 21:36:19 +07:00
|
|
|
obj-$(CONFIG_VIDEO_XILINX) += xilinx/
|
|
|
|
|
2016-04-26 20:22:19 +07:00
|
|
|
obj-$(CONFIG_VIDEO_RCAR_VIN) += rcar-vin/
|
|
|
|
|
2016-08-17 13:05:27 +07:00
|
|
|
obj-$(CONFIG_VIDEO_ATMEL_ISC) += atmel/
|
2016-09-21 13:53:25 +07:00
|
|
|
obj-$(CONFIG_VIDEO_ATMEL_ISI) += atmel/
|
2016-08-17 13:05:27 +07:00
|
|
|
|
2017-05-05 22:31:21 +07:00
|
|
|
obj-$(CONFIG_VIDEO_STM32_DCMI) += stm32/
|
|
|
|
|
2012-08-20 14:00:14 +07:00
|
|
|
ccflags-y += -I$(srctree)/drivers/media/i2c
|
2016-05-03 17:11:21 +07:00
|
|
|
|
|
|
|
obj-$(CONFIG_VIDEO_MEDIATEK_VPU) += mtk-vpu/
|
2016-05-03 17:11:24 +07:00
|
|
|
|
|
|
|
obj-$(CONFIG_VIDEO_MEDIATEK_VCODEC) += mtk-vcodec/
|
2016-09-08 20:09:03 +07:00
|
|
|
|
|
|
|
obj-$(CONFIG_VIDEO_MEDIATEK_MDP) += mtk-mdp/
|
2016-12-14 15:04:48 +07:00
|
|
|
|
|
|
|
obj-$(CONFIG_VIDEO_MEDIATEK_JPEG) += mtk-jpeg/
|
2017-06-15 23:31:50 +07:00
|
|
|
|
|
|
|
obj-$(CONFIG_VIDEO_QCOM_VENUS) += qcom/venus/
|
2017-07-27 22:20:29 +07:00
|
|
|
|
|
|
|
obj-y += meson/
|