V4LCONTROL_HFLIPPED | V4LCONTROL_WANTS_WB_AUTOGAIN },
{ 0x047d, 0x5003, 0, NULL, NULL,
V4LCONTROL_HFLIPPED | V4LCONTROL_WANTS_WB_AUTOGAIN },
+ /* W996xCF based cams, must use jpeglite because of funky JPEG fmt */
+ { 0x041e, 0x4003, 0, NULL, NULL, V4LCONTROL_FORCE_TINYJPEG },
+ { 0x1046, 0x9967, 0, NULL, NULL, V4LCONTROL_FORCE_TINYJPEG },
};
static const struct v4l2_queryctrl fake_controls[];
#define V4LCONTROL_ROTATED_90_JPEG 0x04
#define V4LCONTROL_WANTS_WB 0x08
#define V4LCONTROL_WANTS_AUTOGAIN 0x10
+#define V4LCONTROL_FORCE_TINYJPEG 0x20
/* Masks */
#define V4LCONTROL_WANTS_WB_AUTOGAIN (V4LCONTROL_WANTS_WB | V4LCONTROL_WANTS_AUTOGAIN)
free(data);
return NULL;
}
- data->control_flags = v4lcontrol_get_flags(data->control);
data->bandwidth = v4lcontrol_get_bandwidth(data->control);
+ data->control_flags = v4lcontrol_get_flags(data->control);
+ if (data->control_flags & V4LCONTROL_FORCE_TINYJPEG)
+ data->flags |= V4LCONVERT_USE_TINYJPEG;
data->processing = v4lprocessing_create(fd, data->control);
if (!data->processing) {