Commit ffc6c8a4 authored by Anton Khirnov's avatar Anton Khirnov Committed by Carl Eugen Hoyos

Support u8, s8, alaw and mulaw channel reordering in alsa.

parent 4b87a088
...@@ -115,6 +115,9 @@ static void alsa_reorder_ ## NAME ## _out_71(const void *in_v, void *out_v, int ...@@ -115,6 +115,9 @@ static void alsa_reorder_ ## NAME ## _out_71(const void *in_v, void *out_v, int
} \ } \
} }
REORDER_OUT_50(int8, int8_t)
REORDER_OUT_51(int8, int8_t)
REORDER_OUT_71(int8, int8_t)
REORDER_OUT_50(int16, int16_t) REORDER_OUT_50(int16, int16_t)
REORDER_OUT_51(int16, int16_t) REORDER_OUT_51(int16, int16_t)
REORDER_OUT_71(int16, int16_t) REORDER_OUT_71(int16, int16_t)
...@@ -132,6 +135,17 @@ static av_cold ff_reorder_func find_reorder_func(int codec_id, ...@@ -132,6 +135,17 @@ static av_cold ff_reorder_func find_reorder_func(int codec_id,
int out) int out)
{ {
return return
codec_id == CODEC_ID_PCM_U8 || codec_id == CODEC_ID_PCM_S8 ||
codec_id == CODEC_ID_PCM_ALAW || codec_id == CODEC_ID_PCM_MULAW ?
layout == AV_CH_LAYOUT_QUAD || layout == AV_CH_LAYOUT_2_2 ?
REORDER_DUMMY :
layout == AV_CH_LAYOUT_5POINT0_BACK || layout == AV_CH_LAYOUT_5POINT0 ?
out ? alsa_reorder_int8_out_50 : NULL :
layout == AV_CH_LAYOUT_5POINT1_BACK || layout == AV_CH_LAYOUT_5POINT1 ?
out ? alsa_reorder_int8_out_51 : NULL :
layout == AV_CH_LAYOUT_7POINT1 ?
out ? alsa_reorder_int8_out_71 : NULL :
NULL :
codec_id == CODEC_ID_PCM_U16LE || codec_id == CODEC_ID_PCM_U16BE || codec_id == CODEC_ID_PCM_U16LE || codec_id == CODEC_ID_PCM_U16BE ||
codec_id == CODEC_ID_PCM_S16LE || codec_id == CODEC_ID_PCM_S16BE ? codec_id == CODEC_ID_PCM_S16LE || codec_id == CODEC_ID_PCM_S16BE ?
layout == AV_CH_LAYOUT_QUAD || layout == AV_CH_LAYOUT_2_2 ? layout == AV_CH_LAYOUT_QUAD || layout == AV_CH_LAYOUT_2_2 ?
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment