V4L/DVB (13121): gspca - pac7311: add comment about JPEG header
authorMarton Nemeth <nm127@freemail.hu>
Sun, 4 Oct 2009 16:58:19 +0000 (13:58 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 5 Dec 2009 20:40:27 +0000 (18:40 -0200)
Add comment about the meaning of the fixed JPEG header bytes used to
create each image.

Signed-off-by: Marton Nemeth <nm127@freemail.hu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/gspca/pac7311.c

index b21c5e155f46717c9b56541585904896d3858b75..f954900c451ba9bc0a65b31677c031276e8bf212 100644 (file)
@@ -801,13 +801,32 @@ static void do_autogain(struct gspca_dev *gspca_dev)
                sd->autogain_ignore_frames = PAC_AUTOGAIN_IGNORE_FRAMES;
 }
 
+/* JPEG header, part 1 */
 static const unsigned char pac7311_jpeg_header1[] = {
-  0xff, 0xd8, 0xff, 0xc0, 0x00, 0x11, 0x08
+  0xff, 0xd8,          /* SOI: Start of Image */
+
+  0xff, 0xc0,          /* SOF0: Start of Frame (Baseline DCT) */
+  0x00, 0x11,          /* length = 17 bytes (including this length field) */
+  0x08                 /* Precision: 8 */
+  /* 2 bytes is placed here: number of image lines */
+  /* 2 bytes is placed here: samples per line */
 };
 
+/* JPEG header, continued */
 static const unsigned char pac7311_jpeg_header2[] = {
-  0x03, 0x01, 0x21, 0x00, 0x02, 0x11, 0x01, 0x03, 0x11, 0x01, 0xff, 0xda,
-  0x00, 0x0c, 0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 0x11, 0x00, 0x3f, 0x00
+  0x03,                        /* Number of image components: 3 */
+  0x01, 0x21, 0x00,    /* ID=1, Subsampling 1x1, Quantization table: 0 */
+  0x02, 0x11, 0x01,    /* ID=2, Subsampling 2x1, Quantization table: 1 */
+  0x03, 0x11, 0x01,    /* ID=3, Subsampling 2x1, Quantization table: 1 */
+
+  0xff, 0xda,          /* SOS: Start Of Scan */
+  0x00, 0x0c,          /* length = 12 bytes (including this length field) */
+  0x03,                        /* number of components: 3 */
+  0x01, 0x00,          /* selector 1, table 0x00 */
+  0x02, 0x11,          /* selector 2, table 0x11 */
+  0x03, 0x11,          /* selector 3, table 0x11 */
+  0x00, 0x3f,          /* Spectral selection: 0 .. 63 */
+  0x00                 /* Successive approximation: 0 */
 };
 
 /* this function is run at interrupt level */