mbox series

[v7,0/2] media: mediatek: vcodec: add hevc stateless decoder driver in MT8195

Message ID 20230524080739.17264-1-yunfei.dong@mediatek.com (mailing list archive)
Headers show
Series media: mediatek: vcodec: add hevc stateless decoder driver in MT8195 | expand

Message

Yunfei Dong May 24, 2023, 8:07 a.m. UTC
Add hevc stateless decoder driver to support hardware decode in MT8195, and the driver
need num_delta_pocs_of_ref_rps_idx value to parse slice header short_term_ref_pic_set().

patch 1 add num_delta_pocs_of_ref_rps_idx field.
patch 2 add hevc stateless decoder driver.
---
Changed from v6:
- fix AngeloGioacchino's suggestion.

Changed from v5:
- checkpatch/kernel-doc pass/build pass.
- fix warning: struct vdec_av1_slice_fb -> struct vdec_hevc_slice_fb.
- fix warning: remove unused comment for param "trans_start" and "trans_end"

Changed from v4:
- fix some comments according to Nathan's suggestion.

Changed from v3:
- add the dependency patch to this patch series for patch 1.

Changed from v2:
- fix one build warning.
- add the dependency patch link.

Changed from v1:
- fix build error when build 32bit system.
- hevc fluster test result: 132/147 (not support: 10bit => 11 and resolution => 4).
---
Benjamin Gaignard (1):
  media: uapi: HEVC: Add num_delta_pocs_of_ref_rps_idx field

Yunfei Dong (1):
  media: mediatek: vcodec: support stateless hevc decoder

 .../media/v4l/ext-ctrls-codec-stateless.rst   |    7 +
 .../media/platform/mediatek/vcodec/Makefile   |    1 +
 .../vcodec/mtk_vcodec_dec_stateless.c         |   59 +-
 .../platform/mediatek/vcodec/mtk_vcodec_drv.h |    1 +
 .../vcodec/vdec/vdec_hevc_req_multi_if.c      | 1097 +++++++++++++++++
 .../platform/mediatek/vcodec/vdec_drv_if.c    |    4 +
 .../platform/mediatek/vcodec/vdec_drv_if.h    |    1 +
 include/uapi/linux/v4l2-controls.h            |    6 +-
 8 files changed, 1174 insertions(+), 2 deletions(-)
 create mode 100644 drivers/media/platform/mediatek/vcodec/vdec/vdec_hevc_req_multi_if.c

Comments

Hans Verkuil May 24, 2023, 9:27 a.m. UTC | #1
Hi Yunfei,

On 24/05/2023 10:07, Yunfei Dong wrote:
> Add hevc stateless decoder driver to support hardware decode in MT8195, and the driver
> need num_delta_pocs_of_ref_rps_idx value to parse slice header short_term_ref_pic_set().
> 
> patch 1 add num_delta_pocs_of_ref_rps_idx field.
> patch 2 add hevc stateless decoder driver.

This series clashes with this older series from you:

https://patchwork.linuxtv.org/project/linux-media/cover/20230424060130.18395-1-yunfei.dong@mediatek.com/

Can you post a v8 that sits on top of that older series?

Regards,

	Hans

> ---
> Changed from v6:
> - fix AngeloGioacchino's suggestion.
> 
> Changed from v5:
> - checkpatch/kernel-doc pass/build pass.
> - fix warning: struct vdec_av1_slice_fb -> struct vdec_hevc_slice_fb.
> - fix warning: remove unused comment for param "trans_start" and "trans_end"
> 
> Changed from v4:
> - fix some comments according to Nathan's suggestion.
> 
> Changed from v3:
> - add the dependency patch to this patch series for patch 1.
> 
> Changed from v2:
> - fix one build warning.
> - add the dependency patch link.
> 
> Changed from v1:
> - fix build error when build 32bit system.
> - hevc fluster test result: 132/147 (not support: 10bit => 11 and resolution => 4).
> ---
> Benjamin Gaignard (1):
>   media: uapi: HEVC: Add num_delta_pocs_of_ref_rps_idx field
> 
> Yunfei Dong (1):
>   media: mediatek: vcodec: support stateless hevc decoder
> 
>  .../media/v4l/ext-ctrls-codec-stateless.rst   |    7 +
>  .../media/platform/mediatek/vcodec/Makefile   |    1 +
>  .../vcodec/mtk_vcodec_dec_stateless.c         |   59 +-
>  .../platform/mediatek/vcodec/mtk_vcodec_drv.h |    1 +
>  .../vcodec/vdec/vdec_hevc_req_multi_if.c      | 1097 +++++++++++++++++
>  .../platform/mediatek/vcodec/vdec_drv_if.c    |    4 +
>  .../platform/mediatek/vcodec/vdec_drv_if.h    |    1 +
>  include/uapi/linux/v4l2-controls.h            |    6 +-
>  8 files changed, 1174 insertions(+), 2 deletions(-)
>  create mode 100644 drivers/media/platform/mediatek/vcodec/vdec/vdec_hevc_req_multi_if.c
>
Yunfei Dong May 24, 2023, 10:16 a.m. UTC | #2
Hi Hans,

Thanks for your suggestion.

I don't understand your means very well, need to confirm with you
again.

hevc(v7) --- > media: mediatek: vcodec: support stateless hevc decoder
plt(v3)  ----> media: mediatek: vcodec: Fix decoder under flow and plt
test fails randomly

Whether hevc and plt patches merged together?

Whether you mean I need to post v8 for hevc patch based on plt patch as
below order?
hevc(v7)
plt(v3)
media stage HEAD

I cherry pick all patches, won't get conflict.

Or I need to post hevc patch based on media stage HEAD?
hevc(v7)
media stage HEAD

Best Regards,
Yunfei Dong

On Wed, 2023-05-24 at 11:27 +0200, Hans Verkuil wrote:
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> 
> 
> Hi Yunfei,
> 
> On 24/05/2023 10:07, Yunfei Dong wrote:
> > Add hevc stateless decoder driver to support hardware decode in
> > MT8195, and the driver
> > need num_delta_pocs_of_ref_rps_idx value to parse slice header
> > short_term_ref_pic_set().
> > 
> > patch 1 add num_delta_pocs_of_ref_rps_idx field.
> > patch 2 add hevc stateless decoder driver.
> 
> This series clashes with this older series from you:
> 
> 
https://urldefense.com/v3/__https://patchwork.linuxtv.org/project/linux-media/cover/20230424060130.18395-1-yunfei.dong@mediatek.com/__;!!CTRNKA9wMg0ARbw!ndi-6i9h2KkGhm1Sgg4aAXrI3iYVMKtyxR2bjt-HCujIL5d9-OfSzfJnlvwmVuIRCwgdZtlP4z0zNU1fvCD9WPQvpeyKDyUK$
> 
> Can you post a v8 that sits on top of that older series?
> 
> Regards,
> 
>         Hans
> 
> > ---
> > Changed from v6:
> > - fix AngeloGioacchino's suggestion.
> > 
> > Changed from v5:
> > - checkpatch/kernel-doc pass/build pass.
> > - fix warning: struct vdec_av1_slice_fb -> struct
> > vdec_hevc_slice_fb.
> > - fix warning: remove unused comment for param "trans_start" and
> > "trans_end"
> > 
> > Changed from v4:
> > - fix some comments according to Nathan's suggestion.
> > 
> > Changed from v3:
> > - add the dependency patch to this patch series for patch 1.
> > 
> > Changed from v2:
> > - fix one build warning.
> > - add the dependency patch link.
> > 
> > Changed from v1:
> > - fix build error when build 32bit system.
> > - hevc fluster test result: 132/147 (not support: 10bit => 11 and
> > resolution => 4).
> > ---
> > Benjamin Gaignard (1):
> >   media: uapi: HEVC: Add num_delta_pocs_of_ref_rps_idx field
> > 
> > Yunfei Dong (1):
> >   media: mediatek: vcodec: support stateless hevc decoder
> > 
> >  .../media/v4l/ext-ctrls-codec-stateless.rst   |    7 +
> >  .../media/platform/mediatek/vcodec/Makefile   |    1 +
> >  .../vcodec/mtk_vcodec_dec_stateless.c         |   59 +-
> >  .../platform/mediatek/vcodec/mtk_vcodec_drv.h |    1 +
> >  .../vcodec/vdec/vdec_hevc_req_multi_if.c      | 1097
> > +++++++++++++++++
> >  .../platform/mediatek/vcodec/vdec_drv_if.c    |    4 +
> >  .../platform/mediatek/vcodec/vdec_drv_if.h    |    1 +
> >  include/uapi/linux/v4l2-controls.h            |    6 +-
> >  8 files changed, 1174 insertions(+), 2 deletions(-)
> >  create mode 100644
> > drivers/media/platform/mediatek/vcodec/vdec/vdec_hevc_req_multi_if.
> > c
> > 
> 
>
Hans Verkuil May 24, 2023, 11:01 a.m. UTC | #3
Hi Yunfei,

On 24/05/2023 12:16, Yunfei Dong (董云飞) wrote:
> Hi Hans,
> 
> Thanks for your suggestion.
> 
> I don't understand your means very well, need to confirm with you
> again.
> 
> hevc(v7) --- > media: mediatek: vcodec: support stateless hevc decoder
> plt(v3)  ----> media: mediatek: vcodec: Fix decoder under flow and plt
> test fails randomly
> 
> Whether hevc and plt patches merged together?
> 
> Whether you mean I need to post v8 for hevc patch based on plt patch as
> below order?
> hevc(v7)
> plt(v3)
> media stage HEAD
> 
> I cherry pick all patches, won't get conflict.
> 
> Or I need to post hevc patch based on media stage HEAD?
> hevc(v7)
> media stage HEAD

When testing I found a problem with the plt v3 series, so I decided to
drop that and take this hevc v7 series instead.

So you can ignore this email.

I'll make a separate email describing the problem with the plt series.

Regards,

	Hans

> 
> Best Regards,
> Yunfei Dong
> 
> On Wed, 2023-05-24 at 11:27 +0200, Hans Verkuil wrote:
>> External email : Please do not click links or open attachments until
>> you have verified the sender or the content.
>>
>>
>> Hi Yunfei,
>>
>> On 24/05/2023 10:07, Yunfei Dong wrote:
>>> Add hevc stateless decoder driver to support hardware decode in
>>> MT8195, and the driver
>>> need num_delta_pocs_of_ref_rps_idx value to parse slice header
>>> short_term_ref_pic_set().
>>>
>>> patch 1 add num_delta_pocs_of_ref_rps_idx field.
>>> patch 2 add hevc stateless decoder driver.
>>
>> This series clashes with this older series from you:
>>
>>
> https://urldefense.com/v3/__https://patchwork.linuxtv.org/project/linux-media/cover/20230424060130.18395-1-yunfei.dong@mediatek.com/__;!!CTRNKA9wMg0ARbw!ndi-6i9h2KkGhm1Sgg4aAXrI3iYVMKtyxR2bjt-HCujIL5d9-OfSzfJnlvwmVuIRCwgdZtlP4z0zNU1fvCD9WPQvpeyKDyUK$
>>
>> Can you post a v8 that sits on top of that older series?
>>
>> Regards,
>>
>>         Hans
>>
>>> ---
>>> Changed from v6:
>>> - fix AngeloGioacchino's suggestion.
>>>
>>> Changed from v5:
>>> - checkpatch/kernel-doc pass/build pass.
>>> - fix warning: struct vdec_av1_slice_fb -> struct
>>> vdec_hevc_slice_fb.
>>> - fix warning: remove unused comment for param "trans_start" and
>>> "trans_end"
>>>
>>> Changed from v4:
>>> - fix some comments according to Nathan's suggestion.
>>>
>>> Changed from v3:
>>> - add the dependency patch to this patch series for patch 1.
>>>
>>> Changed from v2:
>>> - fix one build warning.
>>> - add the dependency patch link.
>>>
>>> Changed from v1:
>>> - fix build error when build 32bit system.
>>> - hevc fluster test result: 132/147 (not support: 10bit => 11 and
>>> resolution => 4).
>>> ---
>>> Benjamin Gaignard (1):
>>>   media: uapi: HEVC: Add num_delta_pocs_of_ref_rps_idx field
>>>
>>> Yunfei Dong (1):
>>>   media: mediatek: vcodec: support stateless hevc decoder
>>>
>>>  .../media/v4l/ext-ctrls-codec-stateless.rst   |    7 +
>>>  .../media/platform/mediatek/vcodec/Makefile   |    1 +
>>>  .../vcodec/mtk_vcodec_dec_stateless.c         |   59 +-
>>>  .../platform/mediatek/vcodec/mtk_vcodec_drv.h |    1 +
>>>  .../vcodec/vdec/vdec_hevc_req_multi_if.c      | 1097
>>> +++++++++++++++++
>>>  .../platform/mediatek/vcodec/vdec_drv_if.c    |    4 +
>>>  .../platform/mediatek/vcodec/vdec_drv_if.h    |    1 +
>>>  include/uapi/linux/v4l2-controls.h            |    6 +-
>>>  8 files changed, 1174 insertions(+), 2 deletions(-)
>>>  create mode 100644
>>> drivers/media/platform/mediatek/vcodec/vdec/vdec_hevc_req_multi_if.
>>> c
>>>
>>
>>