TTKMusicPlayer
4.1.3.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
|
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include "qrspec.h"
#include "qrinput.h"
Go to the source code of this file.
Classes | |
struct | QRspec_Capacity |
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... | |
static void | QRspec_putAlignmentMarker (unsigned char *frame, int width, int ox, int oy) |
Put an alignment marker. More... | |
static void | QRspec_putAlignmentPattern (int version, unsigned char *frame, int width) |
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... | |
static void | putFinderPattern (unsigned char *frame, int width, int ox, int oy) |
Put a finder pattern. More... | |
static unsigned char * | QRspec_createFrame (int version) |
unsigned char * | QRspec_newFrame (int version) |
Return a copy of initialized frame. More... | |
Variables | |
static const QRspec_Capacity | qrspecCapacity [QRSPEC_VERSION_MAX+1] |
Table of the capacity of symbols See Table 1 (pp.13) and Table 12-16 (pp.30-36), JIS X0510:2004. More... | |
static const int | lengthTableBits [4][3] |
static const int | eccTable [QRSPEC_VERSION_MAX+1][4][2] |
Table of the error correction code (Reed-Solomon block) See Table 12-16 (pp.30-36), JIS X0510:2004. More... | |
static const int | alignmentPattern [QRSPEC_VERSION_MAX+1][2] |
Positions of alignment patterns. More... | |
static const unsigned int | versionPattern [QRSPEC_VERSION_MAX-6] |
Version information pattern (BCH coded). More... | |
static const unsigned int | formatInfo [4][8] |
Put a finder pattern.
frame | |
width | |
ox,oy | upper-left coordinate of the pattern |
Definition at line 398 of file qrspec.c.
Referenced by QRspec_createFrame().
|
static |
Definition at line 424 of file qrspec.c.
References malloc(), putFinderPattern(), QRspec_getVersionPattern(), QRspec_putAlignmentPattern(), and QRspec_Capacity::width.
Referenced by QRspec_newFrame().
Return maximum data code length (bytes) for the version.
version | version of the symbol |
level | error correction level |
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().
Return maximum error correction code length (bytes) for the version.
version | version of the symbol |
level | error correction level |
Definition at line 101 of file qrspec.c.
References QRspec_Capacity::ec.
Referenced by QRspec_getEccSpec().
Return an array of ECC specification.
version | version of the symbol |
level | error correction level |
spec | an 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().
Return BCH encoded format information pattern.
mask | mask number |
level | error correction level |
Definition at line 381 of file qrspec.c.
References formatInfo.
Referenced by Mask_writeFormatInformation().
Return a version number that satisfies the input code length.
size | input code length (byte) |
level | error correction level |
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().
Return the numer of remainder bits.
version | vesion of the symbol |
Definition at line 124 of file qrspec.c.
References QRspec_Capacity::remainder.
Referenced by QRcode_encodeMask().
Return BCH encoded version information pattern that is used for the symbol of version 7 or greater.
Use lower 18 bits.
version | version of the symbol |
Definition at line 362 of file qrspec.c.
References QRSPEC_VERSION_MAX, and versionPattern.
Referenced by QRspec_createFrame().
Return the width of the symbol for the version.
version | vesion 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.
mode | encode mode |
version | vesion of the symbol |
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.
mode | encode mode |
version | vesion of the symbol |
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.
version | version of the symbol |
Definition at line 507 of file qrspec.c.
References QRspec_createFrame(), and QRSPEC_VERSION_MAX.
Referenced by QRcode_encodeMask().
Put an alignment marker.
frame | |
width | |
ox,oy | center coordinate of the pattern |
Definition at line 285 of file qrspec.c.
Referenced by QRspec_putAlignmentPattern().
Definition at line 308 of file qrspec.c.
References alignmentPattern, and QRspec_putAlignmentMarker().
Referenced by QRspec_createFrame().
|
static |
Positions of alignment patterns.
This array includes only the second and the third position of the alignment patterns. Rest of them can be calculated from the distance between them.
See Table 1 in Appendix E (pp.71) of JIS X0510:2004.
Definition at line 267 of file qrspec.c.
Referenced by QRspec_putAlignmentPattern().
|
static |
Table of the error correction code (Reed-Solomon block) See Table 12-16 (pp.30-36), JIS X0510:2004.
Definition at line 188 of file qrspec.c.
Referenced by QRspec_getEccSpec().
Definition at line 374 of file qrspec.c.
Referenced by QRspec_getFormatInfo().
Definition at line 133 of file qrspec.c.
Referenced by QRspec_lengthIndicator(), and QRspec_maximumWords().
|
static |
|
static |
Version information pattern (BCH coded).
See Table 1 in Appendix D (pp.68) of JIS X0510:2004.
Definition at line 354 of file qrspec.c.
Referenced by QRspec_getVersionPattern().