| 97 | } |
| 98 | |
| 99 | void AmbeDecoder::decode(uint8_t *data, int blocks, int16_t *out_audio) |
| 100 | { |
| 101 | for (int i = 0; i < blocks; i++) |
| 102 | { |
| 103 | uint8_t *ambe_frame = &data[i * 12]; |
| 104 | |
| 105 | for (int x = 0; x < 12; x++) |
| 106 | for (int i = 0; i < 8; i++) |
| 107 | ambe_bits[(x * 8) + (7 - i)] = (ambe_frame[x] >> i) & 1; |
| 108 | |
| 109 | for (int i = 0; i < 96; i++) |
| 110 | ambe_fr[rW[i]][rX[i]] = ambe_bits[i]; |
| 111 | |
| 112 | mbe_processAmbe4800x3600Frame(&out_audio[i * 160], &errors, &errors2, errorbuffer, ambe_fr, ambe_d, ¤t, &prev, &prev_mp_enhanced, 1); |
| 113 | } |
| 114 | } |
| 115 | } |
| 116 | } |
no test coverage detected