On 06/21/2018 10:38 PM, Ezequiel Garcia wrote:
> A memory-to-memory pipeline device consists in three
> entities: two DMA engine and one video processing entities.
> The DMA engine entities are linked to a V4L interface.
> 
> This commit add a new v4l2_m2m_{un}register_media_controller
> API to register this topology.
> 
> For instance, a typical mem2mem device topology would
> look like this:
> 
> Device topology
> - entity 1: source (1 pad, 1 link)
>             type Node subtype V4L flags 0
>       pad0: Source
>               -> "proc":1 [ENABLED,IMMUTABLE]
> 
> - entity 3: proc (2 pads, 2 links)
>             type Node subtype Unknown flags 0
>       pad0: Source
>               -> "sink":0 [ENABLED,IMMUTABLE]
>       pad1: Sink
>               <- "source":0 [ENABLED,IMMUTABLE]
> 
> - entity 6: sink (1 pad, 1 link)
>             type Node subtype V4L flags 0
>       pad0: Sink
>               <- "proc":0 [ENABLED,IMMUTABLE]
> 
> Suggested-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
> Suggested-by: Hans Verkuil <hans.verk...@cisco.com>
> Signed-off-by: Ezequiel Garcia <ezequ...@collabora.com>
> ---
>  drivers/media/v4l2-core/v4l2-dev.c     |  13 +-
>  drivers/media/v4l2-core/v4l2-mem2mem.c | 174 +++++++++++++++++++++++++
>  include/media/v4l2-mem2mem.h           |  19 +++
>  include/uapi/linux/media.h             |   3 +
>  4 files changed, 204 insertions(+), 5 deletions(-)
> 

<snip>

> diff --git a/include/uapi/linux/media.h b/include/uapi/linux/media.h
> index c7e9a5cba24e..5f58c7ac04c0 100644
> --- a/include/uapi/linux/media.h
> +++ b/include/uapi/linux/media.h
> @@ -132,6 +132,9 @@ struct media_device_info {
>  #define MEDIA_ENT_F_PROC_VIDEO_LUT           (MEDIA_ENT_F_BASE + 0x4004)
>  #define MEDIA_ENT_F_PROC_VIDEO_SCALER                (MEDIA_ENT_F_BASE + 
> 0x4005)
>  #define MEDIA_ENT_F_PROC_VIDEO_STATISTICS    (MEDIA_ENT_F_BASE + 0x4006)
> +#define MEDIA_ENT_F_PROC_VIDEO_DECODER               (MEDIA_ENT_F_BASE + 
> 0x4007)
> +#define MEDIA_ENT_F_PROC_VIDEO_ENCODER               (MEDIA_ENT_F_BASE + 
> 0x4008)
> +#define MEDIA_ENT_F_PROC_VIDEO_DEINTERLACER  (MEDIA_ENT_F_BASE + 0x4009)
>  
>  /*
>   * Switch and bridge entity functions
> 

This last chunk is unrelated to this patch series.

May I suggest that you post this as a separate patch, together with an update to
the documentation (media-types.rst), that sits on top of:

https://git.linuxtv.org/hverkuil/media_tree.git/log/?h=media-missing2

That branch reformats the tables in media-types.rst, making it easier to add new
entries. In addition it already has one patch adding a new function ("media.h: 
add
MEDIA_ENT_F_DTV_ENCODER"). I'm happy to add your patch to this series and to
include it in the eventual pull request. The patches in this branch were also
posted to the mailinglist:

https://www.mail-archive.com/linux-media@vger.kernel.org/msg132942.html

Otherwise this patch looks great (after swapping the source/sink pad order).

Regards,

        Hans

Reply via email to