[FFmpeg-devel] [PATCH 1/4] lavf/alsa: use type size to identify it.
Nicolas George
nicolas.george at normalesup.org
Sat Feb 2 17:42:22 CET 2013
Merge int32 and f32 cases, they have the same size by construct.
Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
---
libavdevice/alsa-audio-common.c | 27 ++++++++++-----------------
1 file changed, 10 insertions(+), 17 deletions(-)
diff --git a/libavdevice/alsa-audio-common.c b/libavdevice/alsa-audio-common.c
index 4e63397..954535e 100644
--- a/libavdevice/alsa-audio-common.c
+++ b/libavdevice/alsa-audio-common.c
@@ -80,8 +80,7 @@ static void alsa_reorder_ ## NAME ## _ ## LAYOUT(const void *in_v, \
#define MAKE_REORDER_FUNCS(CHANNELS, LAYOUT, MAP) \
MAKE_REORDER_FUNC(int8, int8_t, CHANNELS, LAYOUT, MAP) \
MAKE_REORDER_FUNC(int16, int16_t, CHANNELS, LAYOUT, MAP) \
- MAKE_REORDER_FUNC(int32, int32_t, CHANNELS, LAYOUT, MAP) \
- MAKE_REORDER_FUNC(f32, float, CHANNELS, LAYOUT, MAP)
+ MAKE_REORDER_FUNC(int32, int32_t, CHANNELS, LAYOUT, MAP)
MAKE_REORDER_FUNCS(5, out_50, \
out[0] = in[0]; \
@@ -111,22 +110,16 @@ MAKE_REORDER_FUNCS(8, out_71, \
out[7] = in[7]; \
);
-#define FORMAT_I8 0
-#define FORMAT_I16 1
-#define FORMAT_I32 2
-#define FORMAT_F32 3
-
#define PICK_REORDER(layout)\
-switch(format) {\
- case FORMAT_I8: s->reorder_func = alsa_reorder_int8_out_ ##layout; break;\
- case FORMAT_I16: s->reorder_func = alsa_reorder_int16_out_ ##layout; break;\
- case FORMAT_I32: s->reorder_func = alsa_reorder_int32_out_ ##layout; break;\
- case FORMAT_F32: s->reorder_func = alsa_reorder_f32_out_ ##layout; break;\
+switch(size) {\
+ case 1: s->reorder_func = alsa_reorder_int8_out_ ##layout; break;\
+ case 2: s->reorder_func = alsa_reorder_int16_out_ ##layout; break;\
+ case 4: s->reorder_func = alsa_reorder_int32_out_ ##layout; break;\
}
static av_cold int find_reorder_func(AlsaData *s, int codec_id, uint64_t layout, int out)
{
- int format;
+ int size;
/* reordering input is not currently supported */
if (!out)
@@ -140,17 +133,17 @@ static av_cold int find_reorder_func(AlsaData *s, int codec_id, uint64_t layout,
case AV_CODEC_ID_PCM_S8:
case AV_CODEC_ID_PCM_U8:
case AV_CODEC_ID_PCM_ALAW:
- case AV_CODEC_ID_PCM_MULAW: format = FORMAT_I8; break;
+ case AV_CODEC_ID_PCM_MULAW: size = 1; break;
case AV_CODEC_ID_PCM_S16LE:
case AV_CODEC_ID_PCM_S16BE:
case AV_CODEC_ID_PCM_U16LE:
- case AV_CODEC_ID_PCM_U16BE: format = FORMAT_I16; break;
+ case AV_CODEC_ID_PCM_U16BE: size = 2; break;
case AV_CODEC_ID_PCM_S32LE:
case AV_CODEC_ID_PCM_S32BE:
case AV_CODEC_ID_PCM_U32LE:
- case AV_CODEC_ID_PCM_U32BE: format = FORMAT_I32; break;
+ case AV_CODEC_ID_PCM_U32BE:
case AV_CODEC_ID_PCM_F32LE:
- case AV_CODEC_ID_PCM_F32BE: format = FORMAT_F32; break;
+ case AV_CODEC_ID_PCM_F32BE: size = 4; break;
default: return AVERROR(ENOSYS);
}
--
1.7.10.4
More information about the ffmpeg-devel
mailing list