summaryrefslogtreecommitdiffstats
path: root/audio/format.c
diff options
context:
space:
mode:
Diffstat (limited to 'audio/format.c')
-rw-r--r--audio/format.c55
1 files changed, 22 insertions, 33 deletions
diff --git a/audio/format.c b/audio/format.c
index 01c9a431a1..b933d07e16 100644
--- a/audio/format.c
+++ b/audio/format.c
@@ -62,41 +62,30 @@ int af_fmt_change_bits(int format, int bits)
return af_fmt_is_valid(format) ? format : 0;
}
+#define FMT(string, id) \
+ {string, id},
+
+#define FMT_ENDIAN(string, id) \
+ {string, id}, \
+ {string "ne", id}, \
+ {string "le", MP_CONCAT(id, _LE)}, \
+ {string "be", MP_CONCAT(id, _BE)}, \
+
const struct af_fmt_entry af_fmtstr_table[] = {
- { "mpeg2", AF_FORMAT_MPEG2 },
- { "ac3le", AF_FORMAT_AC3_LE },
- { "ac3be", AF_FORMAT_AC3_BE },
- { "ac3ne", AF_FORMAT_AC3_NE },
- { "iec61937le", AF_FORMAT_IEC61937_LE },
- { "iec61937be", AF_FORMAT_IEC61937_BE },
- { "iec61937ne", AF_FORMAT_IEC61937_NE },
+ FMT("mpeg2", AF_FORMAT_MPEG2)
+ FMT_ENDIAN("ac3", AF_FORMAT_AC3)
+ FMT_ENDIAN("iec61937", AF_FORMAT_IEC61937)
- { "u8", AF_FORMAT_U8 },
- { "s8", AF_FORMAT_S8 },
- { "u16le", AF_FORMAT_U16_LE },
- { "u16be", AF_FORMAT_U16_BE },
- { "u16ne", AF_FORMAT_U16_NE },
- { "s16le", AF_FORMAT_S16_LE },
- { "s16be", AF_FORMAT_S16_BE },
- { "s16ne", AF_FORMAT_S16_NE },
- { "u24le", AF_FORMAT_U24_LE },
- { "u24be", AF_FORMAT_U24_BE },
- { "u24ne", AF_FORMAT_U24_NE },
- { "s24le", AF_FORMAT_S24_LE },
- { "s24be", AF_FORMAT_S24_BE },
- { "s24ne", AF_FORMAT_S24_NE },
- { "u32le", AF_FORMAT_U32_LE },
- { "u32be", AF_FORMAT_U32_BE },
- { "u32ne", AF_FORMAT_U32_NE },
- { "s32le", AF_FORMAT_S32_LE },
- { "s32be", AF_FORMAT_S32_BE },
- { "s32ne", AF_FORMAT_S32_NE },
- { "floatle", AF_FORMAT_FLOAT_LE },
- { "floatbe", AF_FORMAT_FLOAT_BE },
- { "floatne", AF_FORMAT_FLOAT_NE },
- { "doublele", AF_FORMAT_DOUBLE_LE },
- { "doublebe", AF_FORMAT_DOUBLE_BE },
- { "doublene", AF_FORMAT_DOUBLE_NE },
+ FMT("u8", AF_FORMAT_U8)
+ FMT("s8", AF_FORMAT_S8)
+ FMT_ENDIAN("u16", AF_FORMAT_U16)
+ FMT_ENDIAN("s16", AF_FORMAT_S16)
+ FMT_ENDIAN("u24", AF_FORMAT_U24)
+ FMT_ENDIAN("s24", AF_FORMAT_S24)
+ FMT_ENDIAN("u32", AF_FORMAT_U32)
+ FMT_ENDIAN("s32", AF_FORMAT_S32)
+ FMT_ENDIAN("float", AF_FORMAT_FLOAT)
+ FMT_ENDIAN("double", AF_FORMAT_DOUBLE)
{0}
};