/* Processing mode */
        int                     mode;
 
+       enum v4l2_colorspace    colorspace;
+
        struct v4l2_m2m_ctx     *m2m_ctx;
 
        /* Source and destination queue data */
        f->fmt.pix.pixelformat  = q_data->fmt->fourcc;
        f->fmt.pix.bytesperline = (q_data->width * q_data->fmt->depth) >> 3;
        f->fmt.pix.sizeimage    = q_data->sizeimage;
+       f->fmt.pix.colorspace   = ctx->colorspace;
 
        return 0;
 }
                         f->fmt.pix.pixelformat);
                return -EINVAL;
        }
+       f->fmt.pix.colorspace = ctx->colorspace;
 
        return vidioc_try_fmt(f, fmt);
 }
                         f->fmt.pix.pixelformat);
                return -EINVAL;
        }
+       if (!f->fmt.pix.colorspace)
+               f->fmt.pix.colorspace = V4L2_COLORSPACE_REC709;
 
        return vidioc_try_fmt(f, fmt);
 }
 static int vidioc_s_fmt_vid_out(struct file *file, void *priv,
                                struct v4l2_format *f)
 {
+       struct m2mtest_ctx *ctx = file2ctx(file);
        int ret;
 
        ret = vidioc_try_fmt_vid_out(file, priv, f);
        if (ret)
                return ret;
 
-       return vidioc_s_fmt(file2ctx(file), f);
+       ret = vidioc_s_fmt(file2ctx(file), f);
+       if (!ret)
+               ctx->colorspace = f->fmt.pix.colorspace;
+       return ret;
 }
 
 static int vidioc_reqbufs(struct file *file, void *priv,
        v4l2_ctrl_handler_setup(hdl);
 
        ctx->q_data[V4L2_M2M_SRC].fmt = &formats[0];
-       ctx->q_data[V4L2_M2M_DST].fmt = &formats[0];
+       ctx->q_data[V4L2_M2M_SRC].width = 640;
+       ctx->q_data[V4L2_M2M_SRC].height = 480;
+       ctx->q_data[V4L2_M2M_SRC].sizeimage =
+               ctx->q_data[V4L2_M2M_SRC].width *
+               ctx->q_data[V4L2_M2M_SRC].height *
+               (ctx->q_data[V4L2_M2M_SRC].fmt->depth >> 3);
+       ctx->q_data[V4L2_M2M_DST] = ctx->q_data[V4L2_M2M_SRC];
+       ctx->colorspace = V4L2_COLORSPACE_REC709;
 
        ctx->m2m_ctx = v4l2_m2m_ctx_init(dev->m2m_dev, ctx, &queue_init);