[PATCH] media: mediatek: vcodec: Skip unsupported h264 encoder profile
Allen-KH Cheng (程冠勳)
Allen-KH.Cheng at mediatek.com
Wed Sep 28 06:38:46 PDT 2022
Hi Irui,
Tested-by: Allen-KH Cheng <allen-kh.cheng at mediatek.com>
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 <irui.wang at mediatek.com>
> ---
> 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);
More information about the linux-arm-kernel
mailing list