123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- while (srclen >= 8)
- {
- uint32_t str, res, dec;
-
- str = *(uint32_t *)c;
-
- str = cpu_to_be32(str);
-
-
- if ((dec = neon32_base64_table_dec[str >> 24]) > 63) {
- break;
- }
- res = dec << 26;
- if ((dec = neon32_base64_table_dec[(str >> 16) & 0xFF]) > 63) {
- break;
- }
- res |= dec << 20;
- if ((dec = neon32_base64_table_dec[(str >> 8) & 0xFF]) > 63) {
- break;
- }
- res |= dec << 14;
- if ((dec = neon32_base64_table_dec[str & 0xFF]) > 63) {
- break;
- }
- res |= dec << 8;
-
- res = be32_to_cpu(res);
-
- *(uint32_t *)o = res;
- c += 4;
- o += 3;
- outl += 3;
- srclen -= 4;
- }
|