{
                .name           = "YUV 4:2:2 packed, YCbYCr",
                .fourcc         = V4L2_PIX_FMT_YUYV,
+               .colorspace     = V4L2_COLORSPACE_JPEG,
                .depth          = { 16 },
                .color          = FIMC_FMT_YCBYCR422,
                .memplanes      = 1,
        }, {
                .name           = "YUV 4:2:2 packed, CbYCrY",
                .fourcc         = V4L2_PIX_FMT_UYVY,
+               .colorspace     = V4L2_COLORSPACE_JPEG,
                .depth          = { 16 },
                .color          = FIMC_FMT_CBYCRY422,
                .memplanes      = 1,
        }, {
                .name           = "YUV 4:2:2 packed, CrYCbY",
                .fourcc         = V4L2_PIX_FMT_VYUY,
+               .colorspace     = V4L2_COLORSPACE_JPEG,
                .depth          = { 16 },
                .color          = FIMC_FMT_CRYCBY422,
                .memplanes      = 1,
        }, {
                .name           = "YUV 4:2:2 packed, YCrYCb",
                .fourcc         = V4L2_PIX_FMT_YVYU,
+               .colorspace     = V4L2_COLORSPACE_JPEG,
                .depth          = { 16 },
                .color          = FIMC_FMT_YCRYCB422,
                .memplanes      = 1,
        }, {
                .name           = "RAW8 (GRBG)",
                .fourcc         = V4L2_PIX_FMT_SGRBG8,
+               .colorspace     = V4L2_COLORSPACE_SRGB,
                .depth          = { 8 },
                .color          = FIMC_FMT_RAW8,
                .memplanes      = 1,
        }, {
                .name           = "RAW10 (GRBG)",
                .fourcc         = V4L2_PIX_FMT_SGRBG10,
+               .colorspace     = V4L2_COLORSPACE_SRGB,
                .depth          = { 10 },
                .color          = FIMC_FMT_RAW10,
                .memplanes      = 1,
        }, {
                .name           = "RAW12 (GRBG)",
                .fourcc         = V4L2_PIX_FMT_SGRBG12,
+               .colorspace     = V4L2_COLORSPACE_SRGB,
                .depth          = { 12 },
                .color          = FIMC_FMT_RAW12,
                .memplanes      = 1,
                if (WARN_ON(!fmt))
                        return NULL;
 
+               mf->colorspace = fmt->colorspace;
                mf->code = fmt->mbus_code;
        } else {
                struct flite_frame *sink = &fimc->inp_frame;
                                                FLITE_SD_PAD_SINK);
 
                        mf->code = sink_fmt->code;
+                       mf->colorspace = sink_fmt->colorspace;
 
                        rect = v4l2_subdev_get_try_crop(fh,
                                                FLITE_SD_PAD_SINK);
                } else {
                        mf->code = sink->fmt->mbus_code;
+                       mf->colorspace = sink->fmt->colorspace;
                        rect = &sink->rect;
                }
 
        pixm->width = frame->f_width;
        pixm->height = frame->f_height;
        pixm->field = V4L2_FIELD_NONE;
-       pixm->colorspace = V4L2_COLORSPACE_JPEG;
+       pixm->colorspace = fmt->colorspace;
        return 0;
 }
 
                                                fmt->depth[0]) / 8;
        pixm->num_planes = fmt->memplanes;
        pixm->pixelformat = fmt->fourcc;
-       pixm->colorspace = V4L2_COLORSPACE_JPEG;
+       pixm->colorspace = fmt->colorspace;
        pixm->field = V4L2_FIELD_NONE;
        return 0;
 }
                fmt->format = *mf;
                return 0;
        }
-       mf->colorspace = V4L2_COLORSPACE_JPEG;
 
        mutex_lock(&fimc->lock);
+       mf->colorspace = f->fmt->colorspace;
        mf->code = f->fmt->mbus_code;
 
        if (fmt->pad == FLITE_SD_PAD_SINK) {
        v4l2_dbg(1, debug, sd, "pad%d: code: 0x%x, %dx%d\n",
                 fmt->pad, mf->code, mf->width, mf->height);
 
-       mf->colorspace = V4L2_COLORSPACE_JPEG;
        mutex_lock(&fimc->lock);
 
        if ((atomic_read(&fimc->out_path) == FIMC_IO_ISP &&