diff --git a/drivers/media/video/gspca/jpeg.h b/drivers/media/video/gspca/jpeg.h
index 7d2df97..de63c36 100644
--- a/drivers/media/video/gspca/jpeg.h
+++ b/drivers/media/video/gspca/jpeg.h
@@ -27,42 +27,16 @@
 /*
  * generation options
  *	CONEX_CAM	Conexant if present
- *	QUANT_VAL	quantization table (0..8)
  */
 
-/*
- * JPEG header:
- *	- start of jpeg frame
- *	- quantization table
- *	- huffman table
- *	- start of SOF0
- */
+/* JPEG header */
 static const u8 jpeg_head[] = {
 	0xff, 0xd8,			/* jpeg */
+
+/* quantization table quality 50% */
 	0xff, 0xdb, 0x00, 0x84,		/* DQT */
-#if QUANT_VAL == 0
-/* index 0 - Q40*/
-0,					/* quantization table part 1 */
-	0x14, 0x0e, 0x0f, 0x12, 0x0f, 0x0d, 0x14, 0x12,
-	0x10, 0x12, 0x17, 0x15, 0x14, 0x18, 0x1e, 0x32,
-	0x21, 0x1e, 0x1c, 0x1c, 0x1e, 0x3d, 0x2c, 0x2e,
-	0x24, 0x32, 0x49, 0x40, 0x4c, 0x4b, 0x47, 0x40,
-	0x46, 0x45, 0x50, 0x5a, 0x73, 0x62, 0x50, 0x55,
-	0x6d, 0x56, 0x45, 0x46, 0x64, 0x88, 0x65, 0x6d,
-	0x77, 0x7b, 0x81, 0x82, 0x81, 0x4e, 0x60, 0x8d,
-	0x97, 0x8c, 0x7d, 0x96, 0x73, 0x7e, 0x81, 0x7c,
-1,					/* quantization table part 2 */
-	0x15, 0x17, 0x17, 0x1e, 0x1a, 0x1e, 0x3b, 0x21,
-	0x21, 0x3b, 0x7c, 0x53, 0x46, 0x53, 0x7c, 0x0c,
-	0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c,
-	0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c,
-	0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c,
-	0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c,
-	0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c,
-	0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c,
-#elif QUANT_VAL == 1
-/* index 1 - Q50 */
 0,
+#define JPEG_QT0_OFFSET 7
 	0x10, 0x0b, 0x0c, 0x0e, 0x0c, 0x0a, 0x10, 0x0e,
 	0x0d, 0x0e, 0x12, 0x11, 0x10, 0x13, 0x18, 0x28,
 	0x1a, 0x18, 0x16, 0x16, 0x18, 0x31, 0x23, 0x25,
@@ -72,6 +46,7 @@
 	0x5f, 0x62, 0x67, 0x68, 0x67, 0x3e, 0x4d, 0x71,
 	0x79, 0x70, 0x64, 0x78, 0x5c, 0x65, 0x67, 0x63,
 1,
+#define JPEG_QT1_OFFSET 72
 	0x11, 0x12, 0x12, 0x18, 0x15, 0x18, 0x2f, 0x1a,
 	0x1a, 0x2f, 0x63, 0x42, 0x38, 0x42, 0x63, 0x63,
 	0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
@@ -80,149 +55,6 @@
 	0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
 	0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
 	0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
-#elif QUANT_VAL == 2
-/* index 2 Q60 */
-0,
-	0x0d, 0x09, 0x0a, 0x0b, 0x0a, 0x08, 0x0d, 0x0b,
-	0x0a, 0x0b, 0x0e, 0x0e, 0x0d, 0x0f, 0x13, 0x20,
-	0x15, 0x13, 0x12, 0x12, 0x13, 0x27, 0x1c, 0x1e,
-	0x17, 0x20, 0x2e, 0x29, 0x31, 0x30, 0x2e, 0x29,
-	0x2d, 0x2c, 0x33, 0x3a, 0x4a, 0x3e, 0x33, 0x36,
-	0x46, 0x37, 0x2c, 0x2d, 0x40, 0x57, 0x41, 0x46,
-	0x4c, 0x4e, 0x52, 0x53, 0x52, 0x32, 0x3e, 0x5a,
-	0x61, 0x5a, 0x50, 0x60, 0x4a, 0x51, 0x52, 0x4f,
-1,
-	0x0e, 0x0e, 0x0e, 0x13, 0x11, 0x13, 0x26, 0x15,
-	0x15, 0x26, 0x4f, 0x35, 0x2d, 0x35, 0x4f, 0x4f,
-	0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
-	0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
-	0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
-	0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
-	0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
-	0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
-#elif QUANT_VAL == 3
-/* index 3 - Q70 */
-0,
-	0x0a, 0x07, 0x07, 0x08, 0x07, 0x06, 0x0a, 0x08,
-	0x08, 0x08, 0x0b, 0x0a, 0x0a, 0x0b, 0x0e, 0x18,
-	0x10, 0x0e, 0x0d, 0x0d, 0x0e, 0x1d, 0x15, 0x16,
-	0x11, 0x18, 0x23, 0x1f, 0x25, 0x24, 0x22, 0x1f,
-	0x22, 0x21, 0x26, 0x2b, 0x37, 0x2f, 0x26, 0x29,
-	0x34, 0x29, 0x21, 0x22, 0x30, 0x41, 0x31, 0x34,
-	0x39, 0x3b, 0x3e, 0x3e, 0x3e, 0x25, 0x2e, 0x44,
-	0x49, 0x43, 0x3c, 0x48, 0x37, 0x3d, 0x3e, 0x3b,
-1,
-	0x0a, 0x0b, 0x0b, 0x0e, 0x0d, 0x0e, 0x1c, 0x10,
-	0x10, 0x1c, 0x3b, 0x28, 0x22, 0x28, 0x3b, 0x3b,
-	0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
-	0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
-	0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
-	0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
-	0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
-	0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
-#elif QUANT_VAL == 4
-/* index 4 - Q80 */
-0,
-	0x06, 0x04, 0x05, 0x06, 0x05, 0x04, 0x06, 0x06,
-	0x05, 0x06, 0x07, 0x07, 0x06, 0x08, 0x0a, 0x10,
-	0x0a, 0x0a, 0x09, 0x09, 0x0a, 0x14, 0x0e, 0x0f,
-	0x0c, 0x10, 0x17, 0x14, 0x18, 0x18, 0x17, 0x14,
-	0x16, 0x16, 0x1a, 0x1d, 0x25, 0x1f, 0x1a, 0x1b,
-	0x23, 0x1c, 0x16, 0x16, 0x20, 0x2c, 0x20, 0x23,
-	0x26, 0x27, 0x29, 0x2a, 0x29, 0x19, 0x1f, 0x2d,
-	0x30, 0x2d, 0x28, 0x30, 0x25, 0x28, 0x29, 0x28,
-1,
-	0x07, 0x07, 0x07, 0x0a, 0x08, 0x0a, 0x13, 0x0a,
-	0x0a, 0x13, 0x28, 0x1a, 0x16, 0x1a, 0x28, 0x28,
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
-	0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
-#elif QUANT_VAL == 5
-/* index 5 - Q85 */
-0,
-	0x05, 0x03, 0x04, 0x04, 0x04, 0x03, 0x05, 0x04,
-	0x04, 0x04, 0x05, 0x05, 0x05, 0x06, 0x07, 0x0c,
-	0x08, 0x07, 0x07, 0x07, 0x07, 0x0f, 0x0b, 0x0b,
-	0x09, 0x0c, 0x11, 0x0f, 0x12, 0x12, 0x11, 0x0f,
-	0x11, 0x11, 0x13, 0x16, 0x1c, 0x17, 0x13, 0x14,
-	0x1a, 0x15, 0x11, 0x11, 0x18, 0x21, 0x18, 0x1a,
-	0x1d, 0x1d, 0x1f, 0x1f, 0x1f, 0x13, 0x17, 0x22,
-	0x24, 0x22, 0x1e, 0x24, 0x1c, 0x1e, 0x1f, 0x1e,
-1,
-	0x05, 0x05, 0x05, 0x07, 0x06, 0x07, 0x0e, 0x08,
-	0x08, 0x0e, 0x1e, 0x14, 0x11, 0x14, 0x1e, 0x1e,
-	0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
-	0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
-	0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
-	0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
-	0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
-	0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e,
-#elif QUANT_VAL == 6
-/* index 6 - 86 */
-0,
-	0x04, 0x03, 0x03, 0x04, 0x03, 0x03, 0x04, 0x04,
-	0x04, 0x04, 0x05, 0x05, 0x04, 0x05, 0x07, 0x0B,
-	0x07, 0x07, 0x06, 0x06, 0x07, 0x0e, 0x0a, 0x0a,
-	0x08, 0x0B, 0x10, 0x0e, 0x11, 0x11, 0x10, 0x0e,
-	0x10, 0x0f, 0x12, 0x14, 0x1a, 0x16, 0x12, 0x13,
-	0x18, 0x13, 0x0f, 0x10, 0x16, 0x1f, 0x17, 0x18,
-	0x1b, 0x1b, 0x1d, 0x1d, 0x1d, 0x11, 0x16, 0x20,
-	0x22, 0x1f, 0x1c, 0x22, 0x1a, 0x1c, 0x1d, 0x1c,
-1,
-	0x05, 0x05, 0x05, 0x07, 0x06, 0x07, 0x0D, 0x07,
-	0x07, 0x0D, 0x1c, 0x12, 0x10, 0x12, 0x1c, 0x1c,
-	0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
-	0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
-	0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
-	0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
-	0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
-	0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c,
-#elif QUANT_VAL == 7
-/* index 7 - 88 */
-0,
-	0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x04, 0x03,
-	0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x06, 0x0a,
-	0x06, 0x06, 0x05, 0x05, 0x06, 0x0C, 0x08, 0x09,
-	0x07, 0x0a, 0x0e, 0x0c, 0x0f, 0x0e, 0x0e, 0x0c,
-	0x0d, 0x0d, 0x0f, 0x11, 0x16, 0x13, 0x0f, 0x10,
-	0x15, 0x11, 0x0d, 0x0d, 0x13, 0x1a, 0x13, 0x15,
-	0x17, 0x18, 0x19, 0x19, 0x19, 0x0f, 0x12, 0x1b,
-	0x1d, 0x1b, 0x18, 0x1d, 0x16, 0x18, 0x19, 0x18,
-1,
-	0x04, 0x04, 0x04, 0x06, 0x05, 0x06, 0x0B, 0x06,
-	0x06, 0x0B, 0x18, 0x10, 0x0d, 0x10, 0x18, 0x18,
-	0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
-	0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
-	0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
-	0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
-	0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
-	0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
-#elif QUANT_VAL == 8
-/* index 8 - ?? */
-0,
-	0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
-	0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x05,
-	0x03, 0x03, 0x03, 0x03, 0x03, 0x06, 0x04, 0x05,
-	0x04, 0x05, 0x07, 0x06, 0x08, 0x08, 0x07, 0x06,
-	0x07, 0x07, 0x08, 0x09, 0x0c, 0x0a, 0x08, 0x09,
-	0x0B, 0x09, 0x07, 0x07, 0x0a, 0x0e, 0x0a, 0x0b,
-	0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x08, 0x0a, 0x0e,
-	0x0f, 0x0e, 0x0d, 0x0f, 0x0c, 0x0d, 0x0d, 0x0c,
-1,
-	0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x06, 0x03,
-	0x03, 0x06, 0x0c, 0x08, 0x07, 0x08, 0x0c, 0x0c,
-	0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
-	0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
-	0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
-	0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
-	0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
-	0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
-#else
-#error "Invalid quantization table"
-#endif
 
 /* huffman table */
 	0xff, 0xc4, 0x01, 0xa2,
@@ -280,55 +112,57 @@
 	0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa,
 #ifdef CONEX_CAM
 /* the Conexant frames start with SOF0 */
+#define JPEG_HDR_SZ 556
 #else
 	0xff, 0xc0, 0x00, 0x11,		/* SOF0 (start of frame 0 */
 	0x08,				/* data precision */
-#endif
-};
-
-#ifndef CONEX_CAM
-/* variable part:
- *	0x01, 0xe0,			 height
- *	0x02, 0x80,			 width
- *	0x03,				 component number
- *		0x01,
- *			0x21,			samples Y
- */
-
-/* end of header */
-static u8 eoh[] = {
+#define JPEG_HEIGHT_OFFSET 561
+	0x01, 0xe0,			/* height */
+	0x02, 0x80,			/* width */
+	0x03,				/* component number */
+		0x01,
+			0x21,		/* samples Y */
 			0x00,		/* quant Y */
 		0x02, 0x11, 0x01,	/* samples CbCr - quant CbCr */
 		0x03, 0x11, 0x01,
 
 	0xff, 0xda, 0x00, 0x0c,		/* SOS (start of scan) */
 	0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 0x11, 0x00, 0x3f, 0x00
+#define JPEG_HDR_SZ 589
+#endif
 };
-#endif
 
-/* -- output the JPEG header -- */
-static void jpeg_put_header(struct gspca_dev *gspca_dev,
-			    struct gspca_frame *frame,
-			    int samplesY)
+/* define the JPEG header */
+static void jpeg_define(u8 *jpeg_hdr,
+			int height,
+			int width,
+			int samplesY)
 {
+	memcpy(jpeg_hdr, jpeg_head, sizeof jpeg_head);
 #ifndef CONEX_CAM
-	u8 tmpbuf[8];
+	jpeg_hdr[JPEG_HEIGHT_OFFSET + 0] = height >> 8;
+	jpeg_hdr[JPEG_HEIGHT_OFFSET + 1] = height & 0xff;
+	jpeg_hdr[JPEG_HEIGHT_OFFSET + 2] = width >> 8;
+	jpeg_hdr[JPEG_HEIGHT_OFFSET + 3] = width & 0xff;
+	jpeg_hdr[JPEG_HEIGHT_OFFSET + 6] = samplesY;
 #endif
+}
 
-	gspca_frame_add(gspca_dev, FIRST_PACKET, frame,
-			jpeg_head, sizeof jpeg_head);
-#ifndef CONEX_CAM
-	tmpbuf[0] = gspca_dev->height >> 8;
-	tmpbuf[1] = gspca_dev->height & 0xff;
-	tmpbuf[2] = gspca_dev->width >> 8;
-	tmpbuf[3] = gspca_dev->width & 0xff;
-	tmpbuf[4] = 0x03;		/* component number */
-	tmpbuf[5] = 0x01;		/* first component */
-	tmpbuf[6] = samplesY;
-	gspca_frame_add(gspca_dev, INTER_PACKET, frame,
-			tmpbuf, 7);
-	gspca_frame_add(gspca_dev, INTER_PACKET, frame,
-			eoh, sizeof eoh);
-#endif
+/* set the JPEG quality */
+static void jpeg_set_qual(u8 *jpeg_hdr,
+			  int quality)
+{
+	int i, sc;
+
+	if (quality < 50)
+		sc = 5000 / quality;
+	else
+		sc = 200 - quality * 2;
+	for (i = 0; i < 64; i++) {
+		jpeg_hdr[JPEG_QT0_OFFSET + i] =
+			(jpeg_head[JPEG_QT0_OFFSET + i] * sc + 50) / 100;
+		jpeg_hdr[JPEG_QT1_OFFSET + i] =
+			(jpeg_head[JPEG_QT1_OFFSET + i] * sc + 50) / 100;
+	}
 }
 #endif
