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);
620 struct cam_params *params = &sd->params;
625 params->colourParams.brightness = BRIGHTNESS_DEF;
626 params->colourParams.contrast = CONTRAST_DEF;
627 params->colourParams.saturation = SATURATION_DEF;
628 params->exposure.gainMode = 4;
629 params->exposure.expMode = 2; /* AEC */
630 params->exposure.compMode = 1;
631 params->exposure.centreWeight = 1;
632 params->exposure.gain = 0;
633 params->exposure.fineExp = 0;
634 params->exposure.coarseExpLo = 185;
635 params->exposure.coarseExpHi = 0;
636 params->exposure.redComp = COMP_RED;
637 params->exposure.green1Comp = COMP_GREEN1;
638 params->exposure.green2Comp = COMP_GREEN2;
639 params->exposure.blueComp = COMP_BLUE;
640 params->colourBalance.balanceMode = 2; /* ACB */
641 params->colourBalance.redGain = 32;
642 params->colourBalance.greenGain = 6;
643 params->colourBalance.blueGain = 92;
644 params->apcor.gain1 = 0x18;
645 params->apcor.gain2 = 0x16;
646 params->apcor.gain4 = 0x24;
647 params->apcor.gain8 = 0x34;
648 params->vlOffset.gain1 = 20;
649 params->vlOffset.gain2 = 24;
650 params->vlOffset.gain4 = 26;
651 params->vlOffset.gain8 = 26;
652 params->compressionParams.hysteresis = 3;
653 params->compressionParams.threshMax = 11;
654 params->compressionParams.smallStep = 1;
655 params->compressionParams.largeStep = 3;
656 params->compressionParams.decimationHysteresis = 2;
657 params->compressionParams.frDiffStepThresh = 5;
658 params->compressionParams.qDiffStepThresh = 3;
659 params->compressionParams.decimationThreshMod = 2;
664 params->sensorFps.divisor = 1;
665 params->sensorFps.baserate = 1;
667 params->flickerControl.flickerMode = 0;
668 params->flickerControl.disabled = 1;
669 params->flickerControl.coarseJump =
671 [params->sensorFps.baserate]
672 [params->sensorFps.divisor];
673 params->flickerControl.allowableOverExposure =
674 find_over_exposure(params->colourParams.brightness);
676 params->yuvThreshold.yThreshold = 6; /* From windows driver */
677 params->yuvThreshold.uvThreshold = 6; /* From windows driver */
679 params->format.subSample = SUBSAMPLE_420;
680 params->format.yuvOrder = YUVORDER_YUYV;
682 params->compression.mode = CPIA_COMPRESSION_AUTO;
683 params->compression.decimation = NO_DECIMATION;
685 params->compressionTarget.frTargeting = COMP_TARGET_DEF;
686 params->compressionTarget.targetFR = 15; /* From windows driver */
687 params->compressionTarget.targetQ = 5; /* From windows driver */
689 params->qx3.qx3_detected = 0;
690 params->qx3.toplight = 0;
691 params->qx3.bottomlight = 0;
692 params->qx3.button = 0;
693 params->qx3.cradled = 0;
696 static void printstatus(struct gspca_dev *gspca_dev, struct cam_params *params)
699 params->status.systemState, params->status.grabState,
700 params->status.streamState, params->status.fatalError,
701 params->status.cmdError, params->status.debugFlags,
702 params->status.vpStatus, params->status.errorCode);
718 if (sd->params.status.systemState != LO_POWER_STATE) {
719 if (sd->params.status.systemState != WARM_BOOT_STATE) {
721 sd->params.status.systemState);
722 printstatus(gspca_dev, &sd->params);
749 if (sd->params.status.systemState != HI_POWER_STATE) {
751 sd->params.status.systemState);
752 printstatus(gspca_dev, &sd->params);
790 sd->params.format.videoSize,
791 sd->params.format.subSample,
792 sd->params.format.yuvOrder, 0);
797 sd->params.roi.colStart, sd->params.roi.colEnd,
798 sd->params.roi.rowStart, sd->params.roi.rowEnd);
805 sd->params.colourParams.brightness,
806 sd->params.colourParams.contrast,
807 sd->params.colourParams.saturation, 0);
814 sd->params.apcor.gain1,
815 sd->params.apcor.gain2,
816 sd->params.apcor.gain4,
817 sd->params.apcor.gain8);
824 sd->params.vlOffset.gain1,
825 sd->params.vlOffset.gain2,
826 sd->params.vlOffset.gain4,
827 sd->params.vlOffset.gain8);
836 sd->params.exposure.gainMode,
838 sd->params.exposure.compMode,
839 sd->params.exposure.centreWeight,
840 sd->params.exposure.gain,
841 sd->params.exposure.fineExp,
842 sd->params.exposure.coarseExpLo,
843 sd->params.exposure.coarseExpHi,
844 sd->params.exposure.redComp,
845 sd->params.exposure.green1Comp,
846 sd->params.exposure.green2Comp,
847 sd->params.exposure.blueComp);
851 if (sd->params.exposure.expMode != 1) {
854 sd->params.exposure.expMode,
856 sd->params.exposure.gain,
857 sd->params.exposure.fineExp,
858 sd->params.exposure.coarseExpLo,
859 sd->params.exposure.coarseExpHi,
870 if (sd->params.colourBalance.balanceMode == 1) {
875 sd->params.colourBalance.redGain,
876 sd->params.colourBalance.greenGain,
877 sd->params.colourBalance.blueGain);
884 if (sd->params.colourBalance.balanceMode == 2) {
888 if (sd->params.colourBalance.balanceMode == 3) {
901 sd->params.compressionTarget.frTargeting,
902 sd->params.compressionTarget.targetFR,
903 sd->params.compressionTarget.targetQ, 0);
911 sd->params.yuvThreshold.yThreshold,
912 sd->params.yuvThreshold.uvThreshold, 0, 0);
922 sd->params.compressionParams.hysteresis,
923 sd->params.compressionParams.threshMax,
924 sd->params.compressionParams.smallStep,
925 sd->params.compressionParams.largeStep,
926 sd->params.compressionParams.decimationHysteresis,
927 sd->params.compressionParams.frDiffStepThresh,
928 sd->params.compressionParams.qDiffStepThresh,
929 sd->params.compressionParams.decimationThreshMod);
937 sd->params.compression.mode,
938 sd->params.compression.decimation, 0, 0);
946 sd->params.sensorFps.divisor,
947 sd->params.sensorFps.baserate, 0, 0);
955 sd->params.flickerControl.flickerMode,
956 sd->params.flickerControl.coarseJump,
957 sd->params.flickerControl.allowableOverExposure,
966 sd->params.ecpTiming, 0, 0, 0);
979 0, sd->params.streamStartLine, 0, 0);
987 p1 = (sd->params.qx3.bottomlight == 0) << 1;
988 p2 = (sd->params.qx3.toplight == 0) << 3;
1018 int currentexp = sd->params.exposure.coarseExpLo +
1019 sd->params.exposure.coarseExpHi * 256;
1023 int cj = sd->params.flickerControl.coarseJump;
1024 sd->params.flickerControl.flickerMode = 1;
1025 sd->params.flickerControl.disabled = 0;
1026 if (sd->params.exposure.expMode != 2) {
1027 sd->params.exposure.expMode = 2;
1030 if (sd->params.exposure.gain >= BITS_PER_TYPE(currentexp))
1032 currentexp = currentexp << sd->params.exposure.gain;
1033 sd->params.exposure.gain = 0;
1045 sd->params.exposure.coarseExpLo = startexp & 0xff;
1046 sd->params.exposure.coarseExpHi = startexp >> 8;
1050 sd->params.exposure.redComp =
1052 sd->params.exposure.green1Comp =
1054 sd->params.exposure.green2Comp =
1056 sd->params.exposure.blueComp =
1059 sd->params.exposure.redComp = COMP_RED;
1060 sd->params.exposure.green1Comp = COMP_GREEN1;
1061 sd->params.exposure.green2Comp = COMP_GREEN2;
1062 sd->params.exposure.blueComp = COMP_BLUE;
1065 sd->params.exposure.compMode = 0;
1067 sd->params.exposure.compMode = 1;
1069 sd->params.apcor.gain1 = 0x18;
1070 sd->params.apcor.gain2 = 0x18;
1071 sd->params.apcor.gain4 = 0x16;
1072 sd->params.apcor.gain8 = 0x14;
1074 sd->params.flickerControl.flickerMode = 0;
1075 sd->params.flickerControl.disabled = 1;
1078 sd->params.exposure.redComp, currentexp);
1080 sd->params.exposure.green1Comp, currentexp);
1082 sd->params.exposure.green2Comp, currentexp);
1084 sd->params.exposure.blueComp, currentexp);
1086 while (startexp > MAX_EXP && sd->params.exposure.gain <
1087 sd->params.exposure.gainMode - 1) {
1089 ++sd->params.exposure.gain;
1095 sd->params.exposure.coarseExpLo = startexp & 0xff;
1096 sd->params.exposure.coarseExpHi = startexp >> 8;
1097 sd->params.exposure.redComp = COMP_RED;
1098 sd->params.exposure.green1Comp = COMP_GREEN1;
1099 sd->params.exposure.green2Comp = COMP_GREEN2;
1100 sd->params.exposure.blueComp = COMP_BLUE;
1101 sd->params.exposure.compMode = 1;
1102 sd->params.apcor.gain1 = 0x18;
1103 sd->params.apcor.gain2 = 0x16;
1104 sd->params.apcor.gain4 = 0x24;
1105 sd->params.apcor.gain8 = 0x34;
1107 sd->params.vlOffset.gain1 = 20;
1108 sd->params.vlOffset.gain2 = 24;
1109 sd->params.vlOffset.gain4 = 26;
1110 sd->params.vlOffset.gain8 = 26;
1162 light_exp = sd->params.colourParams.brightness +
1166 dark_exp = sd->params.colourParams.brightness +
1172 old_exposure = sd->params.exposure.coarseExpHi * 256 +
1173 sd->params.exposure.coarseExpLo;
1175 if (!sd->params.flickerControl.disabled) {
1276 if (!sd->params.flickerControl.disabled) {
1281 sd->params.sensorFps.divisor < 2) {
1284 ++sd->params.sensorFps.divisor;
1287 sd->params.flickerControl.coarseJump =
1289 [sd->params.sensorFps.baserate]
1290 [sd->params.sensorFps.divisor];
1293 new_exposure = sd->params.flickerControl.coarseJump-1;
1296 sd->params.flickerControl.coarseJump;
1297 sd->params.exposure.coarseExpLo = new_exposure & 0xff;
1298 sd->params.exposure.coarseExpHi = new_exposure >> 8;
1306 sd->params.sensorFps.divisor > 0) {
1311 --sd->params.sensorFps.divisor;
1314 sd->params.flickerControl.coarseJump =
1316 [sd->params.sensorFps.baserate]
1317 [sd->params.sensorFps.divisor];
1320 new_exposure = sd->params.flickerControl.coarseJump-1;
1323 sd->params.flickerControl.coarseJump < max_exp)
1325 sd->params.flickerControl.coarseJump;
1326 sd->params.exposure.coarseExpLo = new_exposure & 0xff;
1327 sd->params.exposure.coarseExpHi = new_exposure >> 8;
1337 sd->params.sensorFps.divisor < 2) {
1340 ++sd->params.sensorFps.divisor;
1343 if (sd->params.exposure.gain > 0) {
1344 --sd->params.exposure.gain;
1353 sd->params.sensorFps.divisor > 0) {
1356 --sd->params.sensorFps.divisor;
1359 if (sd->params.exposure.gain <
1360 sd->params.exposure.gainMode - 1) {
1361 ++sd->params.exposure.gain;
1397 if (sd->params.flickerControl.flickerMode == 0 ||
1401 old_exp = sd->params.exposure.coarseExpLo +
1402 sd->params.exposure.coarseExpHi*256;
1407 cam_exposure %= sd->params.flickerControl.coarseJump;
1408 if (!sd->params.flickerControl.disabled &&
1409 cam_exposure <= sd->params.flickerControl.coarseJump - 3) {
1411 sd->params.flickerControl.disabled = 1;
1414 if (sd->params.flickerControl.disabled &&
1415 old_exp > sd->params.flickerControl.coarseJump +
1442 sd->params.version.firmwareVersion = 0;
1444 if (sd->params.version.firmwareVersion != 1) {
1446 sd->params.version.firmwareVersion);
1451 if (sd->params.version.firmwareRevision <= 2 &&
1452 sd->params.exposure.gainMode > 2) {
1453 sd->params.exposure.gainMode = 2;
1457 sd->params.qx3.qx3_detected = (sd->params.pnpID.vendor == 0x0813 &&
1458 sd->params.pnpID.product == 0x0001);
1470 if (sd->params.status.systemState != WARM_BOOT_STATE) {
1472 sd->params.status.systemState);
1473 printstatus(gspca_dev, &sd->params);
1495 sd->params.version.firmwareVersion = 0;
1518 if (sd->params.status.fatalError) {
1520 sd->params.status.fatalError,
1521 sd->params.status.vpStatus);
1532 sd->params.streamStartLine = 120;
1536 sd->params.roi.colStart = 2;
1537 sd->params.roi.rowStart = 6;
1539 sd->params.roi.colStart = 0;
1540 sd->params.roi.rowStart = 0;
1544 sd->params.format.videoSize = VIDEOSIZE_QCIF;
1545 sd->params.roi.colStart /= 2;
1546 sd->params.roi.rowStart /= 2;
1547 sd->params.streamStartLine /= 2;
1549 sd->params.format.videoSize = VIDEOSIZE_CIF;
1551 sd->params.roi.colEnd = sd->params.roi.colStart +
1553 sd->params.roi.rowEnd = sd->params.roi.rowStart +
1638 if (sd->params.qx3.button) {
1640 the latch, so we do not reset sd->params.qx3.button now, to
1663 if (sd->params.qx3.qx3_detected)
1669 sd->params.version.firmwareVersion,
1670 sd->params.version.firmwareRevision,
1671 sd->params.version.vcVersion,
1672 sd->params.version.vcRevision);
1674 sd->params.pnpID.vendor, sd->params.pnpID.product,
1675 sd->params.pnpID.deviceRevision);
1677 sd->params.vpVersion.vpVersion,
1678 sd->params.vpVersion.vpRevision,
1679 sd->params.vpVersion.cameraHeadID);
1693 data[16] == sd->params.format.videoSize &&
1694 data[17] == sd->params.format.subSample &&
1695 data[18] == sd->params.format.yuvOrder &&
1696 data[24] == sd->params.roi.colStart &&
1697 data[25] == sd->params.roi.colEnd &&
1698 data[26] == sd->params.roi.rowStart &&
1699 data[27] == sd->params.roi.rowEnd) {
1740 if (sd->params.exposure.expMode == 2)
1761 sd->params.colourParams.brightness = ctrl->val;
1762 sd->params.flickerControl.allowableOverExposure =
1763 find_over_exposure(sd->params.colourParams.brightness);
1769 sd->params.colourParams.contrast = ctrl->val;
1773 sd->params.colourParams.saturation = ctrl->val;
1778 sd->params.flickerControl.coarseJump =
1780 [sd->params.sensorFps.baserate]
1781 [sd->params.sensorFps.divisor];
1788 sd->params.qx3.bottomlight = ctrl->val;
1792 sd->params.qx3.toplight = ctrl->val;
1796 sd->params.compressionTarget.frTargeting = ctrl->val;
1838 if (sd->params.qx3.qx3_detected) {