Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1179aab1 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Mauro Carvalho Chehab
Browse files

[media] media: Add video processing entity functions



Add composer, pixel formatter, pixel encoding converter and scaler
functions.

Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Acked-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 67a706f3
Loading
Loading
Loading
Loading
+55 −0
Original line number Original line Diff line number Diff line
@@ -121,6 +121,61 @@
	    <entry><constant>MEDIA_ENT_F_AUDIO_MIXER</constant></entry>
	    <entry><constant>MEDIA_ENT_F_AUDIO_MIXER</constant></entry>
	    <entry>Audio Mixer Function Entity.</entry>
	    <entry>Audio Mixer Function Entity.</entry>
	  </row>
	  </row>
	  <row>
	    <entry><constant>MEDIA_ENT_F_PROC_VIDEO_COMPOSER</constant></entry>
	    <entry>Video composer (blender). An entity capable of video
		   composing must have at least two sink pads and one source
		   pad, and composes input video frames onto output video
		   frames. Composition can be performed using alpha blending,
		   color keying, raster operations (ROP), stitching or any other
		   means.
	    </entry>
	  </row>
	  <row>
	    <entry><constant>MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER</constant></entry>
	    <entry>Video pixel formatter. An entity capable of pixel formatting
		   must have at least one sink pad and one source pad. Read
		   pixel formatters read pixels from memory and perform a subset
		   of unpacking, cropping, color keying, alpha multiplication
		   and pixel encoding conversion. Write pixel formatters perform
		   a subset of dithering, pixel encoding conversion and packing
		   and write pixels to memory.
	    </entry>
	  </row>
	  <row>
	    <entry><constant>MEDIA_ENT_F_PROC_VIDEO_PIXEL_ENC_CONV</constant></entry>
	    <entry>Video pixel encoding converter. An entity capable of pixel
		   enconding conversion must have at least one sink pad and one
		   source pad, and convert the encoding of pixels received on
		   its sink pad(s) to a different encoding output on its source
		   pad(s). Pixel encoding conversion includes but isn't limited
		   to RGB to/from HSV, RGB to/from YUV and CFA (Bayer) to RGB
		   conversions.
	    </entry>
	  </row>
	  <row>
	    <entry><constant>MEDIA_ENT_F_PROC_VIDEO_LUT</constant></entry>
	    <entry>Video look-up table. An entity capable of video lookup table
		   processing must have one sink pad and one source pad. It uses
		   the values of the pixels received on its sink pad to look up
		   entries in internal tables and output them on its source pad.
		   The lookup processing can be performed on all components
		   separately or combine them for multi-dimensional table
		   lookups.
	    </entry>
	  </row>
	  <row>
	    <entry><constant>MEDIA_ENT_F_PROC_VIDEO_SCALER</constant></entry>
	    <entry>Video scaler. An entity capable of video scaling must have
		   at least one sink pad and one source pad, and scale the
		   video frame(s) received on its sink pad(s) to a different
		   resolution output on its source pad(s). The range of
		   supported scaling ratios is entity-specific and can differ
		   between the horizontal and vertical directions (in particular
		   scaling can be supported in one direction only). Binning and
		   skipping are considered as scaling.
	    </entry>
	  </row>
	</tbody>
	</tbody>
      </tgroup>
      </tgroup>
    </table>
    </table>
+9 −0
Original line number Original line Diff line number Diff line
@@ -94,6 +94,15 @@ struct media_device_info {
#define MEDIA_ENT_F_AUDIO_PLAYBACK	(MEDIA_ENT_F_BASE + 0x03002)
#define MEDIA_ENT_F_AUDIO_PLAYBACK	(MEDIA_ENT_F_BASE + 0x03002)
#define MEDIA_ENT_F_AUDIO_MIXER		(MEDIA_ENT_F_BASE + 0x03003)
#define MEDIA_ENT_F_AUDIO_MIXER		(MEDIA_ENT_F_BASE + 0x03003)


/*
 * Processing entities
 */
#define MEDIA_ENT_F_PROC_VIDEO_COMPOSER		(MEDIA_ENT_F_BASE + 0x4001)
#define MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER	(MEDIA_ENT_F_BASE + 0x4002)
#define MEDIA_ENT_F_PROC_VIDEO_PIXEL_ENC_CONV	(MEDIA_ENT_F_BASE + 0x4003)
#define MEDIA_ENT_F_PROC_VIDEO_LUT		(MEDIA_ENT_F_BASE + 0x4004)
#define MEDIA_ENT_F_PROC_VIDEO_SCALER		(MEDIA_ENT_F_BASE + 0x4005)

/*
/*
 * Connectors
 * Connectors
 */
 */