Lines Matching full:sd
42 struct sd { struct
179 struct sd *sd = (struct sd *) gspca_dev; in setexposure() local
188 sd->expo_change_state = EXPO_CHANGED; in setexposure()
210 struct sd *sd = (struct sd *)gspca_dev; in sd_config() local
256 sd->fmts[i].width = widths[i]; in sd_config()
257 sd->fmts[i].height = heights[i]; in sd_config()
258 sd->fmts[i].field = V4L2_FIELD_NONE; in sd_config()
259 sd->fmts[i].colorspace = V4L2_COLORSPACE_SRGB; in sd_config()
260 sd->fmts[i].priv = 1; in sd_config()
266 sd->fmts[i].priv = 2; in sd_config()
275 sd->fmts[i].priv = 4; in sd_config()
280 if (sd->fmts[i].priv == 1) { in sd_config()
282 sd->fmts[i].pixelformat = V4L2_PIX_FMT_SBGGR8; in sd_config()
283 sd->fmts[i].bytesperline = widths[i]; in sd_config()
284 sd->fmts[i].sizeimage = widths[i] * heights[i]; in sd_config()
289 sd->fmts[i].pixelformat = V4L2_PIX_FMT_SE401; in sd_config()
290 sd->fmts[i].bytesperline = 0; in sd_config()
291 sd->fmts[i].sizeimage = widths[i] * heights[i] * 3; in sd_config()
294 sd->fmts[i].priv * sd->fmts[i].priv); in sd_config()
298 cam->cam_mode = sd->fmts; in sd_config()
303 sd->resetlevel = 0x2d; /* Set initial resetlevel */ in sd_config()
307 sd->has_brightness = !!gspca_dev->usb_err; in sd_config()
330 struct sd *sd = (struct sd *)gspca_dev; in sd_start() local
367 se401_set_feature(gspca_dev, HV7131_REG_ARLV, sd->resetlevel); in sd_start()
369 sd->packet_read = 0; in sd_start()
370 sd->pixels_read = 0; in sd_start()
371 sd->restart_stream = 0; in sd_start()
372 sd->resetlevel_frame_count = 0; in sd_start()
373 sd->resetlevel_adjust_dir = 0; in sd_start()
374 sd->expo_change_state = EXPO_NO_CHANGE; in sd_start()
390 struct sd *sd = (struct sd *)gspca_dev; in sd_dq_callback() local
395 if (sd->restart_stream) { in sd_dq_callback()
398 sd->restart_stream = 0; in sd_dq_callback()
404 sd->resetlevel_frame_count++; in sd_dq_callback()
405 if (sd->resetlevel_frame_count < 20) in sd_dq_callback()
420 oldreset = sd->resetlevel; in sd_dq_callback()
422 while (alrc >= 10 && sd->resetlevel < 63) { in sd_dq_callback()
423 sd->resetlevel++; in sd_dq_callback()
427 while (ahrc >= 20 && sd->resetlevel > 0) { in sd_dq_callback()
428 sd->resetlevel--; in sd_dq_callback()
433 if (sd->resetlevel > oldreset) in sd_dq_callback()
437 if (sd->resetlevel_adjust_dir && in sd_dq_callback()
438 sd->resetlevel_adjust_dir != adjust_dir) in sd_dq_callback()
439 sd->resetlevel = oldreset + (sd->resetlevel - oldreset) / 2; in sd_dq_callback()
441 if (sd->resetlevel != oldreset) { in sd_dq_callback()
442 sd->resetlevel_adjust_dir = adjust_dir; in sd_dq_callback()
443 se401_set_feature(gspca_dev, HV7131_REG_ARLV, sd->resetlevel); in sd_dq_callback()
446 sd->resetlevel_frame_count = 0; in sd_dq_callback()
451 struct sd *sd = (struct sd *)gspca_dev; in sd_complete_frame() local
453 switch (sd->expo_change_state) { in sd_complete_frame()
457 sd->expo_change_state = EXPO_DROP_FRAME; in sd_complete_frame()
463 sd->expo_change_state = EXPO_NO_CHANGE; in sd_complete_frame()
473 struct sd *sd = (struct sd *)gspca_dev; in sd_pkt_scan_janggu() local
477 if (sd->restart_stream) in sd_pkt_scan_janggu()
489 if (sd->packet_read < 4) { in sd_pkt_scan_janggu()
490 count = 4 - sd->packet_read; in sd_pkt_scan_janggu()
493 memcpy(&sd->packet[sd->packet_read], &data[i], count); in sd_pkt_scan_janggu()
494 sd->packet_read += count; in sd_pkt_scan_janggu()
496 if (sd->packet_read < 4) in sd_pkt_scan_janggu()
499 bits = sd->packet[3] + (sd->packet[2] << 8); in sd_pkt_scan_janggu()
500 pixels = sd->packet[1] + ((sd->packet[0] & 0x3f) << 8); in sd_pkt_scan_janggu()
501 info = (sd->packet[0] & 0xc0) >> 6; in sd_pkt_scan_janggu()
515 count = plen - sd->packet_read; in sd_pkt_scan_janggu()
518 memcpy(&sd->packet[sd->packet_read], &data[i], count); in sd_pkt_scan_janggu()
519 sd->packet_read += count; in sd_pkt_scan_janggu()
521 if (sd->packet_read < plen) in sd_pkt_scan_janggu()
524 sd->pixels_read += pixels; in sd_pkt_scan_janggu()
525 sd->packet_read = 0; in sd_pkt_scan_janggu()
529 gspca_frame_add(gspca_dev, INTER_PACKET, sd->packet, in sd_pkt_scan_janggu()
533 if (sd->pixels_read != imagesize) { in sd_pkt_scan_janggu()
535 sd->pixels_read, imagesize); in sd_pkt_scan_janggu()
538 sd_complete_frame(gspca_dev, sd->packet, plen); in sd_pkt_scan_janggu()
541 gspca_frame_add(gspca_dev, FIRST_PACKET, sd->packet, in sd_pkt_scan_janggu()
543 sd->pixels_read = pixels; in sd_pkt_scan_janggu()
550 sd->restart_stream = 1; in sd_pkt_scan_janggu()
591 struct sd *sd = (struct sd *)gspca_dev; in sd_int_pkt_scan() local
605 if (sd->button_state != state) { in sd_int_pkt_scan()
608 sd->button_state = state; in sd_int_pkt_scan()
619 struct sd *sd = (struct sd *)gspca_dev; in sd_s_ctrl() local
634 setexposure(gspca_dev, ctrl->val, sd->freq->val); in sd_s_ctrl()
646 struct sd *sd = (struct sd *)gspca_dev; in sd_init_controls() local
651 if (sd->has_brightness) in sd_init_controls()
657 sd->exposure = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops, in sd_init_controls()
659 sd->freq = v4l2_ctrl_new_std_menu(hdl, &sd_ctrl_ops, in sd_init_controls()
667 v4l2_ctrl_cluster(2, &sd->exposure); in sd_init_controls()
702 return gspca_dev_probe(intf, id, &sd_desc, sizeof(struct sd), in sd_probe()