Removed field initializers to make it compile on MSVC

This commit is contained in:
JCash 2018-05-18 22:06:14 +02:00
parent 0943823a81
commit c14197859a
6 changed files with 305 additions and 296 deletions

View File

@ -1,7 +1,7 @@
[project] [project]
title = QRCode title = QRCode
version = 0.1 version = 0.1
dependencies = https://github.com/defold/extension-camera/archive/dev-android.zip,https://github.com/andsve/dirtylarry/archive/master.zip dependencies = https://github.com/defold/extension-camera/archive/dev-android2.zip,https://github.com/andsve/dirtylarry/archive/master.zip
custom_resources = main/images/defold.png custom_resources = main/images/defold.png
[bootstrap] [bootstrap]

View File

@ -1,7 +1,9 @@
#include <assert.h> #include <assert.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#if !defined(DM_PLATFORM_WINDOWS)
#include <unistd.h> #include <unistd.h>
#endif
#define EXTENSION_NAME QRCode #define EXTENSION_NAME QRCode
#define LIB_NAME "QRCode" #define LIB_NAME "QRCode"

View File

@ -42,9 +42,9 @@ static const uint8_t gf16_log[16] = {
}; };
static const struct galois_field gf16 = { static const struct galois_field gf16 = {
.p = 15, 15,
.log = gf16_log, gf16_log,
.exp = gf16_exp gf16_exp
}; };
static const uint8_t gf256_exp[256] = { static const uint8_t gf256_exp[256] = {
@ -118,9 +118,9 @@ static const uint8_t gf256_log[256] = {
}; };
const static struct galois_field gf256 = { const static struct galois_field gf256 = {
.p = 255, 255,
.log = gf256_log, gf256_log,
.exp = gf256_exp gf256_exp
}; };
/************************************************************************ /************************************************************************

View File

@ -19,6 +19,11 @@
#include <math.h> #include <math.h>
#include "quirc_internal.h" #include "quirc_internal.h"
#ifdef WIN32
#include <malloc.h>
#define alloca _alloca
#endif
/************************************************************************ /************************************************************************
* Linear algebra routines * Linear algebra routines
*/ */
@ -195,8 +200,10 @@ static void threshold(struct quirc *q)
if (threshold_s < THRESHOLD_S_MIN) if (threshold_s < THRESHOLD_S_MIN)
threshold_s = THRESHOLD_S_MIN; threshold_s = THRESHOLD_S_MIN;
int* row_average = (int*)alloca(q->w * sizeof(int));
for (y = 0; y < q->h; y++) { for (y = 0; y < q->h; y++) {
int row_average[q->w]; //int row_average[q->w];
memset(row_average, 0, sizeof(row_average)); memset(row_average, 0, sizeof(row_average));

View File

@ -72,14 +72,14 @@ int quirc_count(const struct quirc *q)
} }
static const char *const error_table[] = { static const char *const error_table[] = {
[QUIRC_SUCCESS] = "Success", "Success",
[QUIRC_ERROR_INVALID_GRID_SIZE] = "Invalid grid size", "Invalid grid size",
[QUIRC_ERROR_INVALID_VERSION] = "Invalid version", "Invalid version",
[QUIRC_ERROR_FORMAT_ECC] = "Format data ECC failure", "Format data ECC failure",
[QUIRC_ERROR_DATA_ECC] = "ECC failure", "ECC failure",
[QUIRC_ERROR_UNKNOWN_DATA_TYPE] = "Unknown data type", "Unknown data type",
[QUIRC_ERROR_DATA_OVERFLOW] = "Data overflow", "Data overflow",
[QUIRC_ERROR_DATA_UNDERFLOW] = "Data underflow" "Data underflow"
}; };
const char *quirc_strerror(quirc_decode_error_t err) const char *quirc_strerror(quirc_decode_error_t err)

View File

@ -19,403 +19,403 @@
const struct quirc_version_info quirc_version_db[QUIRC_MAX_VERSION + 1] = { const struct quirc_version_info quirc_version_db[QUIRC_MAX_VERSION + 1] = {
{0}, {0},
{ /* Version 1 */ { /* Version 1 */
.data_bytes = 26, 26,
.apat = {0}, {0},
.ecc = { {
{.bs = 26, .dw = 16, .ns = 1}, {26, 16, 1},
{.bs = 26, .dw = 19, .ns = 1}, {26, 19, 1},
{.bs = 26, .dw = 9, .ns = 1}, {26, 9, 1},
{.bs = 26, .dw = 13, .ns = 1} {26, 13, 1}
} }
}, },
{ /* Version 2 */ { /* Version 2 */
.data_bytes = 44, 44,
.apat = {6, 18, 0}, {6, 18, 0},
.ecc = { {
{.bs = 44, .dw = 28, .ns = 1}, {44, 28, 1},
{.bs = 44, .dw = 34, .ns = 1}, {44, 34, 1},
{.bs = 44, .dw = 16, .ns = 1}, {44, 16, 1},
{.bs = 44, .dw = 22, .ns = 1} {44, 22, 1}
} }
}, },
{ /* Version 3 */ { /* Version 3 */
.data_bytes = 70, 70,
.apat = {6, 22, 0}, {6, 22, 0},
.ecc = { {
{.bs = 70, .dw = 44, .ns = 1}, {70, 44, 1},
{.bs = 70, .dw = 55, .ns = 1}, {70, 55, 1},
{.bs = 35, .dw = 13, .ns = 2}, {35, 13, 2},
{.bs = 35, .dw = 17, .ns = 2} {35, 17, 2}
} }
}, },
{ /* Version 4 */ { /* Version 4 */
.data_bytes = 100, 100,
.apat = {6, 26, 0}, {6, 26, 0},
.ecc = { {
{.bs = 50, .dw = 32, .ns = 2}, {50, 32, 2},
{.bs = 100, .dw = 80, .ns = 1}, {100, 80, 1},
{.bs = 25, .dw = 9, .ns = 4}, {25, 9, 4},
{.bs = 50, .dw = 24, .ns = 2} {50, 24, 2}
} }
}, },
{ /* Version 5 */ { /* Version 5 */
.data_bytes = 134, 134,
.apat = {6, 30, 0}, {6, 30, 0},
.ecc = { {
{.bs = 67, .dw = 43, .ns = 2}, {67, 43, 2},
{.bs = 134, .dw = 108, .ns = 1}, {134, 108, 1},
{.bs = 33, .dw = 11, .ns = 2}, {33, 11, 2},
{.bs = 33, .dw = 15, .ns = 2} {33, 15, 2}
} }
}, },
{ /* Version 6 */ { /* Version 6 */
.data_bytes = 172, 172,
.apat = {6, 34, 0}, {6, 34, 0},
.ecc = { {
{.bs = 43, .dw = 27, .ns = 4}, {43, 27, 4},
{.bs = 86, .dw = 68, .ns = 2}, {86, 68, 2},
{.bs = 43, .dw = 15, .ns = 4}, {43, 15, 4},
{.bs = 43, .dw = 19, .ns = 4} {43, 19, 4}
} }
}, },
{ /* Version 7 */ { /* Version 7 */
.data_bytes = 196, 196,
.apat = {6, 22, 38, 0}, {6, 22, 38, 0},
.ecc = { {
{.bs = 49, .dw = 31, .ns = 4}, {49, 31, 4},
{.bs = 98, .dw = 78, .ns = 2}, {98, 78, 2},
{.bs = 39, .dw = 13, .ns = 4}, {39, 13, 4},
{.bs = 32, .dw = 14, .ns = 2} {32, 14, 2}
} }
}, },
{ /* Version 8 */ { /* Version 8 */
.data_bytes = 242, 242,
.apat = {6, 24, 42, 0}, {6, 24, 42, 0},
.ecc = { {
{.bs = 60, .dw = 38, .ns = 2}, {60, 38, 2},
{.bs = 121, .dw = 97, .ns = 2}, {121, 97, 2},
{.bs = 40, .dw = 14, .ns = 4}, {40, 14, 4},
{.bs = 40, .dw = 18, .ns = 4} {40, 18, 4}
} }
}, },
{ /* Version 9 */ { /* Version 9 */
.data_bytes = 292, 292,
.apat = {6, 26, 46, 0}, {6, 26, 46, 0},
.ecc = { {
{.bs = 58, .dw = 36, .ns = 3}, {58, 36, 3},
{.bs = 146, .dw = 116, .ns = 2}, {146, 116, 2},
{.bs = 36, .dw = 12, .ns = 4}, {36, 12, 4},
{.bs = 36, .dw = 16, .ns = 4} {36, 16, 4}
} }
}, },
{ /* Version 10 */ { /* Version 10 */
.data_bytes = 346, 346,
.apat = {6, 28, 50, 0}, {6, 28, 50, 0},
.ecc = { {
{.bs = 69, .dw = 43, .ns = 4}, {69, 43, 4},
{.bs = 86, .dw = 68, .ns = 2}, {86, 68, 2},
{.bs = 43, .dw = 15, .ns = 6}, {43, 15, 6},
{.bs = 43, .dw = 19, .ns = 6} {43, 19, 6}
} }
}, },
{ /* Version 11 */ { /* Version 11 */
.data_bytes = 404, 404,
.apat = {6, 30, 54, 0}, {6, 30, 54, 0},
.ecc = { {
{.bs = 80, .dw = 50, .ns = 1}, {80, 50, 1},
{.bs = 101, .dw = 81, .ns = 4}, {101, 81, 4},
{.bs = 36, .dw = 12, .ns = 3}, {36, 12, 3},
{.bs = 50, .dw = 22, .ns = 4} {50, 22, 4}
} }
}, },
{ /* Version 12 */ { /* Version 12 */
.data_bytes = 466, 466,
.apat = {6, 32, 58, 0}, {6, 32, 58, 0},
.ecc = { {
{.bs = 58, .dw = 36, .ns = 6}, {58, 36, 6},
{.bs = 116, .dw = 92, .ns = 2}, {116, 92, 2},
{.bs = 42, .dw = 14, .ns = 7}, {42, 14, 7},
{.bs = 46, .dw = 20, .ns = 4} {46, 20, 4}
} }
}, },
{ /* Version 13 */ { /* Version 13 */
.data_bytes = 532, 532,
.apat = {6, 34, 62, 0}, {6, 34, 62, 0},
.ecc = { {
{.bs = 59, .dw = 37, .ns = 8}, {59, 37, 8},
{.bs = 133, .dw = 107, .ns = 4}, {133, 107, 4},
{.bs = 33, .dw = 11, .ns = 12}, {33, 11, 12},
{.bs = 44, .dw = 20, .ns = 8} {44, 20, 8}
} }
}, },
{ /* Version 14 */ { /* Version 14 */
.data_bytes = 581, 581,
.apat = {6, 26, 46, 66, 0}, {6, 26, 46, 66, 0},
.ecc = { {
{.bs = 64, .dw = 40, .ns = 4}, {64, 40, 4},
{.bs = 145, .dw = 115, .ns = 3}, {145, 115, 3},
{.bs = 36, .dw = 12, .ns = 11}, {36, 12, 11},
{.bs = 36, .dw = 16, .ns = 11} {36, 16, 11}
} }
}, },
{ /* Version 15 */ { /* Version 15 */
.data_bytes = 655, 655,
.apat = {6, 26, 48, 70, 0}, {6, 26, 48, 70, 0},
.ecc = { {
{.bs = 65, .dw = 41, .ns = 5}, {65, 41, 5},
{.bs = 109, .dw = 87, .ns = 5}, {109, 87, 5},
{.bs = 36, .dw = 12, .ns = 11}, {36, 12, 11},
{.bs = 54, .dw = 24, .ns = 5} {54, 24, 5}
} }
}, },
{ /* Version 16 */ { /* Version 16 */
.data_bytes = 733, 733,
.apat = {6, 26, 50, 74, 0}, {6, 26, 50, 74, 0},
.ecc = { {
{.bs = 73, .dw = 45, .ns = 7}, {73, 45, 7},
{.bs = 122, .dw = 98, .ns = 5}, {122, 98, 5},
{.bs = 45, .dw = 15, .ns = 3}, {45, 15, 3},
{.bs = 43, .dw = 19, .ns = 15} {43, 19, 15}
} }
}, },
{ /* Version 17 */ { /* Version 17 */
.data_bytes = 815, 815,
.apat = {6, 30, 54, 78, 0}, {6, 30, 54, 78, 0},
.ecc = { {
{.bs = 74, .dw = 46, .ns = 10}, {74, 46, 10},
{.bs = 135, .dw = 107, .ns = 1}, {135, 107, 1},
{.bs = 42, .dw = 14, .ns = 2}, {42, 14, 2},
{.bs = 50, .dw = 22, .ns = 1} {50, 22, 1}
} }
}, },
{ /* Version 18 */ { /* Version 18 */
.data_bytes = 901, 901,
.apat = {6, 30, 56, 82, 0}, {6, 30, 56, 82, 0},
.ecc = { {
{.bs = 69, .dw = 43, .ns = 9}, {69, 43, 9},
{.bs = 150, .dw = 120, .ns = 5}, {150, 120, 5},
{.bs = 42, .dw = 14, .ns = 2}, {42, 14, 2},
{.bs = 50, .dw = 22, .ns = 17} {50, 22, 17}
} }
}, },
{ /* Version 19 */ { /* Version 19 */
.data_bytes = 991, 991,
.apat = {6, 30, 58, 86, 0}, {6, 30, 58, 86, 0},
.ecc = { {
{.bs = 70, .dw = 44, .ns = 3}, {70, 44, 3},
{.bs = 141, .dw = 113, .ns = 3}, {141, 113, 3},
{.bs = 39, .dw = 13, .ns = 9}, {39, 13, 9},
{.bs = 47, .dw = 21, .ns = 17} {47, 21, 17}
} }
}, },
{ /* Version 20 */ { /* Version 20 */
.data_bytes = 1085, 1085,
.apat = {6, 34, 62, 90, 0}, {6, 34, 62, 90, 0},
.ecc = { {
{.bs = 67, .dw = 41, .ns = 3}, {67, 41, 3},
{.bs = 135, .dw = 107, .ns = 3}, {135, 107, 3},
{.bs = 43, .dw = 15, .ns = 15}, {43, 15, 15},
{.bs = 54, .dw = 24, .ns = 15} {54, 24, 15}
} }
}, },
{ /* Version 21 */ { /* Version 21 */
.data_bytes = 1156, 1156,
.apat = {6, 28, 50, 72, 92, 0}, {6, 28, 50, 72, 92, 0},
.ecc = { {
{.bs = 68, .dw = 42, .ns = 17}, {68, 42, 17},
{.bs = 144, .dw = 116, .ns = 4}, {144, 116, 4},
{.bs = 46, .dw = 16, .ns = 19}, {46, 16, 19},
{.bs = 50, .dw = 22, .ns = 17} {50, 22, 17}
} }
}, },
{ /* Version 22 */ { /* Version 22 */
.data_bytes = 1258, 1258,
.apat = {6, 26, 50, 74, 98, 0}, {6, 26, 50, 74, 98, 0},
.ecc = { {
{.bs = 74, .dw = 46, .ns = 17}, {74, 46, 17},
{.bs = 139, .dw = 111, .ns = 2}, {139, 111, 2},
{.bs = 37, .dw = 13, .ns = 34}, {37, 13, 34},
{.bs = 54, .dw = 24, .ns = 7} {54, 24, 7}
} }
}, },
{ /* Version 23 */ { /* Version 23 */
.data_bytes = 1364, 1364,
.apat = {6, 30, 54, 78, 102, 0}, {6, 30, 54, 78, 102, 0},
.ecc = { {
{.bs = 75, .dw = 47, .ns = 4}, {75, 47, 4},
{.bs = 151, .dw = 121, .ns = 4}, {151, 121, 4},
{.bs = 45, .dw = 15, .ns = 16}, {45, 15, 16},
{.bs = 54, .dw = 24, .ns = 11} {54, 24, 11}
} }
}, },
{ /* Version 24 */ { /* Version 24 */
.data_bytes = 1474, 1474,
.apat = {6, 28, 54, 80, 106, 0}, {6, 28, 54, 80, 106, 0},
.ecc = { {
{.bs = 73, .dw = 45, .ns = 6}, {73, 45, 6},
{.bs = 147, .dw = 117, .ns = 6}, {147, 117, 6},
{.bs = 46, .dw = 16, .ns = 30}, {46, 16, 30},
{.bs = 54, .dw = 24, .ns = 11} {54, 24, 11}
} }
}, },
{ /* Version 25 */ { /* Version 25 */
.data_bytes = 1588, 1588,
.apat = {6, 32, 58, 84, 110, 0}, {6, 32, 58, 84, 110, 0},
.ecc = { {
{.bs = 75, .dw = 47, .ns = 8}, {75, 47, 8},
{.bs = 132, .dw = 106, .ns = 8}, {132, 106, 8},
{.bs = 45, .dw = 15, .ns = 22}, {45, 15, 22},
{.bs = 54, .dw = 24, .ns = 7} {54, 24, 7}
} }
}, },
{ /* Version 26 */ { /* Version 26 */
.data_bytes = 1706, 1706,
.apat = {6, 30, 58, 86, 114, 0}, {6, 30, 58, 86, 114, 0},
.ecc = { {
{.bs = 74, .dw = 46, .ns = 19}, {74, 46, 19},
{.bs = 142, .dw = 114, .ns = 10}, {142, 114, 10},
{.bs = 46, .dw = 16, .ns = 33}, {46, 16, 33},
{.bs = 50, .dw = 22, .ns = 28} {50, 22, 28}
} }
}, },
{ /* Version 27 */ { /* Version 27 */
.data_bytes = 1828, 1828,
.apat = {6, 34, 62, 90, 118, 0}, {6, 34, 62, 90, 118, 0},
.ecc = { {
{.bs = 73, .dw = 45, .ns = 22}, {73, 45, 22},
{.bs = 152, .dw = 122, .ns = 8}, {152, 122, 8},
{.bs = 45, .dw = 15, .ns = 12}, {45, 15, 12},
{.bs = 53, .dw = 23, .ns = 8} {53, 23, 8}
} }
}, },
{ /* Version 28 */ { /* Version 28 */
.data_bytes = 1921, 1921,
.apat = {6, 26, 50, 74, 98, 122, 0}, {6, 26, 50, 74, 98, 122, 0},
.ecc = { {
{.bs = 73, .dw = 45, .ns = 3}, {73, 45, 3},
{.bs = 147, .dw = 117, .ns = 3}, {147, 117, 3},
{.bs = 45, .dw = 15, .ns = 11}, {45, 15, 11},
{.bs = 54, .dw = 24, .ns = 4} {54, 24, 4}
} }
}, },
{ /* Version 29 */ { /* Version 29 */
.data_bytes = 2051, 2051,
.apat = {6, 30, 54, 78, 102, 126, 0}, {6, 30, 54, 78, 102, 126, 0},
.ecc = { {
{.bs = 73, .dw = 45, .ns = 21}, {73, 45, 21},
{.bs = 146, .dw = 116, .ns = 7}, {146, 116, 7},
{.bs = 45, .dw = 15, .ns = 19}, {45, 15, 19},
{.bs = 53, .dw = 23, .ns = 1} {53, 23, 1}
} }
}, },
{ /* Version 30 */ { /* Version 30 */
.data_bytes = 2185, 2185,
.apat = {6, 26, 52, 78, 104, 130, 0}, {6, 26, 52, 78, 104, 130, 0},
.ecc = { {
{.bs = 75, .dw = 47, .ns = 19}, {75, 47, 19},
{.bs = 145, .dw = 115, .ns = 5}, {145, 115, 5},
{.bs = 45, .dw = 15, .ns = 23}, {45, 15, 23},
{.bs = 54, .dw = 24, .ns = 15} {54, 24, 15}
} }
}, },
{ /* Version 31 */ { /* Version 31 */
.data_bytes = 2323, 2323,
.apat = {6, 30, 56, 82, 108, 134, 0}, {6, 30, 56, 82, 108, 134, 0},
.ecc = { {
{.bs = 74, .dw = 46, .ns = 2}, {74, 46, 2},
{.bs = 145, .dw = 115, .ns = 13}, {145, 115, 13},
{.bs = 45, .dw = 15, .ns = 23}, {45, 15, 23},
{.bs = 54, .dw = 24, .ns = 42} {54, 24, 42}
} }
}, },
{ /* Version 32 */ { /* Version 32 */
.data_bytes = 2465, 2465,
.apat = {6, 34, 60, 86, 112, 138, 0}, {6, 34, 60, 86, 112, 138, 0},
.ecc = { {
{.bs = 74, .dw = 46, .ns = 10}, {74, 46, 10},
{.bs = 145, .dw = 115, .ns = 17}, {145, 115, 17},
{.bs = 45, .dw = 15, .ns = 19}, {45, 15, 19},
{.bs = 54, .dw = 24, .ns = 10} {54, 24, 10}
} }
}, },
{ /* Version 33 */ { /* Version 33 */
.data_bytes = 2611, 2611,
.apat = {6, 30, 58, 86, 114, 142, 0}, {6, 30, 58, 86, 114, 142, 0},
.ecc = { {
{.bs = 74, .dw = 46, .ns = 14}, {74, 46, 14},
{.bs = 145, .dw = 115, .ns = 17}, {145, 115, 17},
{.bs = 45, .dw = 15, .ns = 11}, {45, 15, 11},
{.bs = 54, .dw = 24, .ns = 29} {54, 24, 29}
} }
}, },
{ /* Version 34 */ { /* Version 34 */
.data_bytes = 2761, 2761,
.apat = {6, 34, 62, 90, 118, 146, 0}, {6, 34, 62, 90, 118, 146, 0},
.ecc = { {
{.bs = 74, .dw = 46, .ns = 14}, {74, 46, 14},
{.bs = 145, .dw = 115, .ns = 13}, {145, 115, 13},
{.bs = 46, .dw = 16, .ns = 59}, {46, 16, 59},
{.bs = 54, .dw = 24, .ns = 44} {54, 24, 44}
} }
}, },
{ /* Version 35 */ { /* Version 35 */
.data_bytes = 2876, 2876,
.apat = {6, 30, 54, 78, 102, 126, 150}, {6, 30, 54, 78, 102, 126, 150},
.ecc = { {
{.bs = 75, .dw = 47, .ns = 12}, {75, 47, 12},
{.bs = 151, .dw = 121, .ns = 12}, {151, 121, 12},
{.bs = 45, .dw = 15, .ns = 22}, {45, 15, 22},
{.bs = 54, .dw = 24, .ns = 39} {54, 24, 39}
} }
}, },
{ /* Version 36 */ { /* Version 36 */
.data_bytes = 3034, 3034,
.apat = {6, 24, 50, 76, 102, 128, 154}, {6, 24, 50, 76, 102, 128, 154},
.ecc = { {
{.bs = 75, .dw = 47, .ns = 6}, {75, 47, 6},
{.bs = 151, .dw = 121, .ns = 6}, {151, 121, 6},
{.bs = 45, .dw = 15, .ns = 2}, {45, 15, 2},
{.bs = 54, .dw = 24, .ns = 46} {54, 24, 46}
} }
}, },
{ /* Version 37 */ { /* Version 37 */
.data_bytes = 3196, 3196,
.apat = {6, 28, 54, 80, 106, 132, 158}, {6, 28, 54, 80, 106, 132, 158},
.ecc = { {
{.bs = 74, .dw = 46, .ns = 29}, {74, 46, 29},
{.bs = 152, .dw = 122, .ns = 17}, {152, 122, 17},
{.bs = 45, .dw = 15, .ns = 24}, {45, 15, 24},
{.bs = 54, .dw = 24, .ns = 49} {54, 24, 49}
} }
}, },
{ /* Version 38 */ { /* Version 38 */
.data_bytes = 3362, 3362,
.apat = {6, 32, 58, 84, 110, 136, 162}, {6, 32, 58, 84, 110, 136, 162},
.ecc = { {
{.bs = 74, .dw = 46, .ns = 13}, {74, 46, 13},
{.bs = 152, .dw = 122, .ns = 4}, {152, 122, 4},
{.bs = 45, .dw = 15, .ns = 42}, {45, 15, 42},
{.bs = 54, .dw = 24, .ns = 48} {54, 24, 48}
} }
}, },
{ /* Version 39 */ { /* Version 39 */
.data_bytes = 3532, 3532,
.apat = {6, 26, 54, 82, 110, 138, 166}, {6, 26, 54, 82, 110, 138, 166},
.ecc = { {
{.bs = 75, .dw = 47, .ns = 40}, {75, 47, 40},
{.bs = 147, .dw = 117, .ns = 20}, {147, 117, 20},
{.bs = 45, .dw = 15, .ns = 10}, {45, 15, 10},
{.bs = 54, .dw = 24, .ns = 43} {54, 24, 43}
} }
}, },
{ /* Version 40 */ { /* Version 40 */
.data_bytes = 3706, 3706,
.apat = {6, 30, 58, 86, 114, 142, 170}, {6, 30, 58, 86, 114, 142, 170},
.ecc = { {
{.bs = 75, .dw = 47, .ns = 18}, {75, 47, 18},
{.bs = 148, .dw = 118, .ns = 19}, {148, 118, 19},
{.bs = 45, .dw = 15, .ns = 20}, {45, 15, 20},
{.bs = 54, .dw = 24, .ns = 34} {54, 24, 34}
} }
} }
}; };