mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-10-23 07:34:24 +02:00
MA-23268-2: media: docs: dev-decoder: Trigger dynamic source change for colorspace
If colorspace changes, the client needs to renegotiate the pipeline, otherwise the decoded frame may not be displayed correctly. When a colorspace change in the stream, the decoder sends a V4L2_EVENT_SOURCE_CHANGE event with changes set to V4L2_EVENT_SRC_CH_COLORSPACE. After client receive this source change event, then client can switch to the correct stream setting. And each frame can be displayed properly. So add colorspace as a trigger parameter for dynamic resolution change. Signed-off-by: Ming Qian <ming.qian@oss.nxp.com> Reviewed-by: Zhou Peng <eagle.zhou@nxp.com> Acked-by: Jason Liu <jason.hui.liu@nxp.com>
This commit is contained in:
parent
7b2fbfc9f4
commit
36922ae53f
|
@ -784,8 +784,8 @@ before the sequence started. Last of the buffers will have the
|
|||
must check if there is any pending event and:
|
||||
|
||||
* if a ``V4L2_EVENT_SOURCE_CHANGE`` event with ``changes`` set to
|
||||
``V4L2_EVENT_SRC_CH_RESOLUTION`` is pending, the `Dynamic Resolution
|
||||
Change` sequence needs to be followed,
|
||||
``V4L2_EVENT_SRC_CH_RESOLUTION`` or ``V4L2_EVENT_SRC_CH_COLORSPACE`` is pending,
|
||||
the `Dynamic Resolution Change` sequence needs to be followed,
|
||||
|
||||
* if a ``V4L2_EVENT_EOS`` event is pending, the `End of Stream` sequence needs
|
||||
to be followed.
|
||||
|
@ -932,13 +932,17 @@ reflected by corresponding queries):
|
|||
|
||||
* the minimum number of buffers needed for decoding,
|
||||
|
||||
* bit-depth of the bitstream has been changed.
|
||||
* bit-depth of the bitstream has been changed,
|
||||
|
||||
* colorspace of the bitstream has been changed.
|
||||
|
||||
Whenever that happens, the decoder must proceed as follows:
|
||||
|
||||
1. After encountering a resolution change in the stream, the decoder sends a
|
||||
``V4L2_EVENT_SOURCE_CHANGE`` event with ``changes`` set to
|
||||
``V4L2_EVENT_SRC_CH_RESOLUTION``.
|
||||
``V4L2_EVENT_SRC_CH_RESOLUTION``, or a colorspace change in the stream, the
|
||||
decoder sends a ``V4L2_EVENT_SOURCE_CHANGE`` event with ``changes`` set to
|
||||
``V4L2_EVENT_SRC_CH_COLORSPACE``.
|
||||
|
||||
.. important::
|
||||
|
||||
|
@ -946,6 +950,11 @@ Whenever that happens, the decoder must proceed as follows:
|
|||
values applying to the stream after the resolution change, including
|
||||
queue formats, selection rectangles and controls.
|
||||
|
||||
.. note::
|
||||
A ``V4L2_EVENT_SOURCE_CHANGE`` event with ``changes`` set to
|
||||
``V4L2_EVENT_SRC_CH_RESOLUTION`` will affect the allocation, but
|
||||
``V4L2_EVENT_SRC_CH_COLORSPACE`` won't.
|
||||
|
||||
2. The decoder will then process and decode all remaining buffers from before
|
||||
the resolution change point.
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user