The g_embedded_data callback allows the host to retrieve frame embedded (meta) data from a certain subdev. This callback can be implemented by an image sensor or a MIPI-CSI receiver, allowing to read embedded frame data from a subdev or just query it for the data size. Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> --- include/media/v4l2-subdev.h | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h index f0f3358..be74061 100644 --- a/include/media/v4l2-subdev.h +++ b/include/media/v4l2-subdev.h @@ -274,6 +274,14 @@ struct v4l2_subdev_audio_ops { s_mbus_config: set a certain mediabus configuration. This operation is added for compatibility with soc-camera drivers and should not be used by new software. + + g_embedded_data: retrieve the frame embedded data (frame header or footer). + After a full frame has been transmitted the host can query a subdev + for frame meta data using this operation. Metadata size is returned + in @size, and the actual metadata in memory pointed by @data. When + @buf is NULL the subdev will return only the metadata size. The + subdevs can adjust @size to a lower value but must not write more + data than the @size's original value. */ struct v4l2_subdev_video_ops { int (*s_routing)(struct v4l2_subdev *sd, u32 input, u32 output, u32 config); @@ -321,6 +329,8 @@ struct v4l2_subdev_video_ops { struct v4l2_mbus_config *cfg); int (*s_mbus_config)(struct v4l2_subdev *sd, const struct v4l2_mbus_config *cfg); + int (*g_embedded_data)(struct v4l2_subdev *sd, unsigned int *size, + void **buf); }; /* -- 1.7.9 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html