[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