All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Gaignard <benjamin.gaignard@collabora.com>
To: John Cox <jc@kynesim.co.uk>
Cc: mchehab@kernel.org, ezequiel@vanguardiasur.com.ar,
	p.zabel@pengutronix.de, gregkh@linuxfoundation.org,
	mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org,
	jernej.skrabec@gmail.com, hverkuil-cisco@xs4all.nl,
	jonas@kwiboo.se, nicolas@ndufresne.ca,
	linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-staging@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org,
	linux-sunxi@lists.linux.dev, kernel@collabora.com,
	knaerzche@gmail.com
Subject: Re: [RFC v2 7/8] media: uapi: Add V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET control
Date: Wed, 16 Feb 2022 18:19:10 +0100	[thread overview]
Message-ID: <846370ec-5c9e-e4cb-eccf-0b0c6bdbc847@collabora.com> (raw)
In-Reply-To: <a8lp0h15oaibdu1pqrkhsu8nh32v423tur@4ax.com>


Le 16/02/2022 à 11:54, John Cox a écrit :
> On Tue, 15 Feb 2022 12:01:02 +0100, you wrote:
>
>> The number of 'entry point offset' could be very variable.
>> Rather than use a large static array define a v4l2 dynamic array
>> of integer control.
>> The number of entry point offsets is reported by the elems field.
> If we are going to support multiple slice headers in a single control
> then we are going to need to know how to split these entries between
> them as I assume that the entry point offset entries for all slice
> headers would just be catenated here.  You could add extra elements here
> or generate a completely new control but I think it would be easier to
> reinstate the num_entry_point_offsets field in the slice_params
> structure (its a field that userpace has in its hand anyway so its no
> effort for it to fill in).  num_entry_point_offsets is a field that RPi
> wants (without needing the entry points themselves) so that would help
> me.

Would that means num_entry_point_offsets field in slice parameter control
+ one control for the entry points themselves ?
or the both on slice parameter control (like now) ?

Regards
Benjamin

>
> Regards
>
> John Cox
>
>> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
>> ---
>> version 2:
>> - Define a new CID for entry point offsets parameters
>> .../userspace-api/media/v4l/ext-ctrls-codec.rst          | 9 +++++++++
>> include/uapi/linux/v4l2-controls.h                       | 1 +
>> 2 files changed, 10 insertions(+)
>>
>> diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
>> index c3ae97657fa7..679595e94643 100644
>> --- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
>> +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
>> @@ -3101,6 +3101,15 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -
>>
>>      \normalsize
>>
>> +``V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS (integer)``
>> +    Specifies the i-th entry point offset in bytes and is represented by
>> +    offset_len_minus1 plus 1 bits.
>> +    This control is a dynamically sized array. The number of entry point
>> +    offsets is reported by the ``elems`` field.
>> +    This bitstream parameter is defined according to :ref:`hevc`.
>> +    They are described in section 7.4.7.1 "General slice segment header
>> +    semantics" of the specification.
>> +
>> ``V4L2_CID_STATELESS_HEVC_SCALING_MATRIX (struct)``
>>      Specifies the HEVC scaling matrix parameters used for the scaling process
>>      for transform coefficients.
>> diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
>> index 27f5d272dc43..700e6cce958c 100644
>> --- a/include/uapi/linux/v4l2-controls.h
>> +++ b/include/uapi/linux/v4l2-controls.h
>> @@ -2314,6 +2314,7 @@ struct v4l2_ctrl_vp9_compressed_hdr {
>> #define V4L2_CID_STATELESS_HEVC_DECODE_PARAMS	(V4L2_CID_CODEC_STATELESS_BASE + 404)
>> #define V4L2_CID_STATELESS_HEVC_DECODE_MODE	(V4L2_CID_CODEC_STATELESS_BASE + 405)
>> #define V4L2_CID_STATELESS_HEVC_START_CODE	(V4L2_CID_CODEC_STATELESS_BASE + 406)
>> +#define V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET	(V4L2_CID_CODEC_STATELESS_BASE + 407)
>>
>> enum v4l2_stateless_hevc_decode_mode {
>> 	V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED,

WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Gaignard <benjamin.gaignard@collabora.com>
To: John Cox <jc@kynesim.co.uk>
Cc: mchehab@kernel.org, ezequiel@vanguardiasur.com.ar,
	p.zabel@pengutronix.de, gregkh@linuxfoundation.org,
	mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org,
	jernej.skrabec@gmail.com, hverkuil-cisco@xs4all.nl,
	jonas@kwiboo.se, nicolas@ndufresne.ca,
	linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-staging@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org,
	linux-sunxi@lists.linux.dev, kernel@collabora.com,
	knaerzche@gmail.com
Subject: Re: [RFC v2 7/8] media: uapi: Add V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET control
Date: Wed, 16 Feb 2022 18:19:10 +0100	[thread overview]
Message-ID: <846370ec-5c9e-e4cb-eccf-0b0c6bdbc847@collabora.com> (raw)
In-Reply-To: <a8lp0h15oaibdu1pqrkhsu8nh32v423tur@4ax.com>


Le 16/02/2022 à 11:54, John Cox a écrit :
> On Tue, 15 Feb 2022 12:01:02 +0100, you wrote:
>
>> The number of 'entry point offset' could be very variable.
>> Rather than use a large static array define a v4l2 dynamic array
>> of integer control.
>> The number of entry point offsets is reported by the elems field.
> If we are going to support multiple slice headers in a single control
> then we are going to need to know how to split these entries between
> them as I assume that the entry point offset entries for all slice
> headers would just be catenated here.  You could add extra elements here
> or generate a completely new control but I think it would be easier to
> reinstate the num_entry_point_offsets field in the slice_params
> structure (its a field that userpace has in its hand anyway so its no
> effort for it to fill in).  num_entry_point_offsets is a field that RPi
> wants (without needing the entry points themselves) so that would help
> me.

Would that means num_entry_point_offsets field in slice parameter control
+ one control for the entry points themselves ?
or the both on slice parameter control (like now) ?

Regards
Benjamin

>
> Regards
>
> John Cox
>
>> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
>> ---
>> version 2:
>> - Define a new CID for entry point offsets parameters
>> .../userspace-api/media/v4l/ext-ctrls-codec.rst          | 9 +++++++++
>> include/uapi/linux/v4l2-controls.h                       | 1 +
>> 2 files changed, 10 insertions(+)
>>
>> diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
>> index c3ae97657fa7..679595e94643 100644
>> --- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
>> +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
>> @@ -3101,6 +3101,15 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -
>>
>>      \normalsize
>>
>> +``V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSETS (integer)``
>> +    Specifies the i-th entry point offset in bytes and is represented by
>> +    offset_len_minus1 plus 1 bits.
>> +    This control is a dynamically sized array. The number of entry point
>> +    offsets is reported by the ``elems`` field.
>> +    This bitstream parameter is defined according to :ref:`hevc`.
>> +    They are described in section 7.4.7.1 "General slice segment header
>> +    semantics" of the specification.
>> +
>> ``V4L2_CID_STATELESS_HEVC_SCALING_MATRIX (struct)``
>>      Specifies the HEVC scaling matrix parameters used for the scaling process
>>      for transform coefficients.
>> diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
>> index 27f5d272dc43..700e6cce958c 100644
>> --- a/include/uapi/linux/v4l2-controls.h
>> +++ b/include/uapi/linux/v4l2-controls.h
>> @@ -2314,6 +2314,7 @@ struct v4l2_ctrl_vp9_compressed_hdr {
>> #define V4L2_CID_STATELESS_HEVC_DECODE_PARAMS	(V4L2_CID_CODEC_STATELESS_BASE + 404)
>> #define V4L2_CID_STATELESS_HEVC_DECODE_MODE	(V4L2_CID_CODEC_STATELESS_BASE + 405)
>> #define V4L2_CID_STATELESS_HEVC_START_CODE	(V4L2_CID_CODEC_STATELESS_BASE + 406)
>> +#define V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET	(V4L2_CID_CODEC_STATELESS_BASE + 407)
>>
>> enum v4l2_stateless_hevc_decode_mode {
>> 	V4L2_STATELESS_HEVC_DECODE_MODE_SLICE_BASED,

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-02-16 17:19 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-15 11:00 [RFC v2 0/8] Move HEVC stateless controls out of staging Benjamin Gaignard
2022-02-15 11:00 ` Benjamin Gaignard
2022-02-15 11:00 ` [RFC v2 1/8] videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY Benjamin Gaignard
2022-02-15 11:00   ` Benjamin Gaignard
2022-02-15 11:00 ` [RFC v2 2/8] v4l2-ctrls: add support for dynamically allocated arrays Benjamin Gaignard
2022-02-15 11:00   ` Benjamin Gaignard
2022-02-15 11:00 ` [RFC v2 3/8] vivid: add dynamic array test control Benjamin Gaignard
2022-02-15 11:00   ` Benjamin Gaignard
2022-02-15 11:00 ` [RFC v2 4/8] media: uapi: Move HEVC stateless controls out of staging Benjamin Gaignard
2022-02-15 11:00   ` Benjamin Gaignard
2022-02-15 18:02   ` Sebastian Fricke
2022-02-15 18:02     ` Sebastian Fricke
2022-02-18 11:50   ` Hans Verkuil
2022-02-18 11:50     ` Hans Verkuil
2022-02-15 11:01 ` [RFC v2 5/8] media: uapi: Add fields needed for RKVDEC driver Benjamin Gaignard
2022-02-15 11:01   ` Benjamin Gaignard
2022-02-18 11:32   ` Hans Verkuil
2022-02-18 11:32     ` Hans Verkuil
2022-02-18 12:19     ` Benjamin Gaignard
2022-02-18 12:19       ` Benjamin Gaignard
2022-02-18 12:22       ` Hans Verkuil
2022-02-18 12:22         ` Hans Verkuil
2022-02-18 12:30         ` Benjamin Gaignard
2022-02-18 12:30           ` Benjamin Gaignard
2022-02-18 12:32           ` Hans Verkuil
2022-02-18 12:32             ` Hans Verkuil
2022-02-15 11:01 ` [RFC v2 6/8] media: uapi: Remove bit_size field from v4l2_ctrl_hevc_slice_params Benjamin Gaignard
2022-02-15 11:01   ` Benjamin Gaignard
2022-02-15 14:17   ` John Cox
2022-02-15 14:17     ` John Cox
2022-02-15 14:35     ` Benjamin Gaignard
2022-02-15 14:35       ` Benjamin Gaignard
2022-02-15 14:50       ` John Cox
2022-02-15 14:50         ` John Cox
2022-02-15 14:57         ` Benjamin Gaignard
2022-02-15 14:57           ` Benjamin Gaignard
2022-02-15 15:28         ` Nicolas Dufresne
2022-02-15 15:28           ` Nicolas Dufresne
2022-02-15 16:00           ` John Cox
2022-02-15 16:00             ` John Cox
2022-02-15 16:11             ` Jernej Škrabec
2022-02-15 16:11               ` Jernej Škrabec
2022-02-15 16:31               ` John Cox
2022-02-15 16:31                 ` John Cox
2022-02-15 20:27                 ` Jernej Škrabec
2022-02-15 20:27                   ` Jernej Škrabec
2022-02-16 10:38                   ` John Cox
2022-02-16 10:38                     ` John Cox
2022-02-15 11:01 ` [RFC v2 7/8] media: uapi: Add V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET control Benjamin Gaignard
2022-02-15 11:01   ` Benjamin Gaignard
2022-02-16 10:54   ` John Cox
2022-02-16 10:54     ` John Cox
2022-02-16 17:19     ` Benjamin Gaignard [this message]
2022-02-16 17:19       ` Benjamin Gaignard
2022-02-16 17:35       ` John Cox
2022-02-16 17:35         ` John Cox
2022-02-15 11:01 ` [RFC v2 8/8] media: uapi: Change data_bit_offset definition Benjamin Gaignard
2022-02-15 11:01   ` Benjamin Gaignard
2022-02-15 13:01 ` [RFC v2 0/8] Move HEVC stateless controls out of staging Sebastian Fricke
2022-02-15 13:01   ` Sebastian Fricke
2022-02-15 13:24   ` Benjamin Gaignard
2022-02-15 13:24     ` Benjamin Gaignard
2022-02-15 16:14 ` Jernej Škrabec
2022-02-15 16:14   ` Jernej Škrabec
2022-02-18  9:59 ` Hans Verkuil
2022-02-18  9:59   ` Hans Verkuil
2022-02-18 10:54   ` Benjamin Gaignard
2022-02-18 10:54     ` Benjamin Gaignard
2022-02-18 11:05     ` Hans Verkuil
2022-02-18 11:05       ` Hans Verkuil

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=846370ec-5c9e-e4cb-eccf-0b0c6bdbc847@collabora.com \
    --to=benjamin.gaignard@collabora.com \
    --cc=ezequiel@vanguardiasur.com.ar \
    --cc=gregkh@linuxfoundation.org \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=jc@kynesim.co.uk \
    --cc=jernej.skrabec@gmail.com \
    --cc=jonas@kwiboo.se \
    --cc=kernel@collabora.com \
    --cc=knaerzche@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=mchehab@kernel.org \
    --cc=mripard@kernel.org \
    --cc=nicolas@ndufresne.ca \
    --cc=p.zabel@pengutronix.de \
    --cc=paul.kocialkowski@bootlin.com \
    --cc=wens@csie.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.