Re: [PATCH v0 3/3] media: chips-media: wave5: Add Support for Packed YUV422 Formats
From: Nicolas Dufresne
Date: Thu Mar 19 2026 - 17:20:40 EST
Le jeudi 19 mars 2026 à 14:32 +0900, Jackson.lee a écrit :
> From: Jackson Lee <jackson.lee@xxxxxxxxxxxxxxx>
>
> Wave5 encoder is capable of reading in numerous raw pixel formats.
> Expose these formats and properly configure encoder if selected.
>
> Signed-off-by: Jackson Lee <jackson.lee@xxxxxxxxxxxxxxx>
> Signed-off-by: Nas Chung <nas.chung@xxxxxxxxxxxxxxx>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx>
> ---
> .../platform/chips-media/wave5/wave5-helper.h | 2 +-
> .../chips-media/wave5/wave5-vpu-enc.c | 32 +++++++++++++++++++
> 2 files changed, 33 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/chips-media/wave5/wave5-helper.h b/drivers/media/platform/chips-media/wave5/wave5-helper.h
> index d61fdbda359d..e6f241012c3b 100644
> --- a/drivers/media/platform/chips-media/wave5/wave5-helper.h
> +++ b/drivers/media/platform/chips-media/wave5/wave5-helper.h
> @@ -11,7 +11,7 @@
> #include "wave5-vpu.h"
>
> #define FMT_TYPES 2
> -#define MAX_FMTS 12
> +#define MAX_FMTS 16
>
> const char *state_to_str(enum vpu_instance_state state);
> void wave5_cleanup_instance(struct vpu_instance *inst, struct file *filp);
> diff --git a/drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c b/drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c
> index f315ed7243a7..b24c65f174ea 100644
> --- a/drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c
> +++ b/drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c
> @@ -90,6 +90,22 @@ static const struct vpu_format enc_fmt_list[FMT_TYPES][MAX_FMTS] = {
> .v4l2_pix_fmt = V4L2_PIX_FMT_NV61M,
> .v4l2_frmsize = &enc_frmsize[VPU_FMT_TYPE_RAW],
> },
> + {
> + .v4l2_pix_fmt = V4L2_PIX_FMT_YUYV,
> + .v4l2_frmsize = &enc_frmsize[VPU_FMT_TYPE_RAW],
> + },
> + {
> + .v4l2_pix_fmt = V4L2_PIX_FMT_YVYU,
> + .v4l2_frmsize = &enc_frmsize[VPU_FMT_TYPE_RAW],
> + },
> + {
> + .v4l2_pix_fmt = V4L2_PIX_FMT_UYVY,
> + .v4l2_frmsize = &enc_frmsize[VPU_FMT_TYPE_RAW],
> + },
> + {
> + .v4l2_pix_fmt = V4L2_PIX_FMT_VYUY,
> + .v4l2_frmsize = &enc_frmsize[VPU_FMT_TYPE_RAW],
> + },
> }
> };
>
> @@ -1161,6 +1177,22 @@ static int wave5_set_enc_openparam(struct enc_open_param *open_param,
> else
> open_param->src_format = FORMAT_420;
>
> + switch (info->format) {
> + case V4L2_PIX_FMT_YUYV:
> + open_param->packed_format = PACKED_YUYV;
> + break;
> + case V4L2_PIX_FMT_YVYU:
> + open_param->packed_format = PACKED_YVYU;
> + break;
> + case V4L2_PIX_FMT_UYVY:
> + open_param->packed_format = PACKED_UYVY;
> + break;
> + case V4L2_PIX_FMT_VYUY:
> + open_param->packed_format = PACKED_VYUY;
> + break;
> + default:
> + break;
> + }
> open_param->wave_param.gop_preset_idx = PRESET_IDX_IPP_SINGLE;
> open_param->wave_param.hvs_qp_scale = 2;
> open_param->wave_param.hvs_max_delta_qp = 10;
Attachment:
signature.asc
Description: This is a digitally signed message part