2022-09-26 09:46:13

by Irui Wang (王瑞)

[permalink] [raw]
Subject: [PATCH] media: mediatek: vcodec: Skip unsupported h264 encoder profile

The encoder driver support h264 baseline, main, high encoder
profile, set mask for V4L2_CID_MPEG_VIDEO_H264_PROFILE to skip
the unsupported profile.

get supported h264_profile by command: v4l2-ctl -d /dev/videoX -L
h264_profile 0x00990a6b (menu) : min=0 max=4 default=4 value=4
0: Baseline
2: Main
4: High

Signed-off-by: Irui Wang <[email protected]>
---
drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
index d810a78dde51..d65800a3b89d 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
@@ -1397,7 +1397,10 @@ int mtk_vcodec_enc_ctrls_setup(struct mtk_vcodec_ctx *ctx)
0, V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE);
v4l2_ctrl_new_std_menu(handler, ops, V4L2_CID_MPEG_VIDEO_H264_PROFILE,
V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,
- 0, V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
+ ~((1 << V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE) |
+ (1 << V4L2_MPEG_VIDEO_H264_PROFILE_MAIN) |
+ (1 << V4L2_MPEG_VIDEO_H264_PROFILE_HIGH)),
+ V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
v4l2_ctrl_new_std_menu(handler, ops, V4L2_CID_MPEG_VIDEO_H264_LEVEL,
h264_max_level,
0, V4L2_MPEG_VIDEO_H264_LEVEL_4_0);
--
2.18.0


2022-09-28 13:56:53

by Allen-KH Cheng

[permalink] [raw]
Subject: Re: [PATCH] media: mediatek: vcodec: Skip unsupported h264 encoder profile

Hi Irui,

Tested-by: Allen-KH Cheng <[email protected]>

Tested for CTS cases on the mt8186 corsola board.

Thanks,
Allen

On Mon, 2022-09-26 at 17:35 +0800, Irui Wang wrote:
> The encoder driver support h264 baseline, main, high encoder
> profile, set mask for V4L2_CID_MPEG_VIDEO_H264_PROFILE to skip
> the unsupported profile.
>
> get supported h264_profile by command: v4l2-ctl -d /dev/videoX -L
> h264_profile 0x00990a6b (menu) : min=0 max=4 default=4 value=4
> 0: Baseline
> 2: Main
> 4: High
>
> Signed-off-by: Irui Wang <[email protected]>
> ---
> drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> index d810a78dde51..d65800a3b89d 100644
> --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> @@ -1397,7 +1397,10 @@ int mtk_vcodec_enc_ctrls_setup(struct
> mtk_vcodec_ctx *ctx)
> 0, V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE);
> v4l2_ctrl_new_std_menu(handler, ops,
> V4L2_CID_MPEG_VIDEO_H264_PROFILE,
> V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,
> - 0, V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
> + ~((1 << V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE)
> |
> + (1 << V4L2_MPEG_VIDEO_H264_PROFILE_MAIN) |
> + (1 << V4L2_MPEG_VIDEO_H264_PROFILE_HIGH)),
> + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
> v4l2_ctrl_new_std_menu(handler, ops,
> V4L2_CID_MPEG_VIDEO_H264_LEVEL,
> h264_max_level,
> 0, V4L2_MPEG_VIDEO_H264_LEVEL_4_0);

2022-09-29 02:20:55

by Yunfei Dong (董云飞)

[permalink] [raw]
Subject: Re: [PATCH] media: mediatek: vcodec: Skip unsupported h264 encoder profile

Hi Irui,

Reviewed-by: Yunfei Dong <[email protected]>

Thanks
Yunfei Dong

On Wed, 2022-09-28 at 21:38 +0800, Allen-KH Cheng (程冠勳) wrote:
> Hi Irui,
>
> Tested-by: Allen-KH Cheng <[email protected]>
>
> Tested for CTS cases on the mt8186 corsola board.
>
> Thanks,
> Allen
>
> On Mon, 2022-09-26 at 17:35 +0800, Irui Wang wrote:
> > The encoder driver support h264 baseline, main, high encoder
> > profile, set mask for V4L2_CID_MPEG_VIDEO_H264_PROFILE to skip
> > the unsupported profile.
> >
> > get supported h264_profile by command: v4l2-ctl -d /dev/videoX -L
> > h264_profile 0x00990a6b (menu) : min=0 max=4 default=4 value=4
> > 0: Baseline
> > 2: Main
> > 4: High
> >
> > Signed-off-by: Irui Wang <[email protected]>
> > ---
> > drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git
> > a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> > b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> > index d810a78dde51..d65800a3b89d 100644
> > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> > @@ -1397,7 +1397,10 @@ int mtk_vcodec_enc_ctrls_setup(struct
> > mtk_vcodec_ctx *ctx)
> > 0, V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE);
> > v4l2_ctrl_new_std_menu(handler, ops,
> > V4L2_CID_MPEG_VIDEO_H264_PROFILE,
> > V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,
> > - 0, V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
> > + ~((1 << V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE)
> > >
> >
> > + (1 << V4L2_MPEG_VIDEO_H264_PROFILE_MAIN) |
> > + (1 << V4L2_MPEG_VIDEO_H264_PROFILE_HIGH)),
> > + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
> > v4l2_ctrl_new_std_menu(handler, ops,
> > V4L2_CID_MPEG_VIDEO_H264_LEVEL,
> > h264_max_level,
> > 0, V4L2_MPEG_VIDEO_H264_LEVEL_4_0);

Subject: Re: [PATCH] media: mediatek: vcodec: Skip unsupported h264 encoder profile

Il 26/09/22 11:35, Irui Wang ha scritto:
> The encoder driver support h264 baseline, main, high encoder
> profile, set mask for V4L2_CID_MPEG_VIDEO_H264_PROFILE to skip
> the unsupported profile.
>
> get supported h264_profile by command: v4l2-ctl -d /dev/videoX -L
> h264_profile 0x00990a6b (menu) : min=0 max=4 default=4 value=4
> 0: Baseline
> 2: Main
> 4: High
>
> Signed-off-by: Irui Wang <[email protected]>

Reviewed-by: AngeloGioacchino Del Regno <[email protected]>


2022-10-19 12:35:36

by Irui Wang (王瑞)

[permalink] [raw]
Subject: Re: [PATCH] media: mediatek: vcodec: Skip unsupported h264 encoder profile

Dear Hans,

Gently ping for this patch, could you help to review this patch?

Thanks
Best Regards

On Mon, 2022-09-26 at 17:35 +0800, Irui Wang wrote:
> The encoder driver support h264 baseline, main, high encoder
> profile, set mask for V4L2_CID_MPEG_VIDEO_H264_PROFILE to skip
> the unsupported profile.
>
> get supported h264_profile by command: v4l2-ctl -d /dev/videoX -L
> h264_profile 0x00990a6b (menu) : min=0 max=4 default=4 value=4
> 0: Baseline
> 2: Main
> 4: High
>
> Signed-off-by: Irui Wang <[email protected]>
> ---
> drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> index d810a78dde51..d65800a3b89d 100644
> --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> @@ -1397,7 +1397,10 @@ int mtk_vcodec_enc_ctrls_setup(struct
> mtk_vcodec_ctx *ctx)
> 0, V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE);
> v4l2_ctrl_new_std_menu(handler, ops,
> V4L2_CID_MPEG_VIDEO_H264_PROFILE,
> V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,
> - 0, V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
> + ~((1 << V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE)
> |
> + (1 << V4L2_MPEG_VIDEO_H264_PROFILE_MAIN) |
> + (1 << V4L2_MPEG_VIDEO_H264_PROFILE_HIGH)),
> + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
> v4l2_ctrl_new_std_menu(handler, ops,
> V4L2_CID_MPEG_VIDEO_H264_LEVEL,
> h264_max_level,
> 0, V4L2_MPEG_VIDEO_H264_LEVEL_4_0);

2022-11-15 12:02:11

by Hans Verkuil

[permalink] [raw]
Subject: Re: [PATCH] media: mediatek: vcodec: Skip unsupported h264 encoder profile

Hi Irui,

On 11/15/22 12:40, Irui Wang (王瑞) wrote:
> Dear Hans,
>
> Gently ping for this patch.
> May I know this patch current status? It seems is under your reviewing
> state?

Mauro was on vacation last week, but he said that he hopes to merge
the pending PRs tomorrow. Fingers crossed...

Regards,

Hans

>
> Thanks
> Best Regards
>
> On Mon, 2022-09-26 at 17:35 +0800, Irui Wang wrote:
>> The encoder driver support h264 baseline, main, high encoder
>> profile, set mask for V4L2_CID_MPEG_VIDEO_H264_PROFILE to skip
>> the unsupported profile.
>>
>> get supported h264_profile by command: v4l2-ctl -d /dev/videoX -L
>> h264_profile 0x00990a6b (menu) : min=0 max=4 default=4 value=4
>> 0: Baseline
>> 2: Main
>> 4: High
>>
>> Signed-off-by: Irui Wang <[email protected]>
>> ---
>> drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
>> b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
>> index d810a78dde51..d65800a3b89d 100644
>> --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
>> +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
>> @@ -1397,7 +1397,10 @@ int mtk_vcodec_enc_ctrls_setup(struct
>> mtk_vcodec_ctx *ctx)
>> 0, V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE);
>> v4l2_ctrl_new_std_menu(handler, ops,
>> V4L2_CID_MPEG_VIDEO_H264_PROFILE,
>> V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,
>> -0, V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
>> +~((1 << V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE)
>> |
>> + (1 << V4L2_MPEG_VIDEO_H264_PROFILE_MAIN) |
>> + (1 << V4L2_MPEG_VIDEO_H264_PROFILE_HIGH)),
>> +V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
>> v4l2_ctrl_new_std_menu(handler, ops,
>> V4L2_CID_MPEG_VIDEO_H264_LEVEL,
>> h264_max_level,
>> 0, V4L2_MPEG_VIDEO_H264_LEVEL_4_0);
>
> ************* MEDIATEK Confidentiality Notice
> ********************
> The information contained in this e-mail message (including any
> attachments) may be confidential, proprietary, privileged, or otherwise
> exempt from disclosure under applicable laws. It is intended to be
> conveyed only to the designated recipient(s). Any use, dissemination,
> distribution, printing, retaining or copying of this e-mail (including its
> attachments) by unintended recipient(s) is strictly prohibited and may
> be unlawful. If you are not an intended recipient of this e-mail, or believe
>
> that you have received this e-mail in error, please notify the sender
> immediately (by replying to this e-mail), delete any and all copies of
> this e-mail (including any attachments) from your system, and do not
> disclose the content of this e-mail to any other person. Thank you!


2022-11-15 12:17:21

by Irui Wang (王瑞)

[permalink] [raw]
Subject: Re: [PATCH] media: mediatek: vcodec: Skip unsupported h264 encoder profile

Dear Hans,

Got it, thank you very much.

Best Regards
On Tue, 2022-11-15 at 12:49 +0100, Hans Verkuil wrote:
> Hi Irui,
>
> On 11/15/22 12:40, Irui Wang (王瑞) wrote:
> > Dear Hans,
> >
> > Gently ping for this patch.
> > May I know this patch current status? It seems is under your
> > reviewing
> > state?
>
> Mauro was on vacation last week, but he said that he hopes to merge
> the pending PRs tomorrow. Fingers crossed...
>
> Regards,
>
> Hans
>
> >
> > Thanks
> > Best Regards
> >
> > On Mon, 2022-09-26 at 17:35 +0800, Irui Wang wrote:
> > > The encoder driver support h264 baseline, main, high encoder
> > > profile, set mask for V4L2_CID_MPEG_VIDEO_H264_PROFILE to skip
> > > the unsupported profile.
> > >
> > > get supported h264_profile by command: v4l2-ctl -d /dev/videoX -L
> > > h264_profile 0x00990a6b (menu) : min=0 max=4 default=4 value=4
> > > 0: Baseline
> > > 2: Main
> > > 4: High
> > >
> > > Signed-off-by: Irui Wang <[email protected]>
> > > ---
> > > drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c | 5
> > > ++++-
> > > 1 file changed, 4 insertions(+), 1 deletion(-)
> > >
> > > diff --git
> > > a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> > > b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> > > index d810a78dde51..d65800a3b89d 100644
> > > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> > > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> > > @@ -1397,7 +1397,10 @@ int mtk_vcodec_enc_ctrls_setup(struct
> > > mtk_vcodec_ctx *ctx)
> > > 0, V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE);
> > > v4l2_ctrl_new_std_menu(handler, ops,
> > > V4L2_CID_MPEG_VIDEO_H264_PROFILE,
> > > V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,
> > > -0, V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
> > > +~((1 << V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE)
> > > >
> > >
> > > + (1 << V4L2_MPEG_VIDEO_H264_PROFILE_MAIN) |
> > > + (1 << V4L2_MPEG_VIDEO_H264_PROFILE_HIGH)),
> > > +V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
> > > v4l2_ctrl_new_std_menu(handler, ops,
> > > V4L2_CID_MPEG_VIDEO_H264_LEVEL,
> > > h264_max_level,
> > > 0, V4L2_MPEG_VIDEO_H264_LEVEL_4_0);
> >
> > ************* MEDIATEK Confidentiality Notice
> > ********************
> > The information contained in this e-mail message (including any
> > attachments) may be confidential, proprietary, privileged, or
> > otherwise
> > exempt from disclosure under applicable laws. It is intended to be
> > conveyed only to the designated recipient(s). Any use,
> > dissemination,
> > distribution, printing, retaining or copying of this e-mail
> > (including its
> > attachments) by unintended recipient(s) is strictly prohibited and
> > may
> > be unlawful. If you are not an intended recipient of this e-mail,
> > or believe
> >
> > that you have received this e-mail in error, please notify the
> > sender
> > immediately (by replying to this e-mail), delete any and all copies
> > of
> > this e-mail (including any attachments) from your system, and do
> > not
> > disclose the content of this e-mail to any other person. Thank you!
>
>

2022-11-15 12:41:23

by Irui Wang (王瑞)

[permalink] [raw]
Subject: Re: [PATCH] media: mediatek: vcodec: Skip unsupported h264 encoder profile

Dear Hans,

Gently ping for this patch.
May I know this patch current status? It seems is under your reviewing
state?

Thanks
Best Regards

On Mon, 2022-09-26 at 17:35 +0800, Irui Wang wrote:
> The encoder driver support h264 baseline, main, high encoder
> profile, set mask for V4L2_CID_MPEG_VIDEO_H264_PROFILE to skip
> the unsupported profile.
>
> get supported h264_profile by command: v4l2-ctl -d /dev/videoX -L
> h264_profile 0x00990a6b (menu) : min=0 max=4 default=4 value=4
> 0: Baseline
> 2: Main
> 4: High
>
> Signed-off-by: Irui Wang <[email protected]>
> ---
> drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> index d810a78dde51..d65800a3b89d 100644
> --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> @@ -1397,7 +1397,10 @@ int mtk_vcodec_enc_ctrls_setup(struct
> mtk_vcodec_ctx *ctx)
> 0, V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE);
> v4l2_ctrl_new_std_menu(handler, ops,
> V4L2_CID_MPEG_VIDEO_H264_PROFILE,
> V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,
> - 0, V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
> + ~((1 << V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE)
> |
> + (1 << V4L2_MPEG_VIDEO_H264_PROFILE_MAIN) |
> + (1 << V4L2_MPEG_VIDEO_H264_PROFILE_HIGH)),
> + V4L2_MPEG_VIDEO_H264_PROFILE_HIGH);
> v4l2_ctrl_new_std_menu(handler, ops,
> V4L2_CID_MPEG_VIDEO_H264_LEVEL,
> h264_max_level,
> 0, V4L2_MPEG_VIDEO_H264_LEVEL_4_0);