From: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
To: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Cc: linux-media@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org,
linux-staging@lists.linux.dev,
Benjamin Gaignard <benjamin.gaignard@collabora.com>,
Boris Brezillon <boris.brezillon@collabora.com>,
Fabio Estevam <festevam@gmail.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Hans Verkuil <hverkuil-cisco@xs4all.nl>,
Heiko Stuebner <heiko@sntech.de>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Nicolas Dufresne <nicolas.dufresne@collabora.com>,
NXP Linux Team <linux-imx@nxp.com>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Philipp Zabel <p.zabel@pengutronix.de>,
Sascha Hauer <s.hauer@pengutronix.de>,
Shawn Guo <shawnguo@kernel.org>,
kernel@collabora.com, Ezequiel Garcia <ezequiel@collabora.com>,
Adrian Ratiu <adrian.ratiu@collabora.com>,
Daniel Almeida <daniel.almeida@collabora.com>
Subject: Re: [PATCH v5 05/10] media: uapi: Add VP9 stateless decoder controls
Date: Fri, 24 Sep 2021 13:23:23 -0300 [thread overview]
Message-ID: <YU37e90gldL7zHke@fedora> (raw)
In-Reply-To: <20210922101146.13762-6-andrzej.p@collabora.com>
Hi Andrzej,
On Wed, Sep 22, 2021 at 12:11:41PM +0200, Andrzej Pietrasiewicz wrote:
> Add the VP9 stateless decoder controls plus the documentation that goes
> with it.
>
> Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
> Co-developed-by: Ezequiel Garcia <ezequiel@collabora.com>
> Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
> Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
> Co-developed-by: Daniel Almeida <daniel.almeida@collabora.com>
> Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com>
> ---
[snip]
> +
> +#define V4L2_VP9_FRAME_FLAG_KEY_FRAME 0x001
> +#define V4L2_VP9_FRAME_FLAG_SHOW_FRAME 0x002
> +#define V4L2_VP9_FRAME_FLAG_ERROR_RESILIENT 0x004
> +#define V4L2_VP9_FRAME_FLAG_INTRA_ONLY 0x008
> +#define V4L2_VP9_FRAME_FLAG_ALLOW_HIGH_PREC_MV 0x010
> +#define V4L2_VP9_FRAME_FLAG_REFRESH_FRAME_CTX 0x020
> +#define V4L2_VP9_FRAME_FLAG_PARALLEL_DEC_MODE 0x040
> +#define V4L2_VP9_FRAME_FLAG_X_SUBSAMPLING 0x080
> +#define V4L2_VP9_FRAME_FLAG_Y_SUBSAMPLING 0x100
> +#define V4L2_VP9_FRAME_FLAG_COLOR_RANGE_FULL_SWING 0x200
> +
> +#define V4L2_VP9_SIGN_BIAS_LAST 0x1
> +#define V4L2_VP9_SIGN_BIAS_GOLDEN 0x2
> +#define V4L2_VP9_SIGN_BIAS_ALT 0x4
> +
> +#define V4L2_VP9_RESET_FRAME_CTX_NONE 0
> +#define V4L2_VP9_RESET_FRAME_CTX_SPEC 1
> +#define V4L2_VP9_RESET_FRAME_CTX_ALL 2
> +
> +#define V4L2_VP9_INTERP_FILTER_EIGHTTAP 0
> +#define V4L2_VP9_INTERP_FILTER_EIGHTTAP_SMOOTH 1
> +#define V4L2_VP9_INTERP_FILTER_EIGHTTAP_SHARP 2
> +#define V4L2_VP9_INTERP_FILTER_BILINEAR 3
> +#define V4L2_VP9_INTERP_FILTER_SWITCHABLE 4
> +
> +#define V4L2_VP9_REFERENCE_MODE_SINGLE_REFERENCE 0
> +#define V4L2_VP9_REFERENCE_MODE_COMPOUND_REFERENCE 1
> +#define V4L2_VP9_REFERENCE_MODE_SELECT 2
> +
> +#define V4L2_VP9_PROFILE_MAX 3
> +
> +#define V4L2_CID_STATELESS_VP9_FRAME (V4L2_CID_CODEC_STATELESS_BASE + 300)
> +/**
> + * struct v4l2_ctrl_vp9_frame - VP9 frame decoding control
> + *
> + * @lf: loop filter parameters. See &v4l2_vp9_loop_filter for more details
Seems these documentation is missing an ending period for many fields.
> + * @quant: quantization parameters. See &v4l2_vp9_quantization for more details
> + * @seg: segmentation parameters. See &v4l2_vp9_segmentation for more details
> + * @flags: combination of V4L2_VP9_FRAME_FLAG_* flags
> + * @compressed_header_size: compressed header size in bytes
> + * @uncompressed_header_size: uncompressed header size in bytes
> + * @frame_width_minus_1: add 1 to it and you'll get the frame width expressed in pixels
> + * @frame_height_minus_1: add 1 to it and you'll get the frame height expressed in pixels
> + * @render_width_minus_1: add 1 to it and you'll get the expected render width expressed in
> + * pixels. This is not used during the decoding process but might be used by HW scalers
> + * to prepare a frame that's ready for scanout
> + * @render_height_minus_1: add 1 to it and you'll get the expected render height expressed in
> + * pixels. This is not used during the decoding process but might be used by HW scalers
> + * to prepare a frame that's ready for scanout
> + * @last_frame_ts: "last" reference buffer timestamp.
> + * The timestamp refers to the timestamp field in struct v4l2_buffer.
> + * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.
> + * @golden_frame_ts: "golden" reference buffer timestamp.
> + * The timestamp refers to the timestamp field in struct v4l2_buffer.
> + * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.
> + * @alt_frame_ts: "alt" reference buffer timestamp.
> + * The timestamp refers to the timestamp field in struct v4l2_buffer.
> + * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.
> + * @ref_frame_sign_bias: a bitfield specifying whether the sign bias is set for a given
> + * reference frame. Either of V4L2_VP9_SIGN_BIAS_*.
> + * @reset_frame_context: specifies whether the frame context should be reset to default values.
> + * Either of V4L2_VP9_RESET_FRAME_CTX_*.
> + * @frame_context_idx: frame context that should be used/updated
> + * @profile: VP9 profile. Can be 0, 1, 2 or 3
> + * @bit_depth: bits per components. Can be 8, 10 or 12. Note that not all profiles support
> + * 10 and/or 12 bits depths
> + * @interpolation_filter: specifies the filter selection used for performing inter prediction.
> + * Either of V4L2_VP9_INTERP_FILTER_*
> + * @tile_cols_log2: specifies the base 2 logarithm of the width of each tile (where the width
> + * is measured in units of 8x8 blocks). Shall be less than or equal to 6
> + * @tile_rows_log2: specifies the base 2 logarithm of the height of each tile (where the height
> + * is measured in units of 8x8 blocks)
> + * @reference_mode: specifies the type of inter prediction to be used. See
See what? :-)
> + * Either of V4L2_VP9_REFERENCE_MODE_*
Other controls use V4L2_VP9_REFERENCE_MODE_{}, {} instead of *.
The same applies to all the documentation.
> + * @reserved: padding field. Should be zeroed by applications.
> + */
> +struct v4l2_ctrl_vp9_frame {
> + struct v4l2_vp9_loop_filter lf;
> + struct v4l2_vp9_quantization quant;
> + struct v4l2_vp9_segmentation seg;
> + __u32 flags;
> + __u16 compressed_header_size;
> + __u16 uncompressed_header_size;
> + __u16 frame_width_minus_1;
> + __u16 frame_height_minus_1;
> + __u16 render_width_minus_1;
> + __u16 render_height_minus_1;
> + __u64 last_frame_ts;
> + __u64 golden_frame_ts;
> + __u64 alt_frame_ts;
> + __u8 ref_frame_sign_bias;
> + __u8 reset_frame_context;
> + __u8 frame_context_idx;
> + __u8 profile;
> + __u8 bit_depth;
> + __u8 interpolation_filter;
> + __u8 tile_cols_log2;
> + __u8 tile_rows_log2;
> + __u8 reference_mode;
> + __u8 reserved[7];
> +};
> +
Also, have you checked html and pdf docs and make sure
it looks as you expect?
Thanks,
Ezequiel
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
WARNING: multiple messages have this Message-ID (diff)
From: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
To: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Cc: linux-media@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org,
linux-staging@lists.linux.dev,
Benjamin Gaignard <benjamin.gaignard@collabora.com>,
Boris Brezillon <boris.brezillon@collabora.com>,
Fabio Estevam <festevam@gmail.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Hans Verkuil <hverkuil-cisco@xs4all.nl>,
Heiko Stuebner <heiko@sntech.de>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Nicolas Dufresne <nicolas.dufresne@collabora.com>,
NXP Linux Team <linux-imx@nxp.com>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Philipp Zabel <p.zabel@pengutronix.de>,
Sascha Hauer <s.hauer@pengutronix.de>,
Shawn Guo <shawnguo@kernel.org>,
kernel@collabora.com, Ezequiel Garcia <ezequiel@collabora.com>,
Adrian Ratiu <adrian.ratiu@collabora.com>,
Daniel Almeida <daniel.almeida@collabora.com>
Subject: Re: [PATCH v5 05/10] media: uapi: Add VP9 stateless decoder controls
Date: Fri, 24 Sep 2021 13:23:23 -0300 [thread overview]
Message-ID: <YU37e90gldL7zHke@fedora> (raw)
In-Reply-To: <20210922101146.13762-6-andrzej.p@collabora.com>
Hi Andrzej,
On Wed, Sep 22, 2021 at 12:11:41PM +0200, Andrzej Pietrasiewicz wrote:
> Add the VP9 stateless decoder controls plus the documentation that goes
> with it.
>
> Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
> Co-developed-by: Ezequiel Garcia <ezequiel@collabora.com>
> Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
> Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
> Co-developed-by: Daniel Almeida <daniel.almeida@collabora.com>
> Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com>
> ---
[snip]
> +
> +#define V4L2_VP9_FRAME_FLAG_KEY_FRAME 0x001
> +#define V4L2_VP9_FRAME_FLAG_SHOW_FRAME 0x002
> +#define V4L2_VP9_FRAME_FLAG_ERROR_RESILIENT 0x004
> +#define V4L2_VP9_FRAME_FLAG_INTRA_ONLY 0x008
> +#define V4L2_VP9_FRAME_FLAG_ALLOW_HIGH_PREC_MV 0x010
> +#define V4L2_VP9_FRAME_FLAG_REFRESH_FRAME_CTX 0x020
> +#define V4L2_VP9_FRAME_FLAG_PARALLEL_DEC_MODE 0x040
> +#define V4L2_VP9_FRAME_FLAG_X_SUBSAMPLING 0x080
> +#define V4L2_VP9_FRAME_FLAG_Y_SUBSAMPLING 0x100
> +#define V4L2_VP9_FRAME_FLAG_COLOR_RANGE_FULL_SWING 0x200
> +
> +#define V4L2_VP9_SIGN_BIAS_LAST 0x1
> +#define V4L2_VP9_SIGN_BIAS_GOLDEN 0x2
> +#define V4L2_VP9_SIGN_BIAS_ALT 0x4
> +
> +#define V4L2_VP9_RESET_FRAME_CTX_NONE 0
> +#define V4L2_VP9_RESET_FRAME_CTX_SPEC 1
> +#define V4L2_VP9_RESET_FRAME_CTX_ALL 2
> +
> +#define V4L2_VP9_INTERP_FILTER_EIGHTTAP 0
> +#define V4L2_VP9_INTERP_FILTER_EIGHTTAP_SMOOTH 1
> +#define V4L2_VP9_INTERP_FILTER_EIGHTTAP_SHARP 2
> +#define V4L2_VP9_INTERP_FILTER_BILINEAR 3
> +#define V4L2_VP9_INTERP_FILTER_SWITCHABLE 4
> +
> +#define V4L2_VP9_REFERENCE_MODE_SINGLE_REFERENCE 0
> +#define V4L2_VP9_REFERENCE_MODE_COMPOUND_REFERENCE 1
> +#define V4L2_VP9_REFERENCE_MODE_SELECT 2
> +
> +#define V4L2_VP9_PROFILE_MAX 3
> +
> +#define V4L2_CID_STATELESS_VP9_FRAME (V4L2_CID_CODEC_STATELESS_BASE + 300)
> +/**
> + * struct v4l2_ctrl_vp9_frame - VP9 frame decoding control
> + *
> + * @lf: loop filter parameters. See &v4l2_vp9_loop_filter for more details
Seems these documentation is missing an ending period for many fields.
> + * @quant: quantization parameters. See &v4l2_vp9_quantization for more details
> + * @seg: segmentation parameters. See &v4l2_vp9_segmentation for more details
> + * @flags: combination of V4L2_VP9_FRAME_FLAG_* flags
> + * @compressed_header_size: compressed header size in bytes
> + * @uncompressed_header_size: uncompressed header size in bytes
> + * @frame_width_minus_1: add 1 to it and you'll get the frame width expressed in pixels
> + * @frame_height_minus_1: add 1 to it and you'll get the frame height expressed in pixels
> + * @render_width_minus_1: add 1 to it and you'll get the expected render width expressed in
> + * pixels. This is not used during the decoding process but might be used by HW scalers
> + * to prepare a frame that's ready for scanout
> + * @render_height_minus_1: add 1 to it and you'll get the expected render height expressed in
> + * pixels. This is not used during the decoding process but might be used by HW scalers
> + * to prepare a frame that's ready for scanout
> + * @last_frame_ts: "last" reference buffer timestamp.
> + * The timestamp refers to the timestamp field in struct v4l2_buffer.
> + * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.
> + * @golden_frame_ts: "golden" reference buffer timestamp.
> + * The timestamp refers to the timestamp field in struct v4l2_buffer.
> + * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.
> + * @alt_frame_ts: "alt" reference buffer timestamp.
> + * The timestamp refers to the timestamp field in struct v4l2_buffer.
> + * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.
> + * @ref_frame_sign_bias: a bitfield specifying whether the sign bias is set for a given
> + * reference frame. Either of V4L2_VP9_SIGN_BIAS_*.
> + * @reset_frame_context: specifies whether the frame context should be reset to default values.
> + * Either of V4L2_VP9_RESET_FRAME_CTX_*.
> + * @frame_context_idx: frame context that should be used/updated
> + * @profile: VP9 profile. Can be 0, 1, 2 or 3
> + * @bit_depth: bits per components. Can be 8, 10 or 12. Note that not all profiles support
> + * 10 and/or 12 bits depths
> + * @interpolation_filter: specifies the filter selection used for performing inter prediction.
> + * Either of V4L2_VP9_INTERP_FILTER_*
> + * @tile_cols_log2: specifies the base 2 logarithm of the width of each tile (where the width
> + * is measured in units of 8x8 blocks). Shall be less than or equal to 6
> + * @tile_rows_log2: specifies the base 2 logarithm of the height of each tile (where the height
> + * is measured in units of 8x8 blocks)
> + * @reference_mode: specifies the type of inter prediction to be used. See
See what? :-)
> + * Either of V4L2_VP9_REFERENCE_MODE_*
Other controls use V4L2_VP9_REFERENCE_MODE_{}, {} instead of *.
The same applies to all the documentation.
> + * @reserved: padding field. Should be zeroed by applications.
> + */
> +struct v4l2_ctrl_vp9_frame {
> + struct v4l2_vp9_loop_filter lf;
> + struct v4l2_vp9_quantization quant;
> + struct v4l2_vp9_segmentation seg;
> + __u32 flags;
> + __u16 compressed_header_size;
> + __u16 uncompressed_header_size;
> + __u16 frame_width_minus_1;
> + __u16 frame_height_minus_1;
> + __u16 render_width_minus_1;
> + __u16 render_height_minus_1;
> + __u64 last_frame_ts;
> + __u64 golden_frame_ts;
> + __u64 alt_frame_ts;
> + __u8 ref_frame_sign_bias;
> + __u8 reset_frame_context;
> + __u8 frame_context_idx;
> + __u8 profile;
> + __u8 bit_depth;
> + __u8 interpolation_filter;
> + __u8 tile_cols_log2;
> + __u8 tile_rows_log2;
> + __u8 reference_mode;
> + __u8 reserved[7];
> +};
> +
Also, have you checked html and pdf docs and make sure
it looks as you expect?
Thanks,
Ezequiel
WARNING: multiple messages have this Message-ID (diff)
From: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
To: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Cc: linux-media@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org,
linux-staging@lists.linux.dev,
Benjamin Gaignard <benjamin.gaignard@collabora.com>,
Boris Brezillon <boris.brezillon@collabora.com>,
Fabio Estevam <festevam@gmail.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Hans Verkuil <hverkuil-cisco@xs4all.nl>,
Heiko Stuebner <heiko@sntech.de>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Nicolas Dufresne <nicolas.dufresne@collabora.com>,
NXP Linux Team <linux-imx@nxp.com>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Philipp Zabel <p.zabel@pengutronix.de>,
Sascha Hauer <s.hauer@pengutronix.de>,
Shawn Guo <shawnguo@kernel.org>,
kernel@collabora.com, Ezequiel Garcia <ezequiel@collabora.com>,
Adrian Ratiu <adrian.ratiu@collabora.com>,
Daniel Almeida <daniel.almeida@collabora.com>
Subject: Re: [PATCH v5 05/10] media: uapi: Add VP9 stateless decoder controls
Date: Fri, 24 Sep 2021 13:23:23 -0300 [thread overview]
Message-ID: <YU37e90gldL7zHke@fedora> (raw)
In-Reply-To: <20210922101146.13762-6-andrzej.p@collabora.com>
Hi Andrzej,
On Wed, Sep 22, 2021 at 12:11:41PM +0200, Andrzej Pietrasiewicz wrote:
> Add the VP9 stateless decoder controls plus the documentation that goes
> with it.
>
> Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
> Co-developed-by: Ezequiel Garcia <ezequiel@collabora.com>
> Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
> Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
> Co-developed-by: Daniel Almeida <daniel.almeida@collabora.com>
> Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com>
> ---
[snip]
> +
> +#define V4L2_VP9_FRAME_FLAG_KEY_FRAME 0x001
> +#define V4L2_VP9_FRAME_FLAG_SHOW_FRAME 0x002
> +#define V4L2_VP9_FRAME_FLAG_ERROR_RESILIENT 0x004
> +#define V4L2_VP9_FRAME_FLAG_INTRA_ONLY 0x008
> +#define V4L2_VP9_FRAME_FLAG_ALLOW_HIGH_PREC_MV 0x010
> +#define V4L2_VP9_FRAME_FLAG_REFRESH_FRAME_CTX 0x020
> +#define V4L2_VP9_FRAME_FLAG_PARALLEL_DEC_MODE 0x040
> +#define V4L2_VP9_FRAME_FLAG_X_SUBSAMPLING 0x080
> +#define V4L2_VP9_FRAME_FLAG_Y_SUBSAMPLING 0x100
> +#define V4L2_VP9_FRAME_FLAG_COLOR_RANGE_FULL_SWING 0x200
> +
> +#define V4L2_VP9_SIGN_BIAS_LAST 0x1
> +#define V4L2_VP9_SIGN_BIAS_GOLDEN 0x2
> +#define V4L2_VP9_SIGN_BIAS_ALT 0x4
> +
> +#define V4L2_VP9_RESET_FRAME_CTX_NONE 0
> +#define V4L2_VP9_RESET_FRAME_CTX_SPEC 1
> +#define V4L2_VP9_RESET_FRAME_CTX_ALL 2
> +
> +#define V4L2_VP9_INTERP_FILTER_EIGHTTAP 0
> +#define V4L2_VP9_INTERP_FILTER_EIGHTTAP_SMOOTH 1
> +#define V4L2_VP9_INTERP_FILTER_EIGHTTAP_SHARP 2
> +#define V4L2_VP9_INTERP_FILTER_BILINEAR 3
> +#define V4L2_VP9_INTERP_FILTER_SWITCHABLE 4
> +
> +#define V4L2_VP9_REFERENCE_MODE_SINGLE_REFERENCE 0
> +#define V4L2_VP9_REFERENCE_MODE_COMPOUND_REFERENCE 1
> +#define V4L2_VP9_REFERENCE_MODE_SELECT 2
> +
> +#define V4L2_VP9_PROFILE_MAX 3
> +
> +#define V4L2_CID_STATELESS_VP9_FRAME (V4L2_CID_CODEC_STATELESS_BASE + 300)
> +/**
> + * struct v4l2_ctrl_vp9_frame - VP9 frame decoding control
> + *
> + * @lf: loop filter parameters. See &v4l2_vp9_loop_filter for more details
Seems these documentation is missing an ending period for many fields.
> + * @quant: quantization parameters. See &v4l2_vp9_quantization for more details
> + * @seg: segmentation parameters. See &v4l2_vp9_segmentation for more details
> + * @flags: combination of V4L2_VP9_FRAME_FLAG_* flags
> + * @compressed_header_size: compressed header size in bytes
> + * @uncompressed_header_size: uncompressed header size in bytes
> + * @frame_width_minus_1: add 1 to it and you'll get the frame width expressed in pixels
> + * @frame_height_minus_1: add 1 to it and you'll get the frame height expressed in pixels
> + * @render_width_minus_1: add 1 to it and you'll get the expected render width expressed in
> + * pixels. This is not used during the decoding process but might be used by HW scalers
> + * to prepare a frame that's ready for scanout
> + * @render_height_minus_1: add 1 to it and you'll get the expected render height expressed in
> + * pixels. This is not used during the decoding process but might be used by HW scalers
> + * to prepare a frame that's ready for scanout
> + * @last_frame_ts: "last" reference buffer timestamp.
> + * The timestamp refers to the timestamp field in struct v4l2_buffer.
> + * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.
> + * @golden_frame_ts: "golden" reference buffer timestamp.
> + * The timestamp refers to the timestamp field in struct v4l2_buffer.
> + * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.
> + * @alt_frame_ts: "alt" reference buffer timestamp.
> + * The timestamp refers to the timestamp field in struct v4l2_buffer.
> + * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64.
> + * @ref_frame_sign_bias: a bitfield specifying whether the sign bias is set for a given
> + * reference frame. Either of V4L2_VP9_SIGN_BIAS_*.
> + * @reset_frame_context: specifies whether the frame context should be reset to default values.
> + * Either of V4L2_VP9_RESET_FRAME_CTX_*.
> + * @frame_context_idx: frame context that should be used/updated
> + * @profile: VP9 profile. Can be 0, 1, 2 or 3
> + * @bit_depth: bits per components. Can be 8, 10 or 12. Note that not all profiles support
> + * 10 and/or 12 bits depths
> + * @interpolation_filter: specifies the filter selection used for performing inter prediction.
> + * Either of V4L2_VP9_INTERP_FILTER_*
> + * @tile_cols_log2: specifies the base 2 logarithm of the width of each tile (where the width
> + * is measured in units of 8x8 blocks). Shall be less than or equal to 6
> + * @tile_rows_log2: specifies the base 2 logarithm of the height of each tile (where the height
> + * is measured in units of 8x8 blocks)
> + * @reference_mode: specifies the type of inter prediction to be used. See
See what? :-)
> + * Either of V4L2_VP9_REFERENCE_MODE_*
Other controls use V4L2_VP9_REFERENCE_MODE_{}, {} instead of *.
The same applies to all the documentation.
> + * @reserved: padding field. Should be zeroed by applications.
> + */
> +struct v4l2_ctrl_vp9_frame {
> + struct v4l2_vp9_loop_filter lf;
> + struct v4l2_vp9_quantization quant;
> + struct v4l2_vp9_segmentation seg;
> + __u32 flags;
> + __u16 compressed_header_size;
> + __u16 uncompressed_header_size;
> + __u16 frame_width_minus_1;
> + __u16 frame_height_minus_1;
> + __u16 render_width_minus_1;
> + __u16 render_height_minus_1;
> + __u64 last_frame_ts;
> + __u64 golden_frame_ts;
> + __u64 alt_frame_ts;
> + __u8 ref_frame_sign_bias;
> + __u8 reset_frame_context;
> + __u8 frame_context_idx;
> + __u8 profile;
> + __u8 bit_depth;
> + __u8 interpolation_filter;
> + __u8 tile_cols_log2;
> + __u8 tile_rows_log2;
> + __u8 reference_mode;
> + __u8 reserved[7];
> +};
> +
Also, have you checked html and pdf docs and make sure
it looks as you expect?
Thanks,
Ezequiel
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-09-24 16:23 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-22 10:11 [PATCH v5 00/10] VP9 codec V4L2 control interface Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` [PATCH v5 01/10] hantro: postproc: Fix motion vector space size Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` [PATCH v5 02/10] hantro: postproc: Introduce struct hantro_postproc_ops Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-24 9:06 ` Benjamin Gaignard
2021-09-24 9:06 ` Benjamin Gaignard
2021-09-24 9:06 ` Benjamin Gaignard
2021-09-22 10:11 ` [PATCH v5 03/10] hantro: Simplify postprocessor Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` [PATCH v5 04/10] hantro: Add quirk for NV12/NV12_4L4 capture format Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` [PATCH v5 05/10] media: uapi: Add VP9 stateless decoder controls Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-24 16:23 ` Ezequiel Garcia [this message]
2021-09-24 16:23 ` Ezequiel Garcia
2021-09-24 16:23 ` Ezequiel Garcia
2021-09-27 11:20 ` Andrzej Pietrasiewicz
2021-09-27 11:20 ` Andrzej Pietrasiewicz
2021-09-27 11:20 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` [PATCH v5 06/10] media: Add VP9 v4l2 library Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` [PATCH v5 07/10] media: rkvdec: Add the VP9 backend Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` [PATCH v5 08/10] media: hantro: Prepare for other G2 codecs Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-24 9:09 ` Benjamin Gaignard
2021-09-24 9:09 ` Benjamin Gaignard
2021-09-24 9:09 ` Benjamin Gaignard
2021-09-22 10:11 ` [PATCH v5 09/10] media: hantro: Support VP9 on the G2 core Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-24 9:26 ` Benjamin Gaignard
2021-09-24 9:26 ` Benjamin Gaignard
2021-09-24 9:26 ` Benjamin Gaignard
2021-09-22 10:11 ` [PATCH v5 10/10] media: hantro: Support NV12 " Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
2021-09-22 10:11 ` Andrzej Pietrasiewicz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YU37e90gldL7zHke@fedora \
--to=ezequiel@vanguardiasur.com.ar \
--cc=adrian.ratiu@collabora.com \
--cc=andrzej.p@collabora.com \
--cc=benjamin.gaignard@collabora.com \
--cc=boris.brezillon@collabora.com \
--cc=daniel.almeida@collabora.com \
--cc=ezequiel@collabora.com \
--cc=festevam@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=heiko@sntech.de \
--cc=hverkuil-cisco@xs4all.nl \
--cc=jernej.skrabec@gmail.com \
--cc=kernel@collabora.com \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-staging@lists.linux.dev \
--cc=mchehab@kernel.org \
--cc=nicolas.dufresne@collabora.com \
--cc=p.zabel@pengutronix.de \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.