Message ID | HE1PR06MB401120C5E10154E39D0C9865AC610@HE1PR06MB4011.eurprd06.prod.outlook.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: hantro: H264 fixes and improvements | expand |
On Tue, 29 Oct 2019 01:26:00 +0000 Jonas Karlman <jonas@kwiboo.se> wrote: > The FIELDPIC_FLAG_E bit should be set when field_pic_flag exists in stream, > it is currently set based on field_pic_flag of current frame. > The PIC_FIELDMODE_E bit is correctly set based on the field_pic_flag. > > Fix this by setting the FIELDPIC_FLAG_E bit when frame_mbs_only is not set. > > Fixes: dea0a82f3d22 ("media: hantro: Add support for H264 decoding on G1") > Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> > --- > drivers/staging/media/hantro/hantro_g1_h264_dec.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/staging/media/hantro/hantro_g1_h264_dec.c b/drivers/staging/media/hantro/hantro_g1_h264_dec.c > index eeed11366135..c07da0ee4973 100644 > --- a/drivers/staging/media/hantro/hantro_g1_h264_dec.c > +++ b/drivers/staging/media/hantro/hantro_g1_h264_dec.c > @@ -63,7 +63,7 @@ static void set_params(struct hantro_ctx *ctx) > /* always use the matrix sent from userspace */ > reg |= G1_REG_DEC_CTRL2_TYPE1_QUANT_E; > > - if (slices[0].flags & V4L2_H264_SLICE_FLAG_FIELD_PIC) > + if (!(sps->flags & V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY)) > reg |= G1_REG_DEC_CTRL2_FIELDPIC_FLAG_E; > vdpu_write_relaxed(vpu, reg, G1_REG_DEC_CTRL2); >
diff --git a/drivers/staging/media/hantro/hantro_g1_h264_dec.c b/drivers/staging/media/hantro/hantro_g1_h264_dec.c index eeed11366135..c07da0ee4973 100644 --- a/drivers/staging/media/hantro/hantro_g1_h264_dec.c +++ b/drivers/staging/media/hantro/hantro_g1_h264_dec.c @@ -63,7 +63,7 @@ static void set_params(struct hantro_ctx *ctx) /* always use the matrix sent from userspace */ reg |= G1_REG_DEC_CTRL2_TYPE1_QUANT_E; - if (slices[0].flags & V4L2_H264_SLICE_FLAG_FIELD_PIC) + if (!(sps->flags & V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY)) reg |= G1_REG_DEC_CTRL2_FIELDPIC_FLAG_E; vdpu_write_relaxed(vpu, reg, G1_REG_DEC_CTRL2);
The FIELDPIC_FLAG_E bit should be set when field_pic_flag exists in stream, it is currently set based on field_pic_flag of current frame. The PIC_FIELDMODE_E bit is correctly set based on the field_pic_flag. Fix this by setting the FIELDPIC_FLAG_E bit when frame_mbs_only is not set. Fixes: dea0a82f3d22 ("media: hantro: Add support for H264 decoding on G1") Signed-off-by: Jonas Karlman <jonas@kwiboo.se> --- drivers/staging/media/hantro/hantro_g1_h264_dec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)