81 uint16_t x_divide = 0, y_divide = 0;
83 uint16_t err, ErrorOptimal = 0xFFFF;
88 divider = (((uint64_t) (audio_format->
SampleRate) * 2 * (audio_format->
WordWidth) * 2) << 16) / pClk;
90 for (N = 64; N > 0; N--) {
91 if ((divider * N) < (1 << 16)) {
99 for (y = 255; y > 0; y--) {
101 if (x & (0xFF000000)) {
115 else if (err < ErrorOptimal) {
120 x_divide = ((uint64_t) y_divide * (audio_format->
SampleRate) * 2 * (audio_format->
WordWidth) * N * 2) / pClk;
121 if (x_divide >= 256) {
130 else if (audio_format->
WordWidth <= 16) {