Revion of ECI number encoding

This commit is contained in:
Robin Stuart 2017-06-18 13:00:22 +01:00
parent 37ac5e9c54
commit a085bca168
7 changed files with 181 additions and 20 deletions

View file

@ -367,8 +367,19 @@ static int gm_encode(int gbdata[], const size_t length, char binary[], int reade
}
if (eci != 3) {
bin_append(24, 5, binary); /* ECI */
bin_append(eci, 10, binary);
/* ECI assignment according to Table 8 */
bin_append(12, 4, binary); /* ECI */
if (eci <= 1023) {
bin_append(eci, 11, binary);
}
if ((eci >= 1024) && (eci <= 32767)) {
strcat(binary, "10");
bin_append(eci, 15, binary);
}
if (eci >= 32768) {
strcat(binary, "11");
bin_append(eci, 20, binary);
}
}
do {