[media] v4l: Add Renesas R-Car FDP1 Driver

The FDP1 driver performs advanced de-interlacing on a memory 2 memory
based video stream, and supports conversion from YCbCr/YUV
to RGB pixel formats

Signed-off-by: Kieran Bingham <kieran+renesas@bingham.xyz>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
Kieran Bingham 2016-06-30 10:41:23 -03:00 committed by Mauro Carvalho Chehab
parent 3547d32be0
commit 4710b752e0
6 changed files with 2506 additions and 0 deletions

View File

@ -48,6 +48,7 @@ For more details see the file COPYING in the source distribution of Linux.
pvrusb2
pxa_camera
radiotrack
rcar-fdp1
saa7134
sh_mobile_ceu_camera
si470x

View File

@ -0,0 +1,37 @@
Renesas R-Car Fine Display Processor (FDP1) Driver
==================================================
The R-Car FDP1 driver implements driver-specific controls as follows.
``V4L2_CID_DEINTERLACING_MODE (menu)``
The video deinterlacing mode (such as Bob, Weave, ...). The R-Car FDP1
driver implements the following modes.
.. flat-table::
:header-rows: 0
:stub-columns: 0
:widths: 1 4
* - ``"Progressive" (0)``
- The input image video stream is progressive (not interlaced). No
deinterlacing is performed. Apart from (optional) format and encoding
conversion output frames are identical to the input frames.
* - ``"Adaptive 2D/3D" (1)``
- Motion adaptive version of 2D and 3D deinterlacing. Use 3D deinterlacing
in the presence of fast motion and 2D deinterlacing with diagonal
interpolation otherwise.
* - ``"Fixed 2D" (2)``
- The current field is scaled vertically by averaging adjacent lines to
recover missing lines. This method is also known as blending or Line
Averaging (LAV).
* - ``"Fixed 3D" (3)``
- The previous and next fields are averaged to recover lines missing from
the current field. This method is also known as Field Averaging (FAV).
* - ``"Previous field" (4)``
- The current field is weaved with the previous field, i.e. the previous
field is used to fill missing lines from the current field. This method
is also known as weave deinterlacing.
* - ``"Next field" (5)``
- The current field is weaved with the next field, i.e. the next field is
used to fill missing lines from the current field. This method is also
known as weave deinterlacing.

View File

@ -7712,6 +7712,15 @@ F: Documentation/devicetree/bindings/media/renesas,fcp.txt
F: drivers/media/platform/rcar-fcp.c
F: include/media/rcar-fcp.h
MEDIA DRIVERS FOR RENESAS - FDP1
M: Kieran Bingham <kieran@bingham.xyz>
L: linux-media@vger.kernel.org
L: linux-renesas-soc@vger.kernel.org
T: git git://linuxtv.org/media_tree.git
S: Supported
F: Documentation/devicetree/bindings/media/renesas,fdp1.txt
F: drivers/media/platform/rcar_fdp1.c
MEDIA DRIVERS FOR RENESAS - VIN
M: Niklas Söderlund <niklas.soderlund@ragnatech.se>
L: linux-media@vger.kernel.org

View File

@ -307,6 +307,19 @@ config VIDEO_SH_VEU
Support for the Video Engine Unit (VEU) on SuperH and
SH-Mobile SoCs.
config VIDEO_RENESAS_FDP1
tristate "Renesas Fine Display Processor"
depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
depends on ARCH_SHMOBILE || COMPILE_TEST
select VIDEOBUF2_DMA_CONTIG
select V4L2_MEM2MEM_DEV
---help---
This is a V4L2 driver for the Renesas Fine Display Processor
providing colour space conversion, and de-interlacing features.
To compile this driver as a module, choose M here: the module
will be called rcar_fdp1.
config VIDEO_RENESAS_JPU
tristate "Renesas JPEG Processing Unit"
depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA

View File

@ -48,6 +48,7 @@ obj-$(CONFIG_VIDEO_SH_VOU) += sh_vou.o
obj-$(CONFIG_SOC_CAMERA) += soc_camera/
obj-$(CONFIG_VIDEO_RENESAS_FCP) += rcar-fcp.o
obj-$(CONFIG_VIDEO_RENESAS_FDP1) += rcar_fdp1.o
obj-$(CONFIG_VIDEO_RENESAS_JPU) += rcar_jpu.o
obj-$(CONFIG_VIDEO_RENESAS_VSP1) += vsp1/

File diff suppressed because it is too large Load Diff