struct v4l2_mbus_framefmt *format,
                                   unsigned int which)
 {
-       const struct rkisp1_isp_mbus_info *mbus_info;
-       struct v4l2_mbus_framefmt *src_fmt;
+       const struct rkisp1_isp_mbus_info *sink_mbus_info;
+       struct v4l2_mbus_framefmt *src_fmt, *sink_fmt;
 
+       sink_fmt = rkisp1_rsz_get_pad_fmt(rsz, cfg, RKISP1_RSZ_PAD_SINK, which);
        src_fmt = rkisp1_rsz_get_pad_fmt(rsz, cfg, RKISP1_RSZ_PAD_SRC, which);
-       mbus_info = rkisp1_isp_mbus_info_get(src_fmt->code);
+       sink_mbus_info = rkisp1_isp_mbus_info_get(sink_fmt->code);
 
        /* for YUV formats, userspace can change the mbus code on the src pad if it is supported */
-       if (mbus_info->pixel_enc == V4L2_PIXEL_ENC_YUV &&
+       if (sink_mbus_info->pixel_enc == V4L2_PIXEL_ENC_YUV &&
            rkisp1_rsz_get_yuv_mbus_info(format->code))
                src_fmt->code = format->code;