Commit 26e45205 authored by Nicolas Dufresne's avatar Nicolas Dufresne Committed by Mauro Carvalho Chehab

media: h264: Increase reference lists size to 32

This is to accommodate support for field decoding, which splits the top
and the bottom references into the reference list.
Signed-off-by: default avatarNicolas Dufresne <nicolas.dufresne@collabora.com>
Reviewed-by: default avatarSebastian Fricke <sebastian.fricke@collabora.com>
Reviewed-by: default avatarEzequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent 2e2c3d6c
...@@ -212,7 +212,7 @@ static int v4l2_h264_b1_ref_list_cmp(const void *ptra, const void *ptrb, ...@@ -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 * v4l2_h264_build_p_ref_list() - Build the P reference list
* *
* @builder: reference list builder context * @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 * is a v4l2_h264_reference structure
* *
* This functions builds the P reference lists. This procedure is describe in * 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); ...@@ -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 * v4l2_h264_build_b_ref_lists() - Build the B0/B1 reference lists
* *
* @builder: reference list builder context * @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 * 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 * is a v4l2_h264_reference structure
* *
* This functions builds the B0/B1 reference lists. This procedure is described * This functions builds the B0/B1 reference lists. This procedure is described
......
...@@ -69,9 +69,9 @@ struct hantro_h264_dec_ctrls { ...@@ -69,9 +69,9 @@ struct hantro_h264_dec_ctrls {
* @b1: B1 reflist * @b1: B1 reflist
*/ */
struct hantro_h264_dec_reflists { struct hantro_h264_dec_reflists {
struct v4l2_h264_reference p[HANTRO_H264_DPB_SIZE]; struct v4l2_h264_reference p[V4L2_H264_REF_LIST_LEN];
struct v4l2_h264_reference b0[HANTRO_H264_DPB_SIZE]; struct v4l2_h264_reference b0[V4L2_H264_REF_LIST_LEN];
struct v4l2_h264_reference b1[HANTRO_H264_DPB_SIZE]; struct v4l2_h264_reference b1[V4L2_H264_REF_LIST_LEN];
}; };
/** /**
......
...@@ -100,9 +100,9 @@ struct rkvdec_h264_priv_tbl { ...@@ -100,9 +100,9 @@ struct rkvdec_h264_priv_tbl {
#define RKVDEC_H264_DPB_SIZE 16 #define RKVDEC_H264_DPB_SIZE 16
struct rkvdec_h264_reflists { struct rkvdec_h264_reflists {
struct v4l2_h264_reference p[RKVDEC_H264_DPB_SIZE]; struct v4l2_h264_reference p[V4L2_H264_REF_LIST_LEN];
struct v4l2_h264_reference b0[RKVDEC_H264_DPB_SIZE]; struct v4l2_h264_reference b0[V4L2_H264_REF_LIST_LEN];
struct v4l2_h264_reference b1[RKVDEC_H264_DPB_SIZE]; struct v4l2_h264_reference b1[V4L2_H264_REF_LIST_LEN];
u8 num_valid; u8 num_valid;
}; };
......
...@@ -37,7 +37,7 @@ struct v4l2_h264_reflist_builder { ...@@ -37,7 +37,7 @@ struct v4l2_h264_reflist_builder {
u16 longterm : 1; u16 longterm : 1;
} refs[V4L2_H264_NUM_DPB_ENTRIES]; } refs[V4L2_H264_NUM_DPB_ENTRIES];
s32 cur_pic_order_count; 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; u8 num_valid;
}; };
...@@ -51,9 +51,9 @@ v4l2_h264_init_reflist_builder(struct v4l2_h264_reflist_builder *b, ...@@ -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 * v4l2_h264_build_b_ref_lists() - Build the B0/B1 reference lists
* *
* @builder: reference list builder context * @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 * 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 * is a v4l2_h264_reference structure
* *
* This functions builds the B0/B1 reference lists. This procedure is described * 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, ...@@ -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 * v4l2_h264_build_p_ref_list() - Build the P reference list
* *
* @builder: reference list builder context * @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 * is a v4l2_h264_reference structure
* *
* This functions builds the P reference lists. This procedure is describe in * This functions builds the P reference lists. This procedure is describe in
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment