diff options
| author | Pawel Osciak <[email protected]> | 2019-05-24 05:20:28 -0400 |
|---|---|---|
| committer | Mauro Carvalho Chehab <[email protected]> | 2019-05-29 06:25:09 -0400 |
| commit | 1f0545d3ed1df3a915546cee60b56f855962ed69 (patch) | |
| tree | 4e774e4639043a3c448589d4a78f139ee3f87d3b /include | |
| parent | 9d7a1bed070675aac32afc8c4352c74a52a22e4e (diff) | |
media: uapi: Add H264 low-level decoder API compound controls.
Stateless video codecs will require both the H264 metadata and slices in
order to be able to decode frames.
This introduces the definitions for the structures used to pass the
metadata from the userspace to the kernel.
[[email protected]: add space after . in ".For"]
[[email protected]: sync v4l2_ctrl_h264_decode_params struct layout with header]
Co-developed-by: Maxime Ripard <[email protected]>
Reviewed-by: Paul Kocialkowski <[email protected]>
Reviewed-by: Tomasz Figa <[email protected]>
Signed-off-by: Pawel Osciak <[email protected]>
Signed-off-by: Guenter Roeck <[email protected]>
Signed-off-by: Maxime Ripard <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Diffstat (limited to 'include')
| -rw-r--r-- | include/media/v4l2-ctrls.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/include/media/v4l2-ctrls.h b/include/media/v4l2-ctrls.h index ee026387f513..a8aede26491e 100644 --- a/include/media/v4l2-ctrls.h +++ b/include/media/v4l2-ctrls.h @@ -23,11 +23,12 @@ #include <media/media-request.h> /* - * Include the mpeg2 and fwht stateless codec compound control definitions. + * Include the stateless codec compound control definitions. * This will move to the public headers once this API is fully stable. */ #include <media/mpeg2-ctrls.h> #include <media/fwht-ctrls.h> +#include <media/h264-ctrls.h> /* forward references */ struct file; @@ -51,6 +52,11 @@ struct poll_table_struct; * @p_mpeg2_slice_params: Pointer to a MPEG2 slice parameters structure. * @p_mpeg2_quantization: Pointer to a MPEG2 quantization data structure. * @p_fwht_params: Pointer to a FWHT stateless parameters structure. + * @p_h264_sps: Pointer to a struct v4l2_ctrl_h264_sps. + * @p_h264_pps: Pointer to a struct v4l2_ctrl_h264_pps. + * @p_h264_scaling_matrix: Pointer to a struct v4l2_ctrl_h264_scaling_matrix. + * @p_h264_slice_params: Pointer to a struct v4l2_ctrl_h264_slice_params. + * @p_h264_decode_params: Pointer to a struct v4l2_ctrl_h264_decode_params. * @p: Pointer to a compound value. */ union v4l2_ctrl_ptr { @@ -63,6 +69,11 @@ union v4l2_ctrl_ptr { struct v4l2_ctrl_mpeg2_slice_params *p_mpeg2_slice_params; struct v4l2_ctrl_mpeg2_quantization *p_mpeg2_quantization; struct v4l2_ctrl_fwht_params *p_fwht_params; + struct v4l2_ctrl_h264_sps *p_h264_sps; + struct v4l2_ctrl_h264_pps *p_h264_pps; + struct v4l2_ctrl_h264_scaling_matrix *p_h264_scaling_matrix; + struct v4l2_ctrl_h264_slice_params *p_h264_slice_params; + struct v4l2_ctrl_h264_decode_params *p_h264_decode_params; void *p; }; |