58 uint16_t x_divide = 0, y_divide = 0;
60 uint16_t err, ErrorOptimal = 0xFFFF;
65 divider = (((uint64_t)(audio_format->
SampleRate) * 2 * (audio_format->
WordWidth) * 2) << 16) / pClk;
67 for (N = 64; N > 0; N--) {
68 if ((divider * N) < (1 << 16)) {
76 for (y = 255; y > 0; y--) {
78 if (x & (0xFF000000)) {
92 else if (err < ErrorOptimal) {
97 x_divide = ((uint64_t)y_divide * (audio_format->
SampleRate) * 2 * (audio_format->
WordWidth) * N * 2) / pClk;
98 if (x_divide >= 256) {
107 else if (audio_format->
WordWidth <= 16) {