Deleted Added
full compact
62c62
< SND_DECLARE_FILE("$FreeBSD: head/sys/dev/sound/pcm/feeder_rate.c 195519 2009-07-09 22:21:18Z ariff $");
---
> SND_DECLARE_FILE("$FreeBSD: head/sys/dev/sound/pcm/feeder_rate.c 195689 2009-07-14 18:53:34Z ariff $");
792,795c792,793
< #if Z_DRIFT_SHIFT >= 12
< #define Z_COEFF_INTERP_LINEAR 1
< #elif Z_DRIFT_SHIFT >= 8
< #define Z_COEFF_INTERP_QUADRATIC 1
---
> #if Z_DRIFT_SHIFT >= 6
> #define Z_COEFF_INTERP_BSPLINE 1
838c836
< coeff = (((int64_t)zl1 * z) >> Z_SHIFT) + zl0;
---
> coeff = Z_RSHIFT((int64_t)zl1 * z, Z_SHIFT) + zl0;
847,848c845,846
< coeff = ((((((int64_t)zq2 * z) >> Z_SHIFT) +
< zq1) * z) >> (Z_SHIFT + 1)) + zq0;
---
> coeff = Z_RSHIFT((Z_RSHIFT((int64_t)zq2 * z, Z_SHIFT) +
> zq1) * z, Z_SHIFT + 1) + zq0;
859,860c857,858
< coeff = (((((((((int64_t)zh3 * z) >> Z_SHIFT) +
< zh2) * z) >> Z_SHIFT) + zh1) * z) >> (Z_SHIFT + 1)) + zh0;
---
> coeff = Z_RSHIFT((Z_RSHIFT((Z_RSHIFT((int64_t)zh3 * z, Z_SHIFT) +
> zh2) * z, Z_SHIFT) + zh1) * z, Z_SHIFT + 1) + zh0;
865c863,864
< zb0 = (((int64_t)z_coeff[0] << 2) + z_coeff[-1] + z_coeff[1]) / 3;
---
> zb0 = Z_RSHIFT(0x15555555LL * (((int64_t)z_coeff[0] << 2) +
> z_coeff[-1] + z_coeff[1]), 30);
868c867,868
< zb3 = (((z_coeff[0] - z_coeff[1]) * 3) + z_coeff[2] - z_coeff[-1]) / 3;
---
> zb3 = Z_RSHIFT(0x15555555LL * (((z_coeff[0] - z_coeff[1]) * 3) +
> z_coeff[2] - z_coeff[-1]), 30);
870,871c870,871
< coeff = ((((((((((int64_t)zb3 * z) >> Z_SHIFT) +
< zb2) * z) >> Z_SHIFT) + zb1) * z) >> Z_SHIFT) + zb0) >> 1;
---
> coeff = (Z_RSHIFT((Z_RSHIFT((Z_RSHIFT((int64_t)zb3 * z, Z_SHIFT) +
> zb2) * z, Z_SHIFT) + zb1) * z, Z_SHIFT) + zb0 + 1) >> 1;
885,896c885,896
< zoc0 = ((0x1ac2260dLL * zoe1) + (0x0526cdcaLL * zoe2) +
< (0x00170c29LL * zoe3)) >> 30;
< zoc1 = ((0x14f8a49aLL * zoo1) + (0x0d6d1109LL * zoo2) +
< (0x008cd4dcLL * zoo3)) >> 30;
< zoc2 = ((-0x0d3e94a4LL * zoe1) + (0x0bddded4LL * zoe2) +
< (0x0160b5d0LL * zoe3)) >> 30;
< zoc3 = ((-0x0de10cc4LL * zoo1) + (0x019b2a7dLL * zoo2) +
< (0x01cfe914LL * zoo3)) >> 30;
< zoc4 = ((0x02aa12d7LL * zoe1) + (-0x03ff1bb3LL * zoe2) +
< (0x015508ddLL * zoe3)) >> 30;
< zoc5 = ((0x051d29e5LL * zoo1) + (-0x028e7647LL * zoo2) +
< (0x0082d81aLL * zoo3)) >> 30;
---
> zoc0 = Z_RSHIFT((0x1ac2260dLL * zoe1) + (0x0526cdcaLL * zoe2) +
> (0x00170c29LL * zoe3), 30);
> zoc1 = Z_RSHIFT((0x14f8a49aLL * zoo1) + (0x0d6d1109LL * zoo2) +
> (0x008cd4dcLL * zoo3), 30);
> zoc2 = Z_RSHIFT((-0x0d3e94a4LL * zoe1) + (0x0bddded4LL * zoe2) +
> (0x0160b5d0LL * zoe3), 30);
> zoc3 = Z_RSHIFT((-0x0de10cc4LL * zoo1) + (0x019b2a7dLL * zoo2) +
> (0x01cfe914LL * zoo3), 30);
> zoc4 = Z_RSHIFT((0x02aa12d7LL * zoe1) + (-0x03ff1bb3LL * zoe2) +
> (0x015508ddLL * zoe3), 30);
> zoc5 = Z_RSHIFT((0x051d29e5LL * zoo1) + (-0x028e7647LL * zoo2) +
> (0x0082d81aLL * zoo3), 30);
898,900c898,901
< coeff = (((((((((((((((int64_t)zoc5 * zoz) >> Z_SHIFT) +
< zoc4) * zoz) >> Z_SHIFT) + zoc3) * zoz) >> Z_SHIFT) +
< zoc2) * zoz) >> Z_SHIFT) + zoc1) * zoz) >> Z_SHIFT) + zoc0;
---
> coeff = Z_RSHIFT((Z_RSHIFT((Z_RSHIFT((Z_RSHIFT((Z_RSHIFT(
> (int64_t)zoc5 * zoz, Z_SHIFT) +
> zoc4) * zoz, Z_SHIFT) + zoc3) * zoz, Z_SHIFT) +
> zoc2) * zoz, Z_SHIFT) + zoc1) * zoz, Z_SHIFT) + zoc0;
914,925c915,926
< zoc0 = ((0x1ac2260dLL * zoe1) + (0x0526cdcaLL * zoe2) +
< (0x00170c29LL * zoe3)) >> 30;
< zoc1 = ((0x14f8a49aLL * zoo1) + (0x0d6d1109LL * zoo2) +
< (0x008cd4dcLL * zoo3)) >> 30;
< zoc2 = ((-0x0d3e94a4LL * zoe1) + (0x0bddded4LL * zoe2) +
< (0x0160b5d0LL * zoe3)) >> 30;
< zoc3 = ((-0x0de10cc4LL * zoo1) + (0x019b2a7dLL * zoo2) +
< (0x01cfe914LL * zoo3)) >> 30;
< zoc4 = ((0x02aa12d7LL * zoe1) + (-0x03ff1bb3LL * zoe2) +
< (0x015508ddLL * zoe3)) >> 30;
< zoc5 = ((0x051d29e5LL * zoo1) + (-0x028e7647LL * zoo2) +
< (0x0082d81aLL * zoo3)) >> 30;
---
> zoc0 = Z_RSHIFT((0x1ac2260dLL * zoe1) + (0x0526cdcaLL * zoe2) +
> (0x00170c29LL * zoe3), 30);
> zoc1 = Z_RSHIFT((0x14f8a49aLL * zoo1) + (0x0d6d1109LL * zoo2) +
> (0x008cd4dcLL * zoo3), 30);
> zoc2 = Z_RSHIFT((-0x0d3e94a4LL * zoe1) + (0x0bddded4LL * zoe2) +
> (0x0160b5d0LL * zoe3), 30);
> zoc3 = Z_RSHIFT((-0x0de10cc4LL * zoo1) + (0x019b2a7dLL * zoo2) +
> (0x01cfe914LL * zoo3), 30);
> zoc4 = Z_RSHIFT((0x02aa12d7LL * zoe1) + (-0x03ff1bb3LL * zoe2) +
> (0x015508ddLL * zoe3), 30);
> zoc5 = Z_RSHIFT((0x051d29e5LL * zoo1) + (-0x028e7647LL * zoo2) +
> (0x0082d81aLL * zoo3), 30);
927,929c928,931
< coeff = (((((((((((((((int64_t)zoc5 * zoz) >> Z_SHIFT) +
< zoc4) * zoz) >> Z_SHIFT) + zoc3) * zoz) >> Z_SHIFT) +
< zoc2) * zoz) >> Z_SHIFT) + zoc1) * zoz) >> Z_SHIFT) + zoc0;
---
> coeff = Z_RSHIFT((Z_RSHIFT((Z_RSHIFT((Z_RSHIFT((Z_RSHIFT(
> (int64_t)zoc5 * zoz, Z_SHIFT) +
> zoc4) * zoz, Z_SHIFT) + zoc3) * zoz, Z_SHIFT) +
> zoc2) * zoz, Z_SHIFT) + zoc1) * zoz, Z_SHIFT) + zoc0;
943,954c945,956
< zoc0 = ((0x1aa9b47dLL * zoe1) + (0x053d9944LL * zoe2) +
< (0x0018b23fLL * zoe3)) >> 30;
< zoc1 = ((0x14a104d1LL * zoo1) + (0x0d7d2504LL * zoo2) +
< (0x0094b599LL * zoo3)) >> 30;
< zoc2 = ((-0x0d22530bLL * zoe1) + (0x0bb37a2cLL * zoe2) +
< (0x016ed8e0LL * zoe3)) >> 30;
< zoc3 = ((-0x0d744b1cLL * zoo1) + (0x01649591LL * zoo2) +
< (0x01dae93aLL * zoo3)) >> 30;
< zoc4 = ((0x02a7ee1bLL * zoe1) + (-0x03fbdb24LL * zoe2) +
< (0x0153ed07LL * zoe3)) >> 30;
< zoc5 = ((0x04cf9b6cLL * zoo1) + (-0x0266b378LL * zoo2) +
< (0x007a7c26LL * zoo3)) >> 30;
---
> zoc0 = Z_RSHIFT((0x1aa9b47dLL * zoe1) + (0x053d9944LL * zoe2) +
> (0x0018b23fLL * zoe3), 30);
> zoc1 = Z_RSHIFT((0x14a104d1LL * zoo1) + (0x0d7d2504LL * zoo2) +
> (0x0094b599LL * zoo3), 30);
> zoc2 = Z_RSHIFT((-0x0d22530bLL * zoe1) + (0x0bb37a2cLL * zoe2) +
> (0x016ed8e0LL * zoe3), 30);
> zoc3 = Z_RSHIFT((-0x0d744b1cLL * zoo1) + (0x01649591LL * zoo2) +
> (0x01dae93aLL * zoo3), 30);
> zoc4 = Z_RSHIFT((0x02a7ee1bLL * zoe1) + (-0x03fbdb24LL * zoe2) +
> (0x0153ed07LL * zoe3), 30);
> zoc5 = Z_RSHIFT((0x04cf9b6cLL * zoo1) + (-0x0266b378LL * zoo2) +
> (0x007a7c26LL * zoo3), 30);
956,958c958,961
< coeff = (((((((((((((((int64_t)zoc5 * zoz) >> Z_SHIFT) +
< zoc4) * zoz) >> Z_SHIFT) + zoc3) * zoz) >> Z_SHIFT) +
< zoc2) * zoz) >> Z_SHIFT) + zoc1) * zoz) >> Z_SHIFT) + zoc0;
---
> coeff = Z_RSHIFT((Z_RSHIFT((Z_RSHIFT((Z_RSHIFT((Z_RSHIFT(
> (int64_t)zoc5 * zoz, Z_SHIFT) +
> zoc4) * zoz, Z_SHIFT) + zoc3) * zoz, Z_SHIFT) +
> zoc2) * zoz, Z_SHIFT) + zoc1) * zoz, Z_SHIFT) + zoc0;
972,983c975,986
< zoc0 = ((0x1a8eda43LL * zoe1) + (0x0556ee38LL * zoe2) +
< (0x001a3784LL * zoe3)) >> 30;
< zoc1 = ((0x143d863eLL * zoo1) + (0x0d910e36LL * zoo2) +
< (0x009ca889LL * zoo3)) >> 30;
< zoc2 = ((-0x0d026821LL * zoe1) + (0x0b837773LL * zoe2) +
< (0x017ef0c6LL * zoe3)) >> 30;
< zoc3 = ((-0x0cef1502LL * zoo1) + (0x01207a8eLL * zoo2) +
< (0x01e936dbLL * zoo3)) >> 30;
< zoc4 = ((0x029fe643LL * zoe1) + (-0x03ef3fc8LL * zoe2) +
< (0x014f5923LL * zoe3)) >> 30;
< zoc5 = ((0x043a9d08LL * zoo1) + (-0x02154febLL * zoo2) +
< (0x00670dbdLL * zoo3)) >> 30;
---
> zoc0 = Z_RSHIFT((0x1a8eda43LL * zoe1) + (0x0556ee38LL * zoe2) +
> (0x001a3784LL * zoe3), 30);
> zoc1 = Z_RSHIFT((0x143d863eLL * zoo1) + (0x0d910e36LL * zoo2) +
> (0x009ca889LL * zoo3), 30);
> zoc2 = Z_RSHIFT((-0x0d026821LL * zoe1) + (0x0b837773LL * zoe2) +
> (0x017ef0c6LL * zoe3), 30);
> zoc3 = Z_RSHIFT((-0x0cef1502LL * zoo1) + (0x01207a8eLL * zoo2) +
> (0x01e936dbLL * zoo3), 30);
> zoc4 = Z_RSHIFT((0x029fe643LL * zoe1) + (-0x03ef3fc8LL * zoe2) +
> (0x014f5923LL * zoe3), 30);
> zoc5 = Z_RSHIFT((0x043a9d08LL * zoo1) + (-0x02154febLL * zoo2) +
> (0x00670dbdLL * zoo3), 30);
985,987c988,991
< coeff = (((((((((((((((int64_t)zoc5 * zoz) >> Z_SHIFT) +
< zoc4) * zoz) >> Z_SHIFT) + zoc3) * zoz) >> Z_SHIFT) +
< zoc2) * zoz) >> Z_SHIFT) + zoc1) * zoz) >> Z_SHIFT) + zoc0;
---
> coeff = Z_RSHIFT((Z_RSHIFT((Z_RSHIFT((Z_RSHIFT((Z_RSHIFT(
> (int64_t)zoc5 * zoz, Z_SHIFT) +
> zoc4) * zoz, Z_SHIFT) + zoc3) * zoz, Z_SHIFT) +
> zoc2) * zoz, Z_SHIFT) + zoc1) * zoz, Z_SHIFT) + zoc0;
1001,1012c1005,1016
< zoc0 = ((0x19edb6fdLL * zoe1) + (0x05ebd062LL * zoe2) +
< (0x00267881LL * zoe3)) >> 30;
< zoc1 = ((0x1223af76LL * zoo1) + (0x0de3dd6bLL * zoo2) +
< (0x00d683cdLL * zoo3)) >> 30;
< zoc2 = ((-0x0c3ee068LL * zoe1) + (0x0a5c3769LL * zoe2) +
< (0x01e2aceaLL * zoe3)) >> 30;
< zoc3 = ((-0x0a8ab614LL * zoo1) + (-0x0019522eLL * zoo2) +
< (0x022cefc7LL * zoo3)) >> 30;
< zoc4 = ((0x0276187dLL * zoe1) + (-0x03a801e8LL * zoe2) +
< (0x0131d935LL * zoe3)) >> 30;
< zoc5 = ((0x02c373f5LL * zoo1) + (-0x01275f83LL * zoo2) +
< (0x0018ee79LL * zoo3)) >> 30;
---
> zoc0 = Z_RSHIFT((0x19edb6fdLL * zoe1) + (0x05ebd062LL * zoe2) +
> (0x00267881LL * zoe3), 30);
> zoc1 = Z_RSHIFT((0x1223af76LL * zoo1) + (0x0de3dd6bLL * zoo2) +
> (0x00d683cdLL * zoo3), 30);
> zoc2 = Z_RSHIFT((-0x0c3ee068LL * zoe1) + (0x0a5c3769LL * zoe2) +
> (0x01e2aceaLL * zoe3), 30);
> zoc3 = Z_RSHIFT((-0x0a8ab614LL * zoo1) + (-0x0019522eLL * zoo2) +
> (0x022cefc7LL * zoo3), 30);
> zoc4 = Z_RSHIFT((0x0276187dLL * zoe1) + (-0x03a801e8LL * zoe2) +
> (0x0131d935LL * zoe3), 30);
> zoc5 = Z_RSHIFT((0x02c373f5LL * zoo1) + (-0x01275f83LL * zoo2) +
> (0x0018ee79LL * zoo3), 30);
1014,1016c1018,1021
< coeff = (((((((((((((((int64_t)zoc5 * zoz) >> Z_SHIFT) +
< zoc4) * zoz) >> Z_SHIFT) + zoc3) * zoz) >> Z_SHIFT) +
< zoc2) * zoz) >> Z_SHIFT) + zoc1) * zoz) >> Z_SHIFT) + zoc0;
---
> coeff = Z_RSHIFT((Z_RSHIFT((Z_RSHIFT((Z_RSHIFT((Z_RSHIFT(
> (int64_t)zoc5 * zoz, Z_SHIFT) +
> zoc4) * zoz, Z_SHIFT) + zoc3) * zoz, Z_SHIFT) +
> zoc2) * zoz, Z_SHIFT) + zoc1) * zoz, Z_SHIFT) + zoc0;