media: uapi: h264: Update reference lists
When dealing with interlaced frames, reference lists must tell if each particular reference is meant for top or bottom field. This info is currently not provided at all in the H264 related controls. Change reference lists to hold a structure, which specifies an index into the DPB array and the field/frame specification for the picture. Currently the only user of these lists is Cedrus which is just compile fixed here. Actual usage of will come in a following commit. Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net> Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com> Tested-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:

committed by
Mauro Carvalho Chehab

parent
ab3d4b41b4
commit
e000e1fa4b
@@ -1843,10 +1843,10 @@ enum v4l2_mpeg_video_h264_hierarchical_coding_type -
|
||||
* - __u32
|
||||
- ``slice_group_change_cycle``
|
||||
-
|
||||
* - __u8
|
||||
* - struct :c:type:`v4l2_h264_reference`
|
||||
- ``ref_pic_list0[32]``
|
||||
- Reference picture list after applying the per-slice modifications
|
||||
* - __u8
|
||||
* - struct :c:type:`v4l2_h264_reference`
|
||||
- ``ref_pic_list1[32]``
|
||||
- Reference picture list after applying the per-slice modifications
|
||||
* - __u32
|
||||
@@ -1926,6 +1926,46 @@ enum v4l2_mpeg_video_h264_hierarchical_coding_type -
|
||||
- ``chroma_offset[32][2]``
|
||||
-
|
||||
|
||||
``Picture Reference``
|
||||
|
||||
.. c:type:: v4l2_h264_reference
|
||||
|
||||
.. cssclass:: longtable
|
||||
|
||||
.. flat-table:: struct v4l2_h264_reference
|
||||
:header-rows: 0
|
||||
:stub-columns: 0
|
||||
:widths: 1 1 2
|
||||
|
||||
* - __u8
|
||||
- ``fields``
|
||||
- Specifies how the picture is referenced. See :ref:`Reference Fields <h264_ref_fields>`
|
||||
* - __u8
|
||||
- ``index``
|
||||
- Index into the :c:type:`v4l2_ctrl_h264_decode_params`.dpb array.
|
||||
|
||||
.. _h264_ref_fields:
|
||||
|
||||
``Reference Fields``
|
||||
|
||||
.. cssclass:: longtable
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 0
|
||||
:stub-columns: 0
|
||||
:widths: 1 1 2
|
||||
|
||||
* - ``V4L2_H264_TOP_FIELD_REF``
|
||||
- 0x1
|
||||
- The top field in field pair is used for short-term reference.
|
||||
* - ``V4L2_H264_BOTTOM_FIELD_REF``
|
||||
- 0x2
|
||||
- The bottom field in field pair is used for short-term reference.
|
||||
* - ``V4L2_H264_FRAME_REF``
|
||||
- 0x3
|
||||
- The frame (or the top/bottom fields, if it's a field pair)
|
||||
is used for short-term reference.
|
||||
|
||||
``V4L2_CID_MPEG_VIDEO_H264_DECODE_PARAMS (struct)``
|
||||
Specifies the decode parameters (as extracted from the bitstream)
|
||||
for the associated H264 slice data. This includes the necessary
|
||||
|
Reference in New Issue
Block a user