ARX  1.0
The next-generation open source augmented reality toolkit.
Loading...
Searching...
No Matches
matrixCode.h
Go to the documentation of this file.
1/*
2 * matrixCode.h
3 * artoolkitX
4 *
5 * This file is part of artoolkitX.
6 *
7 * artoolkitX is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU Lesser General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * artoolkitX is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public License
18 * along with artoolkitX. If not, see <http://www.gnu.org/licenses/>.
19 *
20 * As a special exception, the copyright holders of this library give you
21 * permission to link this library with independent modules to produce an
22 * executable, regardless of the license terms of these independent modules, and to
23 * copy and distribute the resulting executable under terms of your choice,
24 * provided that you also meet, for each linked independent module, the terms and
25 * conditions of the license of that module. An independent module is a module
26 * which is neither derived from nor based on this library. If you modify this
27 * library, you may extend this exception to your version of the library, but you
28 * are not obligated to do so. If you do not wish to do so, delete this exception
29 * statement from your version.
30 *
31 * Copyright 2023 Philip Lamb
32 * Copyright 2018 Realmax, Inc.
33 * Copyright 2015 Daqri, LLC.
34 * Copyright 2003-2015 ARToolworks, Inc.
35 *
36 * Author(s): Philip Lamb
37 *
38 */
39
40#ifndef matrixCode_h
41#define matrixCode_h
42
43#include <stdio.h>
44#include <stdint.h>
45#include <ARX/AR/ar.h>
46
47#ifdef __cplusplus
48extern "C" {
49#endif
50
53int encode_bch(int length, int k, const int *g, uint64_t number, uint8_t **out_bits_p);
54
57int encodeMatrixCode(const AR_MATRIX_CODE_TYPE matrixCodeType, uint64_t in, uint8_t **out_bits_p);
58
59#ifdef __cplusplus
60}
61#endif
62#endif /* matrixCode_h */
artoolkitX core routines.
AR_MATRIX_CODE_TYPE
Values specifying the type of matrix code in use.
Definition: ar.h:320
int encode_bch(int length, int k, const int *g, uint64_t number, uint8_t **out_bits_p)
Caller must free out_bits_p; Returns length of *out_bits_p
Definition: matrixCode.c:52
int encodeMatrixCode(const AR_MATRIX_CODE_TYPE matrixCodeType, uint64_t in, uint8_t **out_bits_p)
Caller must free out_bits_p; Returns length of *out_bits_p
Definition: matrixCode.c:80