TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
Macros | Functions
qrspec.h File Reference
#include "qrencode.h"

Go to the source code of this file.

Macros

#define QRSPEC_WIDTH_MAX   177
 Maximum width of a symbol. More...
 
#define QRspec_rsBlockNum(__spec__)   (__spec__[0] + __spec__[3])
 
#define QRspec_rsBlockNum1(__spec__)   (__spec__[0])
 
#define QRspec_rsDataCodes1(__spec__)   (__spec__[1])
 
#define QRspec_rsEccCodes1(__spec__)   (__spec__[2])
 
#define QRspec_rsBlockNum2(__spec__)   (__spec__[3])
 
#define QRspec_rsDataCodes2(__spec__)   (__spec__[4])
 
#define QRspec_rsEccCodes2(__spec__)   (__spec__[2])
 
#define QRspec_rsDataLength(__spec__)
 
#define QRspec_rsEccLength(__spec__)   (QRspec_rsBlockNum(__spec__) * QRspec_rsEccCodes1(__spec__))
 
#define QRSPEC_MODEID_ECI   7
 Mode indicator. More...
 
#define QRSPEC_MODEID_NUM   1
 
#define QRSPEC_MODEID_AN   2
 
#define QRSPEC_MODEID_8   4
 
#define QRSPEC_MODEID_KANJI   8
 
#define QRSPEC_MODEID_FNC1FIRST   5
 
#define QRSPEC_MODEID_FNC1SECOND   9
 
#define QRSPEC_MODEID_STRUCTURE   3
 
#define QRSPEC_MODEID_TERMINATOR   0
 

Functions

int QRspec_getDataLength (int version, QRecLevel level)
 Return maximum data code length (bytes) for the version. More...
 
int QRspec_getECCLength (int version, QRecLevel level)
 Return maximum error correction code length (bytes) for the version. More...
 
int QRspec_getMinimumVersion (int size, QRecLevel level)
 Return a version number that satisfies the input code length. More...
 
int QRspec_getWidth (int version)
 Return the width of the symbol for the version. More...
 
int QRspec_getRemainder (int version)
 Return the numer of remainder bits. More...
 
int QRspec_lengthIndicator (QRencodeMode mode, int version)
 Return the size of length indicator for the mode and version. More...
 
int QRspec_maximumWords (QRencodeMode mode, int version)
 Return the maximum length for the mode and version. More...
 
void QRspec_getEccSpec (int version, QRecLevel level, int spec[5])
 Return an array of ECC specification. More...
 
unsigned int QRspec_getVersionPattern (int version)
 Return BCH encoded version information pattern that is used for the symbol of version 7 or greater. More...
 
unsigned int QRspec_getFormatInfo (int mask, QRecLevel level)
 Return BCH encoded format information pattern. More...
 
unsigned char * QRspec_newFrame (int version)
 Return a copy of initialized frame. More...
 

Macro Definition Documentation

#define QRSPEC_MODEID_8   4

Definition at line 167 of file qrspec.h.

Referenced by QRinput_encodeMode8().

#define QRSPEC_MODEID_AN   2

Definition at line 166 of file qrspec.h.

Referenced by QRinput_encodeModeAn().

#define QRSPEC_MODEID_ECI   7

Mode indicator.

See Table 2 of JIS X0510:2004, pp.16.

Definition at line 164 of file qrspec.h.

Referenced by QRinput_encodeModeECI().

#define QRSPEC_MODEID_FNC1FIRST   5

Definition at line 169 of file qrspec.h.

#define QRSPEC_MODEID_FNC1SECOND   9

Definition at line 170 of file qrspec.h.

Referenced by QRinput_encodeModeFNC1Second().

#define QRSPEC_MODEID_KANJI   8

Definition at line 168 of file qrspec.h.

Referenced by QRinput_encodeModeKanji().

#define QRSPEC_MODEID_NUM   1

Definition at line 165 of file qrspec.h.

Referenced by QRinput_encodeModeNum().

#define QRSPEC_MODEID_STRUCTURE   3

Definition at line 171 of file qrspec.h.

Referenced by QRinput_encodeModeStructure().

#define QRSPEC_MODEID_TERMINATOR   0

Definition at line 172 of file qrspec.h.

#define QRspec_rsBlockNum (   __spec__)    (__spec__[0] + __spec__[3])

Definition at line 108 of file qrspec.h.

Referenced by QRraw_new().

#define QRspec_rsBlockNum1 (   __spec__)    (__spec__[0])

Definition at line 109 of file qrspec.h.

Referenced by QRraw_new(), and RSblock_init().

#define QRspec_rsBlockNum2 (   __spec__)    (__spec__[3])

Definition at line 112 of file qrspec.h.

Referenced by RSblock_init().

#define QRspec_rsDataCodes1 (   __spec__)    (__spec__[1])

Definition at line 110 of file qrspec.h.

Referenced by RSblock_init().

#define QRspec_rsDataCodes2 (   __spec__)    (__spec__[4])

Definition at line 113 of file qrspec.h.

Referenced by RSblock_init().

#define QRspec_rsDataLength (   __spec__)
Value:
((QRspec_rsBlockNum1(__spec__) * QRspec_rsDataCodes1(__spec__)) + \
(QRspec_rsBlockNum2(__spec__) * QRspec_rsDataCodes2(__spec__)))
#define QRspec_rsDataCodes2(__spec__)
Definition: qrspec.h:113
#define QRspec_rsBlockNum1(__spec__)
Definition: qrspec.h:109
#define QRspec_rsBlockNum2(__spec__)
Definition: qrspec.h:112
#define QRspec_rsDataCodes1(__spec__)
Definition: qrspec.h:110

Definition at line 116 of file qrspec.h.

Referenced by QRraw_new().

#define QRspec_rsEccCodes1 (   __spec__)    (__spec__[2])

Definition at line 111 of file qrspec.h.

Referenced by RSblock_init().

#define QRspec_rsEccCodes2 (   __spec__)    (__spec__[2])

Definition at line 114 of file qrspec.h.

Referenced by RSblock_init().

#define QRspec_rsEccLength (   __spec__)    (QRspec_rsBlockNum(__spec__) * QRspec_rsEccCodes1(__spec__))

Definition at line 119 of file qrspec.h.

Referenced by QRraw_new().

#define QRSPEC_WIDTH_MAX   177

Maximum width of a symbol.

Definition at line 34 of file qrspec.h.

Referenced by Mask_evaluateSymbol().

Function Documentation

int QRspec_getDataLength ( int  version,
QRecLevel  level 
)

Return maximum data code length (bytes) for the version.

Parameters
versionversion of the symbol
levelerror correction level
Returns
maximum size (bytes)

Definition at line 96 of file qrspec.c.

References QRspec_Capacity::ec, and QRspec_Capacity::words.

Referenced by QRinput_appendPaddingBit(), QRinput_splitQRinputToStruct(), and QRspec_getEccSpec().

int QRspec_getECCLength ( int  version,
QRecLevel  level 
)

Return maximum error correction code length (bytes) for the version.

Parameters
versionversion of the symbol
levelerror correction level
Returns
ECC size (bytes)

Definition at line 101 of file qrspec.c.

References QRspec_Capacity::ec.

Referenced by QRspec_getEccSpec().

void QRspec_getEccSpec ( int  version,
QRecLevel  level,
int  spec[5] 
)

Return an array of ECC specification.

Parameters
versionversion of the symbol
levelerror correction level
specan array of ECC specification contains as following: {# of type1 blocks, # of data code, # of ecc code,

of type2 blocks, # of data code}

Definition at line 232 of file qrspec.c.

References eccTable, QRspec_getDataLength(), and QRspec_getECCLength().

Referenced by QRraw_new().

unsigned int QRspec_getFormatInfo ( int  mask,
QRecLevel  level 
)

Return BCH encoded format information pattern.

Parameters
maskmask number
levelerror correction level
Returns
BCH encoded format information pattern

Definition at line 381 of file qrspec.c.

References formatInfo.

Referenced by Mask_writeFormatInformation().

int QRspec_getMinimumVersion ( int  size,
QRecLevel  level 
)

Return a version number that satisfies the input code length.

Parameters
sizeinput code length (byte)
levelerror correction level
Returns
version number

Definition at line 106 of file qrspec.c.

References QRspec_Capacity::ec, QRSPEC_VERSION_MAX, and QRspec_Capacity::words.

Referenced by QRinput_convertData(), and QRinput_estimateVersion().

int QRspec_getRemainder ( int  version)

Return the numer of remainder bits.

Parameters
versionvesion of the symbol
Returns
number of remainder bits

Definition at line 124 of file qrspec.c.

References QRspec_Capacity::remainder.

Referenced by QRcode_encodeMask().

unsigned int QRspec_getVersionPattern ( int  version)

Return BCH encoded version information pattern that is used for the symbol of version 7 or greater.

Use lower 18 bits.

Parameters
versionversion of the symbol
Returns
BCH encoded version information pattern

Definition at line 362 of file qrspec.c.

References QRSPEC_VERSION_MAX, and versionPattern.

Referenced by QRspec_createFrame().

int QRspec_getWidth ( int  version)

Return the width of the symbol for the version.

Parameters
versionvesion of the symbol
Returns
width of the symbol

Definition at line 119 of file qrspec.c.

References QRspec_Capacity::width.

Referenced by QRcode_encodeMask().

int QRspec_lengthIndicator ( QRencodeMode  mode,
int  version 
)

Return the size of length indicator for the mode and version.

Parameters
modeencode mode
versionvesion of the symbol
Returns
the size of the appropriate length indicator (bits).

Definition at line 140 of file qrspec.c.

References lengthTableBits, and QRinput_isSplittableMode().

Referenced by QRinput_encodeMode8(), QRinput_encodeModeAn(), QRinput_encodeModeKanji(), QRinput_encodeModeNum(), QRinput_estimateBitStreamSizeOfEntry(), QRinput_lengthOfCode(), Split_eat8(), Split_eatAn(), and Split_eatNum().

int QRspec_maximumWords ( QRencodeMode  mode,
int  version 
)

Return the maximum length for the mode and version.

Parameters
modeencode mode
versionvesion of the symbol
Returns
the maximum length (bytes)

Definition at line 156 of file qrspec.c.

References lengthTableBits, QR_MODE_KANJI, and QRinput_isSplittableMode().

Referenced by QRinput_encodeBitStream(), and QRinput_lengthOfCode().

unsigned char* QRspec_newFrame ( int  version)

Return a copy of initialized frame.

Parameters
versionversion of the symbol
Returns
Array of unsigned char. You can free it by free().

Definition at line 507 of file qrspec.c.

References QRspec_createFrame(), and QRSPEC_VERSION_MAX.

Referenced by QRcode_encodeMask().