Lines Matching defs:version

10  * version 2.1 of the License, or any later version.
115 QRinput *QRinput_new2(int version, QRecLevel level)
119 if(version < 0 || version > QRSPEC_VERSION_MAX || level > QR_ECLEVEL_H) {
129 input->version = version;
137 QRinput *QRinput_newMQR(int version, QRecLevel level)
141 if(version <= 0 || version > MQRSPEC_VERSION_MAX) goto INVALID;
142 if((MQRspec_getECCLength(version, level) == 0)) goto INVALID;
144 input = QRinput_new2(version, level);
158 return input->version;
161 int QRinput_setVersion(QRinput *input, int version)
163 if(input->mqr || version < 0 || version > QRSPEC_VERSION_MAX) {
168 input->version = version;
190 int QRinput_setVersionAndErrorCorrectionLevel(QRinput *input, int version, QRecLevel level)
193 if(version <= 0 || version > MQRSPEC_VERSION_MAX) goto INVALID;
194 if((MQRspec_getECCLength(version, level) == 0)) goto INVALID;
196 if(version < 0 || version > QRSPEC_VERSION_MAX) goto INVALID;
200 input->version = version;
333 n = QRinput_newMQR(input->version, input->level);
335 n = QRinput_new2(input->version, input->level);
410 static int QRinput_encodeModeNum(QRinput_List *entry, int version, int mqr)
419 if(version > 1) {
420 ret = BitStream_appendNum(entry->bstream, version - 1, MQRSPEC_MODEID_NUM);
423 ret = BitStream_appendNum(entry->bstream, MQRspec_lengthIndicator(QR_MODE_NUM, version), entry->size);
429 ret = BitStream_appendNum(entry->bstream, QRspec_lengthIndicator(QR_MODE_NUM, version), entry->size);
521 * @throw EINVAL invalid version.
523 static int QRinput_encodeModeAn(QRinput_List *entry, int version, int mqr)
532 if(version < 2) {
536 ret = BitStream_appendNum(entry->bstream, version - 1, MQRSPEC_MODEID_AN);
538 ret = BitStream_appendNum(entry->bstream, MQRspec_lengthIndicator(QR_MODE_AN, version), entry->size);
543 ret = BitStream_appendNum(entry->bstream, QRspec_lengthIndicator(QR_MODE_AN, version), entry->size);
593 static int QRinput_encodeMode8(QRinput_List *entry, int version, int mqr)
601 if(version < 3) {
605 ret = BitStream_appendNum(entry->bstream, version - 1, MQRSPEC_MODEID_8);
607 ret = BitStream_appendNum(entry->bstream, MQRspec_lengthIndicator(QR_MODE_8, version), entry->size);
612 ret = BitStream_appendNum(entry->bstream, QRspec_lengthIndicator(QR_MODE_8, version), entry->size);
673 * @throw EINVAL invalid version.
675 static int QRinput_encodeModeKanji(QRinput_List *entry, int version, int mqr)
684 if(version < 2) {
688 ret = BitStream_appendNum(entry->bstream, version - 1, MQRSPEC_MODEID_KANJI);
690 ret = BitStream_appendNum(entry->bstream, MQRspec_lengthIndicator(QR_MODE_KANJI, version), entry->size/2);
695 ret = BitStream_appendNum(entry->bstream, QRspec_lengthIndicator(QR_MODE_KANJI, version), entry->size/2);
772 static int QRinput_encodeModeFNC1Second(QRinput_List *entry, int version)
825 static int QRinput_encodeModeECI(QRinput_List *entry, int version)
897 * Estimates the length of the encoded bit stream on the current version.
899 * @param version version of the symbol
903 static int QRinput_estimateBitStreamSizeOfEntry(QRinput_List *entry, int version, int mqr)
909 if(version == 0) version = 1;
939 l = QRspec_lengthIndicator(entry->mode, version);
940 m = version - 1;
943 l = QRspec_lengthIndicator(entry->mode, version);
956 * @param version version of the symbol
959 __STATIC int QRinput_estimateBitStreamSize(QRinput *input, int version)
966 bits += QRinput_estimateBitStreamSizeOfEntry(list, version, input->mqr);
974 * Estimates the required version number of the symbol.
976 * @return required version number
981 int version, prev;
983 version = 0;
985 prev = version;
987 version = QRspec_getMinimumVersion((bits + 7) / 8, input->level);
988 if (version < 0) {
991 } while (version > prev);
993 return version;
997 * Returns required length in bytes for specified mode, version and bits.
999 * @param version
1003 __STATIC int QRinput_lengthOfCode(QRencodeMode mode, int version, int bits)
1007 payload = bits - 4 - QRspec_lengthIndicator(mode, version);
1038 maxsize = QRspec_maximumWords(mode, version);
1054 static int QRinput_encodeBitStream(QRinput_List *entry, int version, int mqr)
1064 words = QRspec_maximumWords(entry->mode, version);
1071 ret = QRinput_encodeBitStream(st1, version, mqr);
1073 ret = QRinput_encodeBitStream(st2, version, mqr);
1087 ret = QRinput_encodeModeNum(entry, version, mqr);
1090 ret = QRinput_encodeModeAn(entry, version, mqr);
1093 ret = QRinput_encodeMode8(entry, version, mqr);
1096 ret = QRinput_encodeModeKanji(entry, version, mqr);
1102 ret = QRinput_encodeModeECI(entry, version);
1105 ret = QRinput_encodeModeFNC1Second(entry, version);
1134 bits = QRinput_encodeBitStream(list, input->version, input->mqr);
1145 * When the version number is given and that is not sufficient, it is increased
1199 maxwords = QRspec_getDataLength(input->version, input->level);
1247 * Append padding bits for the input data - Micro QR Code version.
1264 maxbits = MQRspec_getDataLengthBit(input->version, input->level);
1275 termbits = input->version * 2 + 1;
1600 maxbits = QRspec_getDataLength(input->version, input->level) * 8 - STRUCTURE_HEADER_SIZE;
1612 nextbits = QRinput_estimateBitStreamSizeOfEntry(list, input->version, input->mqr);
1614 ret = QRinput_encodeBitStream(list, input->version, input->mqr);
1620 bytes = QRinput_lengthOfCode(list->mode, input->version, maxbits - bits);
1629 p = QRinput_new2(input->version, input->level);
1641 p = QRinput_new2(input->version, input->level);