#ifndef JPEG_H
#define JPEG_H 1
/*
 * Insert a JPEG header at start of frame
 *
 * This module is used by the gspca subdrivers.
 * A special case is done for Conexant webcams.
 *
 * Copyright (C) Jean-Francois Moine (http://moinejf.free.fr)
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 *
 */

/*
 * 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
 */
static const u8 jpeg_head[] = {
	0xff, 0xd8,			/* jpeg */
	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,
	0x10, 0x0b, 0x0c, 0x0e, 0x0c, 0x0a, 0x10, 0x0e,
	0x0d, 0x0e, 0x12, 0x11, 0x10, 0x13, 0x18, 0x28,
	0x1a, 0x18, 0x16, 0x16, 0x18, 0x31, 0x23, 0x25,
	0x1d, 0x28, 0x3a, 0x33, 0x3d, 0x3c, 0x39, 0x33,
	0x38, 0x37, 0x40, 0x48, 0x5c, 0x4e, 0x40, 0x44,
	0x57, 0x45, 0x37, 0x38, 0x50, 0x6d, 0x51, 0x57,
	0x5f, 0x62, 0x67, 0x68, 0x67, 0x3e, 0x4d, 0x71,
	0x79, 0x70, 0x64, 0x78, 0x5c, 0x65, 0x67, 0x63,
1,
	0x11, 0x12, 0x12, 0x18, 0x15, 0x18, 0x2f, 0x1a,
	0x1a, 0x2f, 0x63, 0x42, 0x38, 0x42, 0x63, 0x63,
	0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
	0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
	0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
	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,
	0x00, 0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01,
	0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,
	0x07, 0x08, 0x09, 0x0a, 0x0b, 0x01, 0x00, 0x03,
	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
	0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
	0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
	0x0a, 0x0b, 0x10, 0x00, 0x02, 0x01, 0x03, 0x03,
	0x02, 0x04, 0x03, 0x05, 0x05, 0x04, 0x04, 0x00,
	0x00, 0x01, 0x7d, 0x01, 0x02, 0x03, 0x00, 0x04,
	0x11, 0x05, 0x12, 0x21, 0x31, 0x41, 0x06, 0x13,
	0x51, 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 0x81,
	0x91, 0xa1, 0x08, 0x23, 0x42, 0xb1, 0xc1, 0x15,
	0x52, 0xd1, 0xf0, 0x24, 0x33, 0x62, 0x72, 0x82,
	0x09, 0x0a, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x25,
	0x26, 0x27, 0x28, 0x29, 0x2a, 0x34, 0x35, 0x36,
	0x37, 0x38, 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46,
	0x47, 0x48, 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56,
	0x57, 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66,
	0x67, 0x68, 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76,
	0x77, 0x78, 0x79, 0x7a, 0x83, 0x84, 0x85, 0x86,
	0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95,
	0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4,
	0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3,
	0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2,
	0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca,
	0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
	0xda, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
	0xe8, 0xe9, 0xea, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5,
	0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0x11, 0x00, 0x02,
	0x01, 0x02, 0x04, 0x04, 0x03, 0x04, 0x07, 0x05,
	0x04, 0x04, 0x00, 0x01, 0x02, 0x77, 0x00, 0x01,
	0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 0x31, 0x06,
	0x12, 0x41, 0x51, 0x07, 0x61, 0x71, 0x13, 0x22,
	0x32, 0x81, 0x08, 0x14, 0x42, 0x91, 0xa1, 0xb1,
	0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0, 0x15, 0x62,
	0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34, 0xe1, 0x25,
	0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26, 0x27, 0x28,
	0x29, 0x2a, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a,
	0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
	0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
	0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a,
	0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a,
	0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
	0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
	0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
	0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6,
	0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5,
	0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4,
	0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe2, 0xe3,
	0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xf2,
	0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa,
#ifdef CONEX_CAM
/* the Conexant frames start with SOF0 */
#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[] = {
			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
};
#endif

/* -- output the JPEG header -- */
static void jpeg_put_header(struct gspca_dev *gspca_dev,
			    struct gspca_frame *frame,
			    int samplesY)
{
#ifndef CONEX_CAM
	u8 tmpbuf[8];
#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
}
#endif
