[alsa-devel] [alsa-lib][PATCH 3/4] pcm: remove unused macros of NORMS_LABELS/NORMS_END
Takashi Sakamoto
o-takashi at sakamocchi.jp
Wed Dec 20 18:17:02 CET 2017
A commit fcd164e6229c ("Permit to PCM plug configuration to specify unchanged
parameters. Added support for RT signals to async interface. Added ops for
PCM mix.") added a pair of NORMS_LABELS/NORMS_END, however they have been
no longer used.
This commit removes them in a point to reduce the amount of code to
maintain.
---
src/pcm/plugin_ops.h | 264 ---------------------------------------------------
1 file changed, 264 deletions(-)
diff --git a/src/pcm/plugin_ops.h b/src/pcm/plugin_ops.h
index 1866d6d9..63e3c827 100644
--- a/src/pcm/plugin_ops.h
+++ b/src/pcm/plugin_ops.h
@@ -713,270 +713,6 @@ get32f_4321D_1234: tmp_double.l = bswap_64(as_u64c(src));
goto GET32F_END;
#endif
-#ifdef NORMS_LABELS
-static inline void _norms(const void *src, void *dst,
- int src_wid,
- int dst_sign, int dst_wid, int dst_end)
-{
- int32_t s;
- switch (src_wid) {
- case 8:
- s = *(int32_t*)src;
- if (s >= 0x7f)
- goto _max;
- else if (s <= -0x80)
- goto _min;
- break;
- case 16:
- s = *(int32_t*)src;
- if (s >= 0x7fff)
- goto _max;
- else if (s <= -0x8000)
- goto _min;
- break;
- case 24:
- s = *(int32_t*)src;
- if (s >= 0x7fffff)
- goto _max;
- else if (s <= -0x800000)
- goto _min;
- break;
- case 32:
- {
- int64_t s64;
- s64 = *(int64_t*)src;
- if (s64 >= 0x7fffffff)
- goto _max;
- else if (s64 <= -0x80000000)
- goto _min;
- s = s64;
- break;
- }
- default:
- assert(0);
- return;
- }
- if (src_wid < dst_wid) {
- unsigned int bits = dst_wid - src_wid;
- s *= 1 << bits;
- } else if (src_wid > dst_wid) {
- unsigned int bits = src_wid - dst_wid;
- s = (s + (1 << (bits - 1))) / (1 << bits);
- }
- if (!dst_sign)
- s += (1U << (dst_wid - 1));
- switch (dst_wid) {
- case 8:
- *(uint8_t*)dst = s;
- break;
- case 16:
- if (dst_end)
- s = bswap_16(s);
- *(uint16_t*)dst = s;
- break;
- case 24:
- case 32:
- if (dst_end)
- s = bswap_32(s);
- *(uint32_t*)dst = s;
- break;
- }
- return;
-
- _min:
- switch (dst_wid) {
- case 8:
- if (dst_sign)
- *(uint8_t*)dst = 0x80;
- else
- *(uint8_t*)dst = 0;
- break;
- case 16:
- if (dst_sign)
- *(uint16_t*)dst = dst_end ? 0x0080 : 0x8000;
- else
- *(uint16_t*)dst = 0;
- break;
- case 24:
- if (dst_sign)
- *(uint32_t*)dst = dst_end ? 0x00008000 : 0x00800000;
- else
- *(uint32_t*)dst = 0;
- break;
- case 32:
- if (dst_sign)
- *(uint32_t*)dst = dst_end ? 0x00000080 : 0x80000000;
- else
- *(uint32_t*)dst = 0;
- break;
- default:
- assert(0);
- break;
- }
- return;
-
- _max:
- switch (dst_wid) {
- case 8:
- if (dst_sign)
- *(uint8_t*)dst = 0x7f;
- else
- *(uint8_t*)dst = 0xff;
- break;
- case 16:
- if (dst_sign)
- *(uint16_t*)dst = dst_end ? 0xff7f : 0x7fff;
- else
- *(uint16_t*)dst = 0;
- break;
- case 24:
- if (dst_sign)
- *(uint32_t*)dst = dst_end ? 0xffff7f00 : 0x007fffff;
- else
- *(uint32_t*)dst = 0;
- break;
- case 32:
- if (dst_sign)
- *(uint32_t*)dst = dst_end ? 0xffffff7f : 0x7fffffff;
- else
- *(uint32_t*)dst = 0;
- break;
- default:
- assert(0);
- break;
- }
- return;
-}
-
-/* src_wid dst_sign dst_wid dst_end */
-static void *const norms_labels[4 * 2 * 4 * 2] = {
- &&norms_8_u8, /* s8 -> u8 */
- &&norms_8_u8, /* s8 -> u8 */
- &&norms_8_u16h, /* s8 -> u16h */
- &&norms_8_u16s, /* s8 -> u16s */
- &&norms_8_u24h, /* s8 -> u24h */
- &&norms_8_u24s, /* s8 -> u24s */
- &&norms_8_u32h, /* s8 -> u32h */
- &&norms_8_u32s, /* s8 -> u32s */
- &&norms_8_s8, /* s8 -> s8 */
- &&norms_8_s8, /* s8 -> s8 */
- &&norms_8_s16h, /* s8 -> s16h */
- &&norms_8_s16s, /* s8 -> s16s */
- &&norms_8_s24h, /* s8 -> s24h */
- &&norms_8_s24s, /* s8 -> s24s */
- &&norms_8_s32h, /* s8 -> s32h */
- &&norms_8_s32s, /* s8 -> s32s */
- &&norms_16_u8, /* s16 -> u8 */
- &&norms_16_u8, /* s16 -> u8 */
- &&norms_16_u16h, /* s16 -> u16h */
- &&norms_16_u16s, /* s16 -> u16s */
- &&norms_16_u24h, /* s16 -> u24h */
- &&norms_16_u24s, /* s16 -> u24s */
- &&norms_16_u32h, /* s16 -> u32h */
- &&norms_16_u32s, /* s16 -> u32s */
- &&norms_16_s8, /* s16 -> s8 h*/
- &&norms_16_s8, /* s16 -> s8 */
- &&norms_16_s16h, /* s16 -> s16h */
- &&norms_16_s16s, /* s16 -> s16s */
- &&norms_16_s24h, /* s16 -> s24h */
- &&norms_16_s24s, /* s16 -> s24s */
- &&norms_16_s32h, /* s16 -> s32h */
- &&norms_16_s32s, /* s16 -> s32s */
- &&norms_24_u8, /* s24 -> u8 */
- &&norms_24_u8, /* s24 -> u8 */
- &&norms_24_u16h, /* s24 -> u16h */
- &&norms_24_u16s, /* s24 -> u16s */
- &&norms_24_u24h, /* s24 -> u24h */
- &&norms_24_u24s, /* s24 -> u24s */
- &&norms_24_u32h, /* s24 -> u32h */
- &&norms_24_u32s, /* s24 -> u32s */
- &&norms_24_s8, /* s24 -> s8 */
- &&norms_24_s8, /* s24 -> s8 */
- &&norms_24_s16h, /* s24 -> s16h */
- &&norms_24_s16s, /* s24 -> s16s */
- &&norms_24_s24h, /* s24 -> s24h */
- &&norms_24_s24s, /* s24 -> s24s */
- &&norms_24_s32h, /* s24 -> s32h */
- &&norms_24_s32s, /* s24 -> s32s */
- &&norms_32_u8, /* s32 -> u8 */
- &&norms_32_u8, /* s32 -> u8 */
- &&norms_32_u16h, /* s32 -> u16h */
- &&norms_32_u16s, /* s32 -> u16s */
- &&norms_32_u24h, /* s32 -> u24h */
- &&norms_32_u24s, /* s32 -> u24s */
- &&norms_32_u32h, /* s32 -> u32h */
- &&norms_32_u32s, /* s32 -> u32s */
- &&norms_32_s8, /* s32 -> s8 */
- &&norms_32_s8, /* s32 -> s8 */
- &&norms_32_s16h, /* s32 -> s16h */
- &&norms_32_s16s, /* s32 -> s16s */
- &&norms_32_s24h, /* s32 -> s24h */
- &&norms_32_s24s, /* s32 -> s24s */
- &&norms_32_s32h, /* s32 -> s32h */
- &&norms_32_s32s, /* s32 -> s32s */
-};
-#endif
-
-#ifdef NORMS_END
-norms_8_u8: _norms(src, dst, 8, 0, 8, 0); goto NORMS_END;
-norms_8_u16h: _norms(src, dst, 8, 0, 16, 0); goto NORMS_END;
-norms_8_u16s: _norms(src, dst, 8, 0, 16, 1); goto NORMS_END;
-norms_8_u24h: _norms(src, dst, 8, 0, 24, 0); goto NORMS_END;
-norms_8_u24s: _norms(src, dst, 8, 0, 24, 1); goto NORMS_END;
-norms_8_u32h: _norms(src, dst, 8, 0, 32, 0); goto NORMS_END;
-norms_8_u32s: _norms(src, dst, 8, 0, 32, 1); goto NORMS_END;
-norms_8_s8: _norms(src, dst, 8, 1, 8, 0); goto NORMS_END;
-norms_8_s16h: _norms(src, dst, 8, 1, 16, 0); goto NORMS_END;
-norms_8_s16s: _norms(src, dst, 8, 1, 16, 1); goto NORMS_END;
-norms_8_s24h: _norms(src, dst, 8, 1, 24, 0); goto NORMS_END;
-norms_8_s24s: _norms(src, dst, 8, 1, 24, 1); goto NORMS_END;
-norms_8_s32h: _norms(src, dst, 8, 1, 32, 0); goto NORMS_END;
-norms_8_s32s: _norms(src, dst, 8, 1, 32, 1); goto NORMS_END;
-norms_16_u8: _norms(src, dst, 16, 0, 8, 0); goto NORMS_END;
-norms_16_u16h: _norms(src, dst, 16, 0, 16, 0); goto NORMS_END;
-norms_16_u16s: _norms(src, dst, 16, 0, 16, 1); goto NORMS_END;
-norms_16_u24h: _norms(src, dst, 16, 0, 24, 0); goto NORMS_END;
-norms_16_u24s: _norms(src, dst, 16, 0, 24, 1); goto NORMS_END;
-norms_16_u32h: _norms(src, dst, 16, 0, 32, 0); goto NORMS_END;
-norms_16_u32s: _norms(src, dst, 16, 0, 32, 1); goto NORMS_END;
-norms_16_s8: _norms(src, dst, 16, 1, 8, 0); goto NORMS_END;
-norms_16_s16h: _norms(src, dst, 16, 1, 16, 0); goto NORMS_END;
-norms_16_s16s: _norms(src, dst, 16, 1, 16, 1); goto NORMS_END;
-norms_16_s24h: _norms(src, dst, 16, 1, 24, 0); goto NORMS_END;
-norms_16_s24s: _norms(src, dst, 16, 1, 24, 1); goto NORMS_END;
-norms_16_s32h: _norms(src, dst, 16, 1, 32, 0); goto NORMS_END;
-norms_16_s32s: _norms(src, dst, 16, 1, 32, 1); goto NORMS_END;
-norms_24_u8: _norms(src, dst, 24, 0, 8, 0); goto NORMS_END;
-norms_24_u16h: _norms(src, dst, 24, 0, 16, 0); goto NORMS_END;
-norms_24_u16s: _norms(src, dst, 24, 0, 16, 1); goto NORMS_END;
-norms_24_u24h: _norms(src, dst, 24, 0, 24, 0); goto NORMS_END;
-norms_24_u24s: _norms(src, dst, 24, 0, 24, 1); goto NORMS_END;
-norms_24_u32h: _norms(src, dst, 24, 0, 32, 0); goto NORMS_END;
-norms_24_u32s: _norms(src, dst, 24, 0, 32, 1); goto NORMS_END;
-norms_24_s8: _norms(src, dst, 24, 1, 8, 0); goto NORMS_END;
-norms_24_s16h: _norms(src, dst, 24, 1, 16, 0); goto NORMS_END;
-norms_24_s16s: _norms(src, dst, 24, 1, 16, 1); goto NORMS_END;
-norms_24_s24h: _norms(src, dst, 24, 1, 24, 0); goto NORMS_END;
-norms_24_s24s: _norms(src, dst, 24, 1, 24, 1); goto NORMS_END;
-norms_24_s32h: _norms(src, dst, 24, 1, 32, 0); goto NORMS_END;
-norms_24_s32s: _norms(src, dst, 24, 1, 32, 1); goto NORMS_END;
-norms_32_u8: _norms(src, dst, 32, 0, 8, 0); goto NORMS_END;
-norms_32_u16h: _norms(src, dst, 32, 0, 16, 0); goto NORMS_END;
-norms_32_u16s: _norms(src, dst, 32, 0, 16, 1); goto NORMS_END;
-norms_32_u24h: _norms(src, dst, 32, 0, 24, 0); goto NORMS_END;
-norms_32_u24s: _norms(src, dst, 32, 0, 24, 1); goto NORMS_END;
-norms_32_u32h: _norms(src, dst, 32, 0, 32, 0); goto NORMS_END;
-norms_32_u32s: _norms(src, dst, 32, 0, 32, 1); goto NORMS_END;
-norms_32_s8: _norms(src, dst, 32, 1, 8, 0); goto NORMS_END;
-norms_32_s16h: _norms(src, dst, 32, 1, 16, 0); goto NORMS_END;
-norms_32_s16s: _norms(src, dst, 32, 1, 16, 1); goto NORMS_END;
-norms_32_s24h: _norms(src, dst, 32, 1, 24, 0); goto NORMS_END;
-norms_32_s24s: _norms(src, dst, 32, 1, 24, 1); goto NORMS_END;
-norms_32_s32h: _norms(src, dst, 32, 1, 32, 0); goto NORMS_END;
-norms_32_s32s: _norms(src, dst, 32, 1, 32, 1); goto NORMS_END;
-#endif
-
-
#undef as_u8
#undef as_u16
#undef as_u32
--
2.14.1
More information about the Alsa-devel
mailing list