Lines Matching refs:params

214 #define FIRMWARE_VERSION(x, y) (sd->params.version.firmwareVersion == (x) && \
215 sd->params.version.firmwareRevision == (y))
355 struct cam_params params; /* camera settings */
480 sd->params.version.firmwareVersion = gspca_dev->usb_buf[0];
481 sd->params.version.firmwareRevision = gspca_dev->usb_buf[1];
482 sd->params.version.vcVersion = gspca_dev->usb_buf[2];
483 sd->params.version.vcRevision = gspca_dev->usb_buf[3];
486 sd->params.pnpID.vendor =
488 sd->params.pnpID.product =
490 sd->params.pnpID.deviceRevision =
494 sd->params.status.systemState = gspca_dev->usb_buf[0];
495 sd->params.status.grabState = gspca_dev->usb_buf[1];
496 sd->params.status.streamState = gspca_dev->usb_buf[2];
497 sd->params.status.fatalError = gspca_dev->usb_buf[3];
498 sd->params.status.cmdError = gspca_dev->usb_buf[4];
499 sd->params.status.debugFlags = gspca_dev->usb_buf[5];
500 sd->params.status.vpStatus = gspca_dev->usb_buf[6];
501 sd->params.status.errorCode = gspca_dev->usb_buf[7];
504 sd->params.vpVersion.vpVersion = gspca_dev->usb_buf[0];
505 sd->params.vpVersion.vpRevision = gspca_dev->usb_buf[1];
506 sd->params.vpVersion.cameraHeadID =
510 sd->params.colourParams.brightness = gspca_dev->usb_buf[0];
511 sd->params.colourParams.contrast = gspca_dev->usb_buf[1];
512 sd->params.colourParams.saturation = gspca_dev->usb_buf[2];
515 sd->params.colourBalance.redGain = gspca_dev->usb_buf[0];
516 sd->params.colourBalance.greenGain = gspca_dev->usb_buf[1];
517 sd->params.colourBalance.blueGain = gspca_dev->usb_buf[2];
520 sd->params.exposure.gain = gspca_dev->usb_buf[0];
521 sd->params.exposure.fineExp = gspca_dev->usb_buf[1];
522 sd->params.exposure.coarseExpLo = gspca_dev->usb_buf[2];
523 sd->params.exposure.coarseExpHi = gspca_dev->usb_buf[3];
524 sd->params.exposure.redComp = gspca_dev->usb_buf[4];
525 sd->params.exposure.green1Comp = gspca_dev->usb_buf[5];
526 sd->params.exposure.green2Comp = gspca_dev->usb_buf[6];
527 sd->params.exposure.blueComp = gspca_dev->usb_buf[7];
533 if (a != sd->params.qx3.button) {
538 sd->params.qx3.button = a;
540 if (sd->params.qx3.button) {
553 sd->params.qx3.cradled = ((gspca_dev->usb_buf[2] & 0x40) == 0);
622 struct cam_params *params = &sd->params;
627 params->colourParams.brightness = BRIGHTNESS_DEF;
628 params->colourParams.contrast = CONTRAST_DEF;
629 params->colourParams.saturation = SATURATION_DEF;
630 params->exposure.gainMode = 4;
631 params->exposure.expMode = 2; /* AEC */
632 params->exposure.compMode = 1;
633 params->exposure.centreWeight = 1;
634 params->exposure.gain = 0;
635 params->exposure.fineExp = 0;
636 params->exposure.coarseExpLo = 185;
637 params->exposure.coarseExpHi = 0;
638 params->exposure.redComp = COMP_RED;
639 params->exposure.green1Comp = COMP_GREEN1;
640 params->exposure.green2Comp = COMP_GREEN2;
641 params->exposure.blueComp = COMP_BLUE;
642 params->colourBalance.balanceMode = 2; /* ACB */
643 params->colourBalance.redGain = 32;
644 params->colourBalance.greenGain = 6;
645 params->colourBalance.blueGain = 92;
646 params->apcor.gain1 = 0x18;
647 params->apcor.gain2 = 0x16;
648 params->apcor.gain4 = 0x24;
649 params->apcor.gain8 = 0x34;
650 params->vlOffset.gain1 = 20;
651 params->vlOffset.gain2 = 24;
652 params->vlOffset.gain4 = 26;
653 params->vlOffset.gain8 = 26;
654 params->compressionParams.hysteresis = 3;
655 params->compressionParams.threshMax = 11;
656 params->compressionParams.smallStep = 1;
657 params->compressionParams.largeStep = 3;
658 params->compressionParams.decimationHysteresis = 2;
659 params->compressionParams.frDiffStepThresh = 5;
660 params->compressionParams.qDiffStepThresh = 3;
661 params->compressionParams.decimationThreshMod = 2;
666 params->sensorFps.divisor = 1;
667 params->sensorFps.baserate = 1;
669 params->flickerControl.flickerMode = 0;
670 params->flickerControl.disabled = 1;
671 params->flickerControl.coarseJump =
673 [params->sensorFps.baserate]
674 [params->sensorFps.divisor];
675 params->flickerControl.allowableOverExposure =
676 find_over_exposure(params->colourParams.brightness);
678 params->yuvThreshold.yThreshold = 6; /* From windows driver */
679 params->yuvThreshold.uvThreshold = 6; /* From windows driver */
681 params->format.subSample = SUBSAMPLE_420;
682 params->format.yuvOrder = YUVORDER_YUYV;
684 params->compression.mode = CPIA_COMPRESSION_AUTO;
685 params->compression.decimation = NO_DECIMATION;
687 params->compressionTarget.frTargeting = COMP_TARGET_DEF;
688 params->compressionTarget.targetFR = 15; /* From windows driver */
689 params->compressionTarget.targetQ = 5; /* From windows driver */
691 params->qx3.qx3_detected = 0;
692 params->qx3.toplight = 0;
693 params->qx3.bottomlight = 0;
694 params->qx3.button = 0;
695 params->qx3.cradled = 0;
698 static void printstatus(struct gspca_dev *gspca_dev, struct cam_params *params)
701 params->status.systemState, params->status.grabState,
702 params->status.streamState, params->status.fatalError,
703 params->status.cmdError, params->status.debugFlags,
704 params->status.vpStatus, params->status.errorCode);
720 if (sd->params.status.systemState != LO_POWER_STATE) {
721 if (sd->params.status.systemState != WARM_BOOT_STATE) {
723 sd->params.status.systemState);
724 printstatus(gspca_dev, &sd->params);
751 if (sd->params.status.systemState != HI_POWER_STATE) {
753 sd->params.status.systemState);
754 printstatus(gspca_dev, &sd->params);
792 sd->params.format.videoSize,
793 sd->params.format.subSample,
794 sd->params.format.yuvOrder, 0);
799 sd->params.roi.colStart, sd->params.roi.colEnd,
800 sd->params.roi.rowStart, sd->params.roi.rowEnd);
807 sd->params.colourParams.brightness,
808 sd->params.colourParams.contrast,
809 sd->params.colourParams.saturation, 0);
816 sd->params.apcor.gain1,
817 sd->params.apcor.gain2,
818 sd->params.apcor.gain4,
819 sd->params.apcor.gain8);
826 sd->params.vlOffset.gain1,
827 sd->params.vlOffset.gain2,
828 sd->params.vlOffset.gain4,
829 sd->params.vlOffset.gain8);
838 sd->params.exposure.gainMode,
840 sd->params.exposure.compMode,
841 sd->params.exposure.centreWeight,
842 sd->params.exposure.gain,
843 sd->params.exposure.fineExp,
844 sd->params.exposure.coarseExpLo,
845 sd->params.exposure.coarseExpHi,
846 sd->params.exposure.redComp,
847 sd->params.exposure.green1Comp,
848 sd->params.exposure.green2Comp,
849 sd->params.exposure.blueComp);
853 if (sd->params.exposure.expMode != 1) {
856 sd->params.exposure.expMode,
858 sd->params.exposure.gain,
859 sd->params.exposure.fineExp,
860 sd->params.exposure.coarseExpLo,
861 sd->params.exposure.coarseExpHi,
872 if (sd->params.colourBalance.balanceMode == 1) {
877 sd->params.colourBalance.redGain,
878 sd->params.colourBalance.greenGain,
879 sd->params.colourBalance.blueGain);
886 if (sd->params.colourBalance.balanceMode == 2) {
890 if (sd->params.colourBalance.balanceMode == 3) {
903 sd->params.compressionTarget.frTargeting,
904 sd->params.compressionTarget.targetFR,
905 sd->params.compressionTarget.targetQ, 0);
913 sd->params.yuvThreshold.yThreshold,
914 sd->params.yuvThreshold.uvThreshold, 0, 0);
924 sd->params.compressionParams.hysteresis,
925 sd->params.compressionParams.threshMax,
926 sd->params.compressionParams.smallStep,
927 sd->params.compressionParams.largeStep,
928 sd->params.compressionParams.decimationHysteresis,
929 sd->params.compressionParams.frDiffStepThresh,
930 sd->params.compressionParams.qDiffStepThresh,
931 sd->params.compressionParams.decimationThreshMod);
939 sd->params.compression.mode,
940 sd->params.compression.decimation, 0, 0);
948 sd->params.sensorFps.divisor,
949 sd->params.sensorFps.baserate, 0, 0);
957 sd->params.flickerControl.flickerMode,
958 sd->params.flickerControl.coarseJump,
959 sd->params.flickerControl.allowableOverExposure,
968 sd->params.ecpTiming, 0, 0, 0);
981 0, sd->params.streamStartLine, 0, 0);
989 p1 = (sd->params.qx3.bottomlight == 0) << 1;
990 p2 = (sd->params.qx3.toplight == 0) << 3;
1020 int currentexp = sd->params.exposure.coarseExpLo +
1021 sd->params.exposure.coarseExpHi * 256;
1025 int cj = sd->params.flickerControl.coarseJump;
1026 sd->params.flickerControl.flickerMode = 1;
1027 sd->params.flickerControl.disabled = 0;
1028 if (sd->params.exposure.expMode != 2) {
1029 sd->params.exposure.expMode = 2;
1032 if (sd->params.exposure.gain >= BITS_PER_TYPE(currentexp))
1034 currentexp = currentexp << sd->params.exposure.gain;
1035 sd->params.exposure.gain = 0;
1047 sd->params.exposure.coarseExpLo = startexp & 0xff;
1048 sd->params.exposure.coarseExpHi = startexp >> 8;
1052 sd->params.exposure.redComp =
1054 sd->params.exposure.green1Comp =
1056 sd->params.exposure.green2Comp =
1058 sd->params.exposure.blueComp =
1061 sd->params.exposure.redComp = COMP_RED;
1062 sd->params.exposure.green1Comp = COMP_GREEN1;
1063 sd->params.exposure.green2Comp = COMP_GREEN2;
1064 sd->params.exposure.blueComp = COMP_BLUE;
1067 sd->params.exposure.compMode = 0;
1069 sd->params.exposure.compMode = 1;
1071 sd->params.apcor.gain1 = 0x18;
1072 sd->params.apcor.gain2 = 0x18;
1073 sd->params.apcor.gain4 = 0x16;
1074 sd->params.apcor.gain8 = 0x14;
1076 sd->params.flickerControl.flickerMode = 0;
1077 sd->params.flickerControl.disabled = 1;
1080 sd->params.exposure.redComp, currentexp);
1082 sd->params.exposure.green1Comp, currentexp);
1084 sd->params.exposure.green2Comp, currentexp);
1086 sd->params.exposure.blueComp, currentexp);
1088 while (startexp > MAX_EXP && sd->params.exposure.gain <
1089 sd->params.exposure.gainMode - 1) {
1091 ++sd->params.exposure.gain;
1097 sd->params.exposure.coarseExpLo = startexp & 0xff;
1098 sd->params.exposure.coarseExpHi = startexp >> 8;
1099 sd->params.exposure.redComp = COMP_RED;
1100 sd->params.exposure.green1Comp = COMP_GREEN1;
1101 sd->params.exposure.green2Comp = COMP_GREEN2;
1102 sd->params.exposure.blueComp = COMP_BLUE;
1103 sd->params.exposure.compMode = 1;
1104 sd->params.apcor.gain1 = 0x18;
1105 sd->params.apcor.gain2 = 0x16;
1106 sd->params.apcor.gain4 = 0x24;
1107 sd->params.apcor.gain8 = 0x34;
1109 sd->params.vlOffset.gain1 = 20;
1110 sd->params.vlOffset.gain2 = 24;
1111 sd->params.vlOffset.gain4 = 26;
1112 sd->params.vlOffset.gain8 = 26;
1164 light_exp = sd->params.colourParams.brightness +
1168 dark_exp = sd->params.colourParams.brightness +
1174 old_exposure = sd->params.exposure.coarseExpHi * 256 +
1175 sd->params.exposure.coarseExpLo;
1177 if (!sd->params.flickerControl.disabled) {
1278 if (!sd->params.flickerControl.disabled) {
1283 sd->params.sensorFps.divisor < 2) {
1286 ++sd->params.sensorFps.divisor;
1289 sd->params.flickerControl.coarseJump =
1291 [sd->params.sensorFps.baserate]
1292 [sd->params.sensorFps.divisor];
1295 new_exposure = sd->params.flickerControl.coarseJump-1;
1298 sd->params.flickerControl.coarseJump;
1299 sd->params.exposure.coarseExpLo = new_exposure & 0xff;
1300 sd->params.exposure.coarseExpHi = new_exposure >> 8;
1308 sd->params.sensorFps.divisor > 0) {
1313 --sd->params.sensorFps.divisor;
1316 sd->params.flickerControl.coarseJump =
1318 [sd->params.sensorFps.baserate]
1319 [sd->params.sensorFps.divisor];
1322 new_exposure = sd->params.flickerControl.coarseJump-1;
1325 sd->params.flickerControl.coarseJump < max_exp)
1327 sd->params.flickerControl.coarseJump;
1328 sd->params.exposure.coarseExpLo = new_exposure & 0xff;
1329 sd->params.exposure.coarseExpHi = new_exposure >> 8;
1339 sd->params.sensorFps.divisor < 2) {
1342 ++sd->params.sensorFps.divisor;
1345 if (sd->params.exposure.gain > 0) {
1346 --sd->params.exposure.gain;
1355 sd->params.sensorFps.divisor > 0) {
1358 --sd->params.sensorFps.divisor;
1361 if (sd->params.exposure.gain <
1362 sd->params.exposure.gainMode - 1) {
1363 ++sd->params.exposure.gain;
1399 if (sd->params.flickerControl.flickerMode == 0 ||
1403 old_exp = sd->params.exposure.coarseExpLo +
1404 sd->params.exposure.coarseExpHi*256;
1409 cam_exposure %= sd->params.flickerControl.coarseJump;
1410 if (!sd->params.flickerControl.disabled &&
1411 cam_exposure <= sd->params.flickerControl.coarseJump - 3) {
1413 sd->params.flickerControl.disabled = 1;
1416 if (sd->params.flickerControl.disabled &&
1417 old_exp > sd->params.flickerControl.coarseJump +
1444 sd->params.version.firmwareVersion = 0;
1446 if (sd->params.version.firmwareVersion != 1) {
1448 sd->params.version.firmwareVersion);
1453 if (sd->params.version.firmwareRevision <= 2 &&
1454 sd->params.exposure.gainMode > 2) {
1455 sd->params.exposure.gainMode = 2;
1459 sd->params.qx3.qx3_detected = (sd->params.pnpID.vendor == 0x0813 &&
1460 sd->params.pnpID.product == 0x0001);
1472 if (sd->params.status.systemState != WARM_BOOT_STATE) {
1474 sd->params.status.systemState);
1475 printstatus(gspca_dev, &sd->params);
1497 sd->params.version.firmwareVersion = 0;
1520 if (sd->params.status.fatalError) {
1522 sd->params.status.fatalError,
1523 sd->params.status.vpStatus);
1534 sd->params.streamStartLine = 120;
1538 sd->params.roi.colStart = 2;
1539 sd->params.roi.rowStart = 6;
1541 sd->params.roi.colStart = 0;
1542 sd->params.roi.rowStart = 0;
1546 sd->params.format.videoSize = VIDEOSIZE_QCIF;
1547 sd->params.roi.colStart /= 2;
1548 sd->params.roi.rowStart /= 2;
1549 sd->params.streamStartLine /= 2;
1551 sd->params.format.videoSize = VIDEOSIZE_CIF;
1553 sd->params.roi.colEnd = sd->params.roi.colStart +
1555 sd->params.roi.rowEnd = sd->params.roi.rowStart +
1640 if (sd->params.qx3.button) {
1642 the latch, so we do not reset sd->params.qx3.button now, to
1665 if (sd->params.qx3.qx3_detected)
1671 sd->params.version.firmwareVersion,
1672 sd->params.version.firmwareRevision,
1673 sd->params.version.vcVersion,
1674 sd->params.version.vcRevision);
1676 sd->params.pnpID.vendor, sd->params.pnpID.product,
1677 sd->params.pnpID.deviceRevision);
1679 sd->params.vpVersion.vpVersion,
1680 sd->params.vpVersion.vpRevision,
1681 sd->params.vpVersion.cameraHeadID);
1695 data[16] == sd->params.format.videoSize &&
1696 data[17] == sd->params.format.subSample &&
1697 data[18] == sd->params.format.yuvOrder &&
1698 data[24] == sd->params.roi.colStart &&
1699 data[25] == sd->params.roi.colEnd &&
1700 data[26] == sd->params.roi.rowStart &&
1701 data[27] == sd->params.roi.rowEnd) {
1742 if (sd->params.exposure.expMode == 2)
1763 sd->params.colourParams.brightness = ctrl->val;
1764 sd->params.flickerControl.allowableOverExposure =
1765 find_over_exposure(sd->params.colourParams.brightness);
1771 sd->params.colourParams.contrast = ctrl->val;
1775 sd->params.colourParams.saturation = ctrl->val;
1780 sd->params.flickerControl.coarseJump =
1782 [sd->params.sensorFps.baserate]
1783 [sd->params.sensorFps.divisor];
1790 sd->params.qx3.bottomlight = ctrl->val;
1794 sd->params.qx3.toplight = ctrl->val;
1798 sd->params.compressionTarget.frTargeting = ctrl->val;
1840 if (sd->params.qx3.qx3_detected) {