All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stanimir Varbanov <stanimir.varbanov@linaro.org>
To: Hans Verkuil <hverkuil@xs4all.nl>,
	linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-media@vger.kernel.org, devicetree@vger.kernel.org
Cc: Vikash Garodia <vgarodia@codeaurora.org>, dikshita@codeaurora.org
Subject: Re: [PATCH v4 04/12] v4l: Add source event change for bit-depth
Date: Thu, 9 Jan 2020 09:41:00 +0200	[thread overview]
Message-ID: <ae233eb1-69fc-6723-0224-0c1fcf786156@linaro.org> (raw)
In-Reply-To: <c3b02589-1d7a-a476-7d33-7e555fbe276d@xs4all.nl>

Hi Hans,

On 1/8/20 6:09 PM, Hans Verkuil wrote:
> On 1/6/20 4:49 PM, Stanimir Varbanov wrote:
>> This event indicate that the source color bit-depth is changed
>> during run-time. The client must get the new format and re-allocate
>> buffers for it. This can usually happens with video decoder (encoders)
>> when the bit-stream color bit-depth is changed from 8 to 10bits
>> or vice versa.
>>
>> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
>> Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
>> ---
>>  Documentation/media/uapi/v4l/vidioc-dqevent.rst | 8 +++++++-
>>  Documentation/media/videodev2.h.rst.exceptions  | 1 +
>>  include/uapi/linux/videodev2.h                  | 1 +
>>  3 files changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/media/uapi/v4l/vidioc-dqevent.rst b/Documentation/media/uapi/v4l/vidioc-dqevent.rst
>> index 42659a3d1705..fad853d440cf 100644
>> --- a/Documentation/media/uapi/v4l/vidioc-dqevent.rst
>> +++ b/Documentation/media/uapi/v4l/vidioc-dqevent.rst
>> @@ -402,7 +402,13 @@ call.
>>  	that many Video Capture devices are not able to recover from a temporary
>>  	loss of signal and so restarting streaming I/O is required in order for
>>  	the hardware to synchronize to the video signal.
>> -
>> +    * - ``V4L2_EVENT_SRC_CH_COLOR_DEPTH``
>> +      - 0x0002
>> +      - This event gets triggered when color bit-depth change is detected
>> +	from a video decoder. Applications will have to query the new pixel
>> +	format and re-negotiate the queue. In most cases the streaming must be
>> +	stopped and restarted (:ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>`
>> +	followed by :ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>`).
> 
> I think this is too specific for decoders. Something similar to the
> CH_RESOLUTION description would be more appropriate:
> 
>       - This event gets triggered when a color bit-depth change (but not a
> 	resolution change!) is detected	at an input. This can come from an

What you mean by "but not a resolution change" here? Resolution change
and bit-depth change cannot occur on the same time, or something else.

I would say that for Venus (and probably others) on initialization time
both could be changed on the same time, because we cannot predict the
resolution and bit-depth before parsing bitstream headers.

> 	input connector or from a video decoder. Applications will have to query
> 	the new pixel format and re-negotiate the queue.
> 
> 	For stateful decoders follow the guidelines in :ref:`decoder`.
> 	Video capture devices will in most cases have to stop and restart
> 	streaming (:ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` followed by
> 	:ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>`).
> 
> And update dev-decoder.rst where needed with this new event flag.
> 
> As to your question on irc: once I've acked this patch it can be merged
> via a venus PR.
> 
> Regards,
> 
> 	Hans
> 
>>  
>>  Return Value
>>  ============
>> diff --git a/Documentation/media/videodev2.h.rst.exceptions b/Documentation/media/videodev2.h.rst.exceptions
>> index cb6ccf91776e..209709114378 100644
>> --- a/Documentation/media/videodev2.h.rst.exceptions
>> +++ b/Documentation/media/videodev2.h.rst.exceptions
>> @@ -490,6 +490,7 @@ replace define V4L2_EVENT_CTRL_CH_FLAGS ctrl-changes-flags
>>  replace define V4L2_EVENT_CTRL_CH_RANGE ctrl-changes-flags
>>  
>>  replace define V4L2_EVENT_SRC_CH_RESOLUTION src-changes-flags
>> +replace define V4L2_EVENT_SRC_CH_COLOR_DEPTH src-changes-flags
>>  
>>  replace define V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ :c:type:`v4l2_event_motion_det`
>>  
>> diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
>> index 5f9357dcb060..1d349c9d57a7 100644
>> --- a/include/uapi/linux/videodev2.h
>> +++ b/include/uapi/linux/videodev2.h
>> @@ -2332,6 +2332,7 @@ struct v4l2_event_frame_sync {
>>  };
>>  
>>  #define V4L2_EVENT_SRC_CH_RESOLUTION		(1 << 0)
>> +#define V4L2_EVENT_SRC_CH_COLOR_DEPTH		(1 << 1)
>>  
>>  struct v4l2_event_src_change {
>>  	__u32 changes;
>>
> 

-- 
regards,
Stan

  parent reply	other threads:[~2020-01-09  7:41 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-06 15:49 [PATCH v4 00/12] Venus new features Stanimir Varbanov
2020-01-06 15:49 ` [PATCH v4 01/12] venus: redesign clocks and pm domains control Stanimir Varbanov
2020-01-06 15:49 ` [PATCH v4 02/12] media: venus: introduce core selection Stanimir Varbanov
2020-01-06 15:49 ` [PATCH v4 03/12] venus: venc: blacklist two encoder properties Stanimir Varbanov
2020-01-06 15:49 ` [PATCH v4 04/12] v4l: Add source event change for bit-depth Stanimir Varbanov
2020-01-08 16:09   ` Hans Verkuil
2020-01-08 16:43     ` Stanimir Varbanov
2020-01-09  7:41     ` Stanimir Varbanov [this message]
2020-01-09  8:57       ` Hans Verkuil
2020-01-10 10:54         ` Stanimir Varbanov
2020-01-15 15:03           ` Hans Verkuil
2020-04-15 14:34             ` Stanimir Varbanov
2020-01-06 15:49 ` [PATCH v4 05/12] media: venus: vdec: handle 10bit bitstreams Stanimir Varbanov
2020-01-06 15:49 ` [PATCH v4 06/12] dt-bindings: media: venus: Convert msm8916 to DT schema Stanimir Varbanov
2020-01-06 22:04   ` Rob Herring
2020-01-08 16:17     ` Stanimir Varbanov
2020-01-06 15:49 ` [PATCH v4 07/12] dt-bindings: media: venus: Convert msm8996 " Stanimir Varbanov
2020-01-06 22:05   ` Rob Herring
2020-01-06 15:49 ` [PATCH v4 08/12] dt-bindings: media: venus: Convert sdm845 " Stanimir Varbanov
2020-01-06 22:06   ` Rob Herring
2020-01-06 15:49 ` [PATCH v4 09/12] dt-bindings: media: venus: Add sdm845v2 " Stanimir Varbanov
2020-01-06 22:07   ` Rob Herring
2020-01-06 15:49 ` [PATCH v4 10/12] venus: core: add sdm845-v2 DT compatible and resource struct Stanimir Varbanov
2020-01-06 15:49 ` [PATCH v4 11/12] arm64: dts: sdm845: follow venus-sdm845v2 DT binding Stanimir Varbanov
2020-02-27 22:38   ` Stanimir Varbanov
2020-02-28  5:59     ` Bjorn Andersson
2020-01-06 15:49 ` [PATCH v4 12/12] dt-bindings: media: venus: delete old binding document Stanimir Varbanov

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=ae233eb1-69fc-6723-0224-0c1fcf786156@linaro.org \
    --to=stanimir.varbanov@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dikshita@codeaurora.org \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=vgarodia@codeaurora.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.