struct video_picture *p = arg;
                if (p->depth != 16)
                        return -EINVAL;
-               if (p->palette != VIDEO_PALETTE_YUV422)
+               if (p->palette != VIDEO_PALETTE_YUV422 && p->palette != VIDEO_PALETTE_YUYV)
                        return -EINVAL;
                mutex_lock(&meye.lock);
                sonypi_camera_command(SONYPI_COMMAND_SETCAMERABRIGHTNESS,
 
                if (vm->frame >= gbuffers || vm->frame < 0)
                        return -EINVAL;
-               if (vm->format != VIDEO_PALETTE_YUV422)
+               if (vm->format != VIDEO_PALETTE_YUV422 && vm->format != VIDEO_PALETTE_YUYV)
                        return -EINVAL;
                if (vm->height * vm->width * 2 > gbufsize)
                        return -EINVAL;
 
        case VIDIOCSPICT:
        {
                struct video_picture *vpic = arg;
-               if (vpic->depth != 16 || vpic->palette != VIDEO_PALETTE_YUV422)
+               if (vpic->depth != 16 || (vpic->palette != VIDEO_PALETTE_YUV422 && vpic->palette != VIDEO_PALETTE_YUYV))
                        return -EINVAL;
 
                cam->brightness = vpic->brightness >> 8;
 
        reg |= (HorDcm << ZR36057_VFESPFR_HorDcm);
        reg |= (VerDcm << ZR36057_VFESPFR_VerDcm);
        reg |= (DispMode << ZR36057_VFESPFR_DispMode);
-       if (format->palette != VIDEO_PALETTE_YUV422)
+       if (format->palette != VIDEO_PALETTE_YUV422 && format->palette != VIDEO_PALETTE_YUYV)
                reg |= ZR36057_VFESPFR_LittleEndian;
        /* RJ: I don't know, why the following has to be the opposite
         * of the corresponding ZR36060 setting, but only this way
        reg |= ZR36057_VFESPFR_TopField;
        switch (format->palette) {
 
+       case VIDEO_PALETTE_YUYV:
        case VIDEO_PALETTE_YUV422:
                reg |= ZR36057_VFESPFR_YUV422;
                break;