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 */
479 sd->params.version.firmwareVersion = gspca_dev->usb_buf[0];
480 sd->params.version.firmwareRevision = gspca_dev->usb_buf[1];
481 sd->params.version.vcVersion = gspca_dev->usb_buf[2];
482 sd->params.version.vcRevision = gspca_dev->usb_buf[3];
485 sd->params.pnpID.vendor =
487 sd->params.pnpID.product =
489 sd->params.pnpID.deviceRevision =
493 sd->params.status.systemState = gspca_dev->usb_buf[0];
494 sd->params.status.grabState = gspca_dev->usb_buf[1];
495 sd->params.status.streamState = gspca_dev->usb_buf[2];
496 sd->params.status.fatalError = gspca_dev->usb_buf[3];
497 sd->params.status.cmdError = gspca_dev->usb_buf[4];
498 sd->params.status.debugFlags = gspca_dev->usb_buf[5];
499 sd->params.status.vpStatus = gspca_dev->usb_buf[6];
500 sd->params.status.errorCode = gspca_dev->usb_buf[7];
503 sd->params.vpVersion.vpVersion = gspca_dev->usb_buf[0];
504 sd->params.vpVersion.vpRevision = gspca_dev->usb_buf[1];
505 sd->params.vpVersion.cameraHeadID =
509 sd->params.colourParams.brightness = gspca_dev->usb_buf[0];
510 sd->params.colourParams.contrast = gspca_dev->usb_buf[1];
511 sd->params.colourParams.saturation = gspca_dev->usb_buf[2];
514 sd->params.colourBalance.redGain = gspca_dev->usb_buf[0];
515 sd->params.colourBalance.greenGain = gspca_dev->usb_buf[1];
516 sd->params.colourBalance.blueGain = gspca_dev->usb_buf[2];
519 sd->params.exposure.gain = gspca_dev->usb_buf[0];
520 sd->params.exposure.fineExp = gspca_dev->usb_buf[1];
521 sd->params.exposure.coarseExpLo = gspca_dev->usb_buf[2];
522 sd->params.exposure.coarseExpHi = gspca_dev->usb_buf[3];
523 sd->params.exposure.redComp = gspca_dev->usb_buf[4];
524 sd->params.exposure.green1Comp = gspca_dev->usb_buf[5];
525 sd->params.exposure.green2Comp = gspca_dev->usb_buf[6];
526 sd->params.exposure.blueComp = gspca_dev->usb_buf[7];
532 if (a != sd->params.qx3.button) {
537 sd->params.qx3.button = a;
539 if (sd->params.qx3.button) {
552 sd->params.qx3.cradled = ((gspca_dev->usb_buf[2] & 0x40) == 0);
621 struct cam_params *params = &sd->params;
626 params->colourParams.brightness = BRIGHTNESS_DEF;
627 params->colourParams.contrast = CONTRAST_DEF;
628 params->colourParams.saturation = SATURATION_DEF;
629 params->exposure.gainMode = 4;
630 params->exposure.expMode = 2; /* AEC */
631 params->exposure.compMode = 1;
632 params->exposure.centreWeight = 1;
633 params->exposure.gain = 0;
634 params->exposure.fineExp = 0;
635 params->exposure.coarseExpLo = 185;
636 params->exposure.coarseExpHi = 0;
637 params->exposure.redComp = COMP_RED;
638 params->exposure.green1Comp = COMP_GREEN1;
639 params->exposure.green2Comp = COMP_GREEN2;
640 params->exposure.blueComp = COMP_BLUE;
641 params->colourBalance.balanceMode = 2; /* ACB */
642 params->colourBalance.redGain = 32;
643 params->colourBalance.greenGain = 6;
644 params->colourBalance.blueGain = 92;
645 params->apcor.gain1 = 0x18;
646 params->apcor.gain2 = 0x16;
647 params->apcor.gain4 = 0x24;
648 params->apcor.gain8 = 0x34;
649 params->vlOffset.gain1 = 20;
650 params->vlOffset.gain2 = 24;
651 params->vlOffset.gain4 = 26;
652 params->vlOffset.gain8 = 26;
653 params->compressionParams.hysteresis = 3;
654 params->compressionParams.threshMax = 11;
655 params->compressionParams.smallStep = 1;
656 params->compressionParams.largeStep = 3;
657 params->compressionParams.decimationHysteresis = 2;
658 params->compressionParams.frDiffStepThresh = 5;
659 params->compressionParams.qDiffStepThresh = 3;
660 params->compressionParams.decimationThreshMod = 2;
665 params->sensorFps.divisor = 1;
666 params->sensorFps.baserate = 1;
668 params->flickerControl.flickerMode = 0;
669 params->flickerControl.disabled = 1;
670 params->flickerControl.coarseJump =
672 [params->sensorFps.baserate]
673 [params->sensorFps.divisor];
674 params->flickerControl.allowableOverExposure =
675 find_over_exposure(params->colourParams.brightness);
677 params->yuvThreshold.yThreshold = 6; /* From windows driver */
678 params->yuvThreshold.uvThreshold = 6; /* From windows driver */
680 params->format.subSample = SUBSAMPLE_420;
681 params->format.yuvOrder = YUVORDER_YUYV;
683 params->compression.mode = CPIA_COMPRESSION_AUTO;
684 params->compression.decimation = NO_DECIMATION;
686 params->compressionTarget.frTargeting = COMP_TARGET_DEF;
687 params->compressionTarget.targetFR = 15; /* From windows driver */
688 params->compressionTarget.targetQ = 5; /* From windows driver */
690 params->qx3.qx3_detected = 0;
691 params->qx3.toplight = 0;
692 params->qx3.bottomlight = 0;
693 params->qx3.button = 0;
694 params->qx3.cradled = 0;
697 static void printstatus(struct gspca_dev *gspca_dev, struct cam_params *params)
700 params->status.systemState, params->status.grabState,
701 params->status.streamState, params->status.fatalError,
702 params->status.cmdError, params->status.debugFlags,
703 params->status.vpStatus, params->status.errorCode);
719 if (sd->params.status.systemState != LO_POWER_STATE) {
720 if (sd->params.status.systemState != WARM_BOOT_STATE) {
722 sd->params.status.systemState);
723 printstatus(gspca_dev, &sd->params);
750 if (sd->params.status.systemState != HI_POWER_STATE) {
752 sd->params.status.systemState);
753 printstatus(gspca_dev, &sd->params);
791 sd->params.format.videoSize,
792 sd->params.format.subSample,
793 sd->params.format.yuvOrder, 0);
798 sd->params.roi.colStart, sd->params.roi.colEnd,
799 sd->params.roi.rowStart, sd->params.roi.rowEnd);
806 sd->params.colourParams.brightness,
807 sd->params.colourParams.contrast,
808 sd->params.colourParams.saturation, 0);
815 sd->params.apcor.gain1,
816 sd->params.apcor.gain2,
817 sd->params.apcor.gain4,
818 sd->params.apcor.gain8);
825 sd->params.vlOffset.gain1,
826 sd->params.vlOffset.gain2,
827 sd->params.vlOffset.gain4,
828 sd->params.vlOffset.gain8);
837 sd->params.exposure.gainMode,
839 sd->params.exposure.compMode,
840 sd->params.exposure.centreWeight,
841 sd->params.exposure.gain,
842 sd->params.exposure.fineExp,
843 sd->params.exposure.coarseExpLo,
844 sd->params.exposure.coarseExpHi,
845 sd->params.exposure.redComp,
846 sd->params.exposure.green1Comp,
847 sd->params.exposure.green2Comp,
848 sd->params.exposure.blueComp);
852 if (sd->params.exposure.expMode != 1) {
855 sd->params.exposure.expMode,
857 sd->params.exposure.gain,
858 sd->params.exposure.fineExp,
859 sd->params.exposure.coarseExpLo,
860 sd->params.exposure.coarseExpHi,
871 if (sd->params.colourBalance.balanceMode == 1) {
876 sd->params.colourBalance.redGain,
877 sd->params.colourBalance.greenGain,
878 sd->params.colourBalance.blueGain);
885 if (sd->params.colourBalance.balanceMode == 2) {
889 if (sd->params.colourBalance.balanceMode == 3) {
902 sd->params.compressionTarget.frTargeting,
903 sd->params.compressionTarget.targetFR,
904 sd->params.compressionTarget.targetQ, 0);
912 sd->params.yuvThreshold.yThreshold,
913 sd->params.yuvThreshold.uvThreshold, 0, 0);
923 sd->params.compressionParams.hysteresis,
924 sd->params.compressionParams.threshMax,
925 sd->params.compressionParams.smallStep,
926 sd->params.compressionParams.largeStep,
927 sd->params.compressionParams.decimationHysteresis,
928 sd->params.compressionParams.frDiffStepThresh,
929 sd->params.compressionParams.qDiffStepThresh,
930 sd->params.compressionParams.decimationThreshMod);
938 sd->params.compression.mode,
939 sd->params.compression.decimation, 0, 0);
947 sd->params.sensorFps.divisor,
948 sd->params.sensorFps.baserate, 0, 0);
956 sd->params.flickerControl.flickerMode,
957 sd->params.flickerControl.coarseJump,
958 sd->params.flickerControl.allowableOverExposure,
967 sd->params.ecpTiming, 0, 0, 0);
980 0, sd->params.streamStartLine, 0, 0);
988 p1 = (sd->params.qx3.bottomlight == 0) << 1;
989 p2 = (sd->params.qx3.toplight == 0) << 3;
1019 int currentexp = sd->params.exposure.coarseExpLo +
1020 sd->params.exposure.coarseExpHi * 256;
1024 int cj = sd->params.flickerControl.coarseJump;
1025 sd->params.flickerControl.flickerMode = 1;
1026 sd->params.flickerControl.disabled = 0;
1027 if (sd->params.exposure.expMode != 2) {
1028 sd->params.exposure.expMode = 2;
1031 if (sd->params.exposure.gain >= BITS_PER_TYPE(currentexp))
1033 currentexp = currentexp << sd->params.exposure.gain;
1034 sd->params.exposure.gain = 0;
1046 sd->params.exposure.coarseExpLo = startexp & 0xff;
1047 sd->params.exposure.coarseExpHi = startexp >> 8;
1051 sd->params.exposure.redComp =
1053 sd->params.exposure.green1Comp =
1055 sd->params.exposure.green2Comp =
1057 sd->params.exposure.blueComp =
1060 sd->params.exposure.redComp = COMP_RED;
1061 sd->params.exposure.green1Comp = COMP_GREEN1;
1062 sd->params.exposure.green2Comp = COMP_GREEN2;
1063 sd->params.exposure.blueComp = COMP_BLUE;
1066 sd->params.exposure.compMode = 0;
1068 sd->params.exposure.compMode = 1;
1070 sd->params.apcor.gain1 = 0x18;
1071 sd->params.apcor.gain2 = 0x18;
1072 sd->params.apcor.gain4 = 0x16;
1073 sd->params.apcor.gain8 = 0x14;
1075 sd->params.flickerControl.flickerMode = 0;
1076 sd->params.flickerControl.disabled = 1;
1079 sd->params.exposure.redComp, currentexp);
1081 sd->params.exposure.green1Comp, currentexp);
1083 sd->params.exposure.green2Comp, currentexp);
1085 sd->params.exposure.blueComp, currentexp);
1087 while (startexp > MAX_EXP && sd->params.exposure.gain <
1088 sd->params.exposure.gainMode - 1) {
1090 ++sd->params.exposure.gain;
1096 sd->params.exposure.coarseExpLo = startexp & 0xff;
1097 sd->params.exposure.coarseExpHi = startexp >> 8;
1098 sd->params.exposure.redComp = COMP_RED;
1099 sd->params.exposure.green1Comp = COMP_GREEN1;
1100 sd->params.exposure.green2Comp = COMP_GREEN2;
1101 sd->params.exposure.blueComp = COMP_BLUE;
1102 sd->params.exposure.compMode = 1;
1103 sd->params.apcor.gain1 = 0x18;
1104 sd->params.apcor.gain2 = 0x16;
1105 sd->params.apcor.gain4 = 0x24;
1106 sd->params.apcor.gain8 = 0x34;
1108 sd->params.vlOffset.gain1 = 20;
1109 sd->params.vlOffset.gain2 = 24;
1110 sd->params.vlOffset.gain4 = 26;
1111 sd->params.vlOffset.gain8 = 26;
1163 light_exp = sd->params.colourParams.brightness +
1167 dark_exp = sd->params.colourParams.brightness +
1173 old_exposure = sd->params.exposure.coarseExpHi * 256 +
1174 sd->params.exposure.coarseExpLo;
1176 if (!sd->params.flickerControl.disabled) {
1277 if (!sd->params.flickerControl.disabled) {
1282 sd->params.sensorFps.divisor < 2) {
1285 ++sd->params.sensorFps.divisor;
1288 sd->params.flickerControl.coarseJump =
1290 [sd->params.sensorFps.baserate]
1291 [sd->params.sensorFps.divisor];
1294 new_exposure = sd->params.flickerControl.coarseJump-1;
1297 sd->params.flickerControl.coarseJump;
1298 sd->params.exposure.coarseExpLo = new_exposure & 0xff;
1299 sd->params.exposure.coarseExpHi = new_exposure >> 8;
1307 sd->params.sensorFps.divisor > 0) {
1312 --sd->params.sensorFps.divisor;
1315 sd->params.flickerControl.coarseJump =
1317 [sd->params.sensorFps.baserate]
1318 [sd->params.sensorFps.divisor];
1321 new_exposure = sd->params.flickerControl.coarseJump-1;
1324 sd->params.flickerControl.coarseJump < max_exp)
1326 sd->params.flickerControl.coarseJump;
1327 sd->params.exposure.coarseExpLo = new_exposure & 0xff;
1328 sd->params.exposure.coarseExpHi = new_exposure >> 8;
1338 sd->params.sensorFps.divisor < 2) {
1341 ++sd->params.sensorFps.divisor;
1344 if (sd->params.exposure.gain > 0) {
1345 --sd->params.exposure.gain;
1354 sd->params.sensorFps.divisor > 0) {
1357 --sd->params.sensorFps.divisor;
1360 if (sd->params.exposure.gain <
1361 sd->params.exposure.gainMode - 1) {
1362 ++sd->params.exposure.gain;
1398 if (sd->params.flickerControl.flickerMode == 0 ||
1402 old_exp = sd->params.exposure.coarseExpLo +
1403 sd->params.exposure.coarseExpHi*256;
1408 cam_exposure %= sd->params.flickerControl.coarseJump;
1409 if (!sd->params.flickerControl.disabled &&
1410 cam_exposure <= sd->params.flickerControl.coarseJump - 3) {
1412 sd->params.flickerControl.disabled = 1;
1415 if (sd->params.flickerControl.disabled &&
1416 old_exp > sd->params.flickerControl.coarseJump +
1443 sd->params.version.firmwareVersion = 0;
1445 if (sd->params.version.firmwareVersion != 1) {
1447 sd->params.version.firmwareVersion);
1452 if (sd->params.version.firmwareRevision <= 2 &&
1453 sd->params.exposure.gainMode > 2) {
1454 sd->params.exposure.gainMode = 2;
1458 sd->params.qx3.qx3_detected = (sd->params.pnpID.vendor == 0x0813 &&
1459 sd->params.pnpID.product == 0x0001);
1471 if (sd->params.status.systemState != WARM_BOOT_STATE) {
1473 sd->params.status.systemState);
1474 printstatus(gspca_dev, &sd->params);
1496 sd->params.version.firmwareVersion = 0;
1519 if (sd->params.status.fatalError) {
1521 sd->params.status.fatalError,
1522 sd->params.status.vpStatus);
1533 sd->params.streamStartLine = 120;
1537 sd->params.roi.colStart = 2;
1538 sd->params.roi.rowStart = 6;
1540 sd->params.roi.colStart = 0;
1541 sd->params.roi.rowStart = 0;
1545 sd->params.format.videoSize = VIDEOSIZE_QCIF;
1546 sd->params.roi.colStart /= 2;
1547 sd->params.roi.rowStart /= 2;
1548 sd->params.streamStartLine /= 2;
1550 sd->params.format.videoSize = VIDEOSIZE_CIF;
1552 sd->params.roi.colEnd = sd->params.roi.colStart +
1554 sd->params.roi.rowEnd = sd->params.roi.rowStart +
1639 if (sd->params.qx3.button) {
1641 the latch, so we do not reset sd->params.qx3.button now, to
1664 if (sd->params.qx3.qx3_detected)
1670 sd->params.version.firmwareVersion,
1671 sd->params.version.firmwareRevision,
1672 sd->params.version.vcVersion,
1673 sd->params.version.vcRevision);
1675 sd->params.pnpID.vendor, sd->params.pnpID.product,
1676 sd->params.pnpID.deviceRevision);
1678 sd->params.vpVersion.vpVersion,
1679 sd->params.vpVersion.vpRevision,
1680 sd->params.vpVersion.cameraHeadID);
1694 data[16] == sd->params.format.videoSize &&
1695 data[17] == sd->params.format.subSample &&
1696 data[18] == sd->params.format.yuvOrder &&
1697 data[24] == sd->params.roi.colStart &&
1698 data[25] == sd->params.roi.colEnd &&
1699 data[26] == sd->params.roi.rowStart &&
1700 data[27] == sd->params.roi.rowEnd) {
1741 if (sd->params.exposure.expMode == 2)
1762 sd->params.colourParams.brightness = ctrl->val;
1763 sd->params.flickerControl.allowableOverExposure =
1764 find_over_exposure(sd->params.colourParams.brightness);
1770 sd->params.colourParams.contrast = ctrl->val;
1774 sd->params.colourParams.saturation = ctrl->val;
1779 sd->params.flickerControl.coarseJump =
1781 [sd->params.sensorFps.baserate]
1782 [sd->params.sensorFps.divisor];
1789 sd->params.qx3.bottomlight = ctrl->val;
1793 sd->params.qx3.toplight = ctrl->val;
1797 sd->params.compressionTarget.frTargeting = ctrl->val;
1839 if (sd->params.qx3.qx3_detected) {