Message ID | 20220331193726.289559-7-nicolas.dufresne@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,01/23] media: doc: Document dual use of H.264 pic_num/frame_num | expand |
On Thu, Mar 31, 2022 at 03:37:08PM -0400, Nicolas Dufresne wrote: > This is to accommodate support for field decoding, which splits the top > and the bottom references into the reference list. > > Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> > Reviewed-by: Sebastian Fricke <sebastian.fricke@collabora.com> Reviewed-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> > --- > 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 afbfcf78efe4..4b46b36526c0 100644 > --- a/drivers/media/v4l2-core/v4l2-h264.c > +++ b/drivers/media/v4l2-core/v4l2-h264.c > @@ -212,7 +212,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 > @@ -235,9 +235,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 >
diff --git a/drivers/media/v4l2-core/v4l2-h264.c b/drivers/media/v4l2-core/v4l2-h264.c index afbfcf78efe4..4b46b36526c0 100644 --- a/drivers/media/v4l2-core/v4l2-h264.c +++ b/drivers/media/v4l2-core/v4l2-h264.c @@ -212,7 +212,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 @@ -235,9 +235,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