lkml.org 
[lkml]   [2022]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v1 01/24] media: h264: Increase reference lists size to 32
    Date
    This is to accommodate support for field decoding, which splits the top
    and the bottom reference into the reference list.

    Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
    ---
    drivers/media/v4l2-core/v4l2-h264.c | 6 +++---
    drivers/staging/media/hantro/hantro_hw.h | 6 +++---
    drivers/staging/media/rkvdec/rkvdec-h264.c | 6 +++---
    include/media/v4l2-h264.h | 8 ++++----
    4 files changed, 13 insertions(+), 13 deletions(-)

    diff --git a/drivers/media/v4l2-core/v4l2-h264.c b/drivers/media/v4l2-core/v4l2-h264.c
    index 0618c6f52214..8d750ee69e74 100644
    --- a/drivers/media/v4l2-core/v4l2-h264.c
    +++ b/drivers/media/v4l2-core/v4l2-h264.c
    @@ -210,7 +210,7 @@ static int v4l2_h264_b1_ref_list_cmp(const void *ptra, const void *ptrb,
    * v4l2_h264_build_p_ref_list() - Build the P reference list
    *
    * @builder: reference list builder context
    - * @reflist: 16 sized array used to store the P reference list. Each entry
    + * @reflist: 32 sized array used to store the P reference list. Each entry
    * is a v4l2_h264_reference structure
    *
    * This functions builds the P reference lists. This procedure is describe in
    @@ -233,9 +233,9 @@ EXPORT_SYMBOL_GPL(v4l2_h264_build_p_ref_list);
    * v4l2_h264_build_b_ref_lists() - Build the B0/B1 reference lists
    *
    * @builder: reference list builder context
    - * @b0_reflist: 16 sized array used to store the B0 reference list. Each entry
    + * @b0_reflist: 32 sized array used to store the B0 reference list. Each entry
    * is a v4l2_h264_reference structure
    - * @b1_reflist: 16 sized array used to store the B1 reference list. Each entry
    + * @b1_reflist: 32 sized array used to store the B1 reference list. Each entry
    * is a v4l2_h264_reference structure
    *
    * This functions builds the B0/B1 reference lists. This procedure is described
    diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
    index 2bc6b8f088f5..292aaaabaf24 100644
    --- a/drivers/staging/media/hantro/hantro_hw.h
    +++ b/drivers/staging/media/hantro/hantro_hw.h
    @@ -69,9 +69,9 @@ struct hantro_h264_dec_ctrls {
    * @b1: B1 reflist
    */
    struct hantro_h264_dec_reflists {
    - struct v4l2_h264_reference p[HANTRO_H264_DPB_SIZE];
    - struct v4l2_h264_reference b0[HANTRO_H264_DPB_SIZE];
    - struct v4l2_h264_reference b1[HANTRO_H264_DPB_SIZE];
    + struct v4l2_h264_reference p[V4L2_H264_REF_LIST_LEN];
    + struct v4l2_h264_reference b0[V4L2_H264_REF_LIST_LEN];
    + struct v4l2_h264_reference b1[V4L2_H264_REF_LIST_LEN];
    };

    /**
    diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c
    index 3c7f3d87fab4..dff89732ddd0 100644
    --- a/drivers/staging/media/rkvdec/rkvdec-h264.c
    +++ b/drivers/staging/media/rkvdec/rkvdec-h264.c
    @@ -100,9 +100,9 @@ struct rkvdec_h264_priv_tbl {
    #define RKVDEC_H264_DPB_SIZE 16

    struct rkvdec_h264_reflists {
    - struct v4l2_h264_reference p[RKVDEC_H264_DPB_SIZE];
    - struct v4l2_h264_reference b0[RKVDEC_H264_DPB_SIZE];
    - struct v4l2_h264_reference b1[RKVDEC_H264_DPB_SIZE];
    + struct v4l2_h264_reference p[V4L2_H264_REF_LIST_LEN];
    + struct v4l2_h264_reference b0[V4L2_H264_REF_LIST_LEN];
    + struct v4l2_h264_reference b1[V4L2_H264_REF_LIST_LEN];
    u8 num_valid;
    };

    diff --git a/include/media/v4l2-h264.h b/include/media/v4l2-h264.h
    index ef9a894e3c32..e282fb16ac58 100644
    --- a/include/media/v4l2-h264.h
    +++ b/include/media/v4l2-h264.h
    @@ -37,7 +37,7 @@ struct v4l2_h264_reflist_builder {
    u16 longterm : 1;
    } refs[V4L2_H264_NUM_DPB_ENTRIES];
    s32 cur_pic_order_count;
    - struct v4l2_h264_reference unordered_reflist[V4L2_H264_NUM_DPB_ENTRIES];
    + struct v4l2_h264_reference unordered_reflist[V4L2_H264_REF_LIST_LEN];
    u8 num_valid;
    };

    @@ -51,9 +51,9 @@ v4l2_h264_init_reflist_builder(struct v4l2_h264_reflist_builder *b,
    * v4l2_h264_build_b_ref_lists() - Build the B0/B1 reference lists
    *
    * @builder: reference list builder context
    - * @b0_reflist: 16 sized array used to store the B0 reference list. Each entry
    + * @b0_reflist: 32 sized array used to store the B0 reference list. Each entry
    * is a v4l2_h264_reference structure
    - * @b1_reflist: 16 sized array used to store the B1 reference list. Each entry
    + * @b1_reflist: 32 sized array used to store the B1 reference list. Each entry
    * is a v4l2_h264_reference structure
    *
    * This functions builds the B0/B1 reference lists. This procedure is described
    @@ -70,7 +70,7 @@ v4l2_h264_build_b_ref_lists(const struct v4l2_h264_reflist_builder *builder,
    * v4l2_h264_build_p_ref_list() - Build the P reference list
    *
    * @builder: reference list builder context
    - * @reflist: 16 sized array used to store the P reference list. Each entry
    + * @reflist: 32 sized array used to store the P reference list. Each entry
    * is a v4l2_h264_reference structure
    *
    * This functions builds the P reference lists. This procedure is describe in
    --
    2.34.1
    \
     
     \ /
      Last update: 2022-03-28 22:00    [W:4.161 / U:1.192 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site