mbox series

[v2,0/3] media: mediatek: vcodec: Add driver to support 10bit

Message ID 20230722074448.30671-1-yunfei.dong@mediatek.com
Headers show
Series media: mediatek: vcodec: Add driver to support 10bit | expand

Message

Yunfei Dong July 22, 2023, 7:44 a.m. UTC
From: Yunfei Dong <yunfei.dong@mediatek.corp-partner.google.com>

Define two capture formats V4L2_PIX_FMT_MT2110R and
V4L2_PIX_FMT_MT2110T to support 10bit in mt8195, mt8199 and more.
Getting the size of each plane again when user space set 10bit
syntax to driver.

V4L2_PIX_FMT_MT2110R is used for H264, and V4L2_PIX_FMT_MT2110T
is used for AV1/VP9/HEVC.

patch 1 Add driver to support 10bit
patch 2 Add capture format V4L2_PIX_FMT_MT2110T to support 10bit tile mode
patch 3 Add capture format V4L2_PIX_FMT_MT2110R to support 10bit raster mode
---
- compared with v1:
- Fix set non sps return -EINVAL issue.
- Driver test pass in mt8195/mt8188 with tast and Youtube.
- Run v4l2 compliance in mt8195/mt8188 pass.
- fluster test as below:
- h264: (JVT-FR-EXT: 29/69  JVT-AVC_V1: 95/135)
- h265: (JCT-VC-HEVC_V1: 142/147)
- vp9 : (VP9-TEST-VECTORS: 1/6  VP9-TEST-VECTORS: 276/305)
- av1 : (CHROMIUM-10bit-AV1-TEST-VECTORS: 22/23   CHROMIUM-8bit-AV1-TEST-VECTORS: 11/13
-        AV1-TEST-VECTORS: Ran 237/239)

- send the first version v1:
- Run 10bit VP9/AV1 fluster test pass.
- Will return error when the 10bit parameter no correctly in function mtk_vdec_s_ctrl.
---

Reference series:
[1]: this series depends on v6 which is send by Yunfei Dong.
     message-id: 20230704131349.8354-1-yunfei.dong@mediatek.com

Mingjia Zhang (3):
  media: mediatek: vcodec: Add capture format to support 10bit tile mode
  media: mediatek: vcodec: Add capture format to support 10bit raster
    mode
  media: mediatek: vcodec: Add driver to support 10bit

 .../media/v4l/pixfmt-reserved.rst             |  13 ++
 .../mediatek/vcodec/decoder/mtk_vcodec_dec.c  |  22 ++-
 .../vcodec/decoder/mtk_vcodec_dec_drv.h       |   5 +
 .../vcodec/decoder/mtk_vcodec_dec_stateless.c | 144 +++++++++++++++++-
 drivers/media/v4l2-core/v4l2-common.c         |   4 +
 drivers/media/v4l2-core/v4l2-ioctl.c          |   2 +
 include/uapi/linux/videodev2.h                |   2 +
 7 files changed, 188 insertions(+), 4 deletions(-)

Comments

Nicolas Dufresne July 24, 2023, 7:53 p.m. UTC | #1
Hi Yunfei.

Le samedi 22 juillet 2023 à 15:44 +0800, Yunfei Dong a écrit :
> From: Yunfei Dong <yunfei.dong@mediatek.corp-partner.google.com>
> 
> Define two capture formats V4L2_PIX_FMT_MT2110R and
> V4L2_PIX_FMT_MT2110T to support 10bit in mt8195, mt8199 and more.
> Getting the size of each plane again when user space set 10bit
> syntax to driver.
> 
> V4L2_PIX_FMT_MT2110R is used for H264, and V4L2_PIX_FMT_MT2110T
> is used for AV1/VP9/HEVC.
> 
> patch 1 Add driver to support 10bit
> patch 2 Add capture format V4L2_PIX_FMT_MT2110T to support 10bit tile mode
> patch 3 Add capture format V4L2_PIX_FMT_MT2110R to support 10bit raster mode
> ---
> - compared with v1:
> - Fix set non sps return -EINVAL issue.
> - Driver test pass in mt8195/mt8188 with tast and Youtube.
> - Run v4l2 compliance in mt8195/mt8188 pass.
> - fluster test as below:
> - h264: (JVT-FR-EXT: 29/69  JVT-AVC_V1: 95/135)
> - h265: (JCT-VC-HEVC_V1: 142/147)
> - vp9 : (VP9-TEST-VECTORS: 1/6  VP9-TEST-VECTORS: 276/305)
> - av1 : (CHROMIUM-10bit-AV1-TEST-VECTORS: 22/23   CHROMIUM-8bit-AV1-TEST-VECTORS: 11/13
> -        AV1-TEST-VECTORS: Ran 237/239)

Thanks for the fluster reports, I cannot confirm this yet, since it does not
apply. Note that you have forgot to provide V4L2 compliance report as requested.

> 
> - send the first version v1:
> - Run 10bit VP9/AV1 fluster test pass.
> - Will return error when the 10bit parameter no correctly in function mtk_vdec_s_ctrl.
> ---
> 
> Reference series:
> [1]: this series depends on v6 which is send by Yunfei Dong.
>      message-id: 20230704131349.8354-1-yunfei.dong@mediatek.com
> 
> Mingjia Zhang (3):
>   media: mediatek: vcodec: Add capture format to support 10bit tile mode
>   media: mediatek: vcodec: Add capture format to support 10bit raster
>     mode
>   media: mediatek: vcodec: Add driver to support 10bit
> 
>  .../media/v4l/pixfmt-reserved.rst             |  13 ++
>  .../mediatek/vcodec/decoder/mtk_vcodec_dec.c  |  22 ++-
>  .../vcodec/decoder/mtk_vcodec_dec_drv.h       |   5 +
>  .../vcodec/decoder/mtk_vcodec_dec_stateless.c | 144 +++++++++++++++++-

vcodec/decoder directory no longer exists. Can you rebase your work please ?

Nicolas

>  drivers/media/v4l2-core/v4l2-common.c         |   4 +
>  drivers/media/v4l2-core/v4l2-ioctl.c          |   2 +
>  include/uapi/linux/videodev2.h                |   2 +
>  7 files changed, 188 insertions(+), 4 deletions(-)
>
Yunfei Dong July 29, 2023, 3:31 a.m. UTC | #2
Hi Nicolas,

Thanks for your review.

On Mon, 2023-07-24 at 15:53 -0400, Nicolas Dufresne wrote:
> Hi Yunfei.
> 
> Le samedi 22 juillet 2023 à 15:44 +0800, Yunfei Dong a écrit :
> > From: Yunfei Dong <yunfei.dong@mediatek.corp-partner.google.com>
> > 
> > Define two capture formats V4L2_PIX_FMT_MT2110R and
> > V4L2_PIX_FMT_MT2110T to support 10bit in mt8195, mt8199 and more.
> > Getting the size of each plane again when user space set 10bit
> > syntax to driver.
> > 
> > V4L2_PIX_FMT_MT2110R is used for H264, and V4L2_PIX_FMT_MT2110T
> > is used for AV1/VP9/HEVC.
> > 
> > patch 1 Add driver to support 10bit
> > patch 2 Add capture format V4L2_PIX_FMT_MT2110T to support 10bit
> > tile mode
> > patch 3 Add capture format V4L2_PIX_FMT_MT2110R to support 10bit
> > raster mode
> > ---
> > - compared with v1:
> > - Fix set non sps return -EINVAL issue.
> > - Driver test pass in mt8195/mt8188 with tast and Youtube.
> > - Run v4l2 compliance in mt8195/mt8188 pass.
> > - fluster test as below:
> > - h264: (JVT-FR-EXT: 29/69  JVT-AVC_V1: 95/135)
> > - h265: (JCT-VC-HEVC_V1: 142/147)
> > - vp9 : (VP9-TEST-VECTORS: 1/6  VP9-TEST-VECTORS: 276/305)
> > - av1 : (CHROMIUM-10bit-AV1-TEST-VECTORS: 22/23   CHROMIUM-8bit-
> > AV1-TEST-VECTORS: 11/13
> > -        AV1-TEST-VECTORS: Ran 237/239)
> 
> Thanks for the fluster reports, I cannot confirm this yet, since it
> does not
> apply. Note that you have forgot to provide V4L2 compliance report as
> requested.
> 

I will add the compliance reulst in patch v3. The compliance result is
pass.
> > 
> > - send the first version v1:
> > - Run 10bit VP9/AV1 fluster test pass.
> > - Will return error when the 10bit parameter no correctly in
> > function mtk_vdec_s_ctrl.
> > ---
> > 
> > Reference series:
> > [1]: this series depends on v6 which is send by Yunfei Dong.
> >      message-id: 20230704131349.8354-1-yunfei.dong@mediatek.com
> > 
> > Mingjia Zhang (3):
> >   media: mediatek: vcodec: Add capture format to support 10bit tile
> > mode
> >   media: mediatek: vcodec: Add capture format to support 10bit
> > raster
> >     mode
> >   media: mediatek: vcodec: Add driver to support 10bit
> > 
> >  .../media/v4l/pixfmt-reserved.rst             |  13 ++
> >  .../mediatek/vcodec/decoder/mtk_vcodec_dec.c  |  22 ++-
> >  .../vcodec/decoder/mtk_vcodec_dec_drv.h       |   5 +
> >  .../vcodec/decoder/mtk_vcodec_dec_stateless.c | 144
> > +++++++++++++++++-
> 
> vcodec/decoder directory no longer exists. Can you rebase your work
> please ?
> 

This patch series is based on patch 'separate encoder and decoder'.
vcodec/decoder folder is added in that patch.

> Nicolas
> 
Best Regards,
Yunfei Dong
> >  drivers/media/v4l2-core/v4l2-common.c         |   4 +
> >  drivers/media/v4l2-core/v4l2-ioctl.c          |   2 +
> >  include/uapi/linux/videodev2.h                |   2 +
> >  7 files changed, 188 insertions(+), 4 deletions(-)
> > 
> 
>