rendered paste body#include <stdio.h>#define PCM_MAX_CH 9enum CH_{ CH_FL = 0, CH_FR, CH_LF, CH_CT, CH_BL, CH_BR, CH_BC, CH_SL, CH_SR};static const char* szCh[] ={ [CH_FL] = "Front left", [CH_FR] = "Front right", [CH_LF] = "Low frequency", [CH_CT] = "Center", [CH_BL] = "Back left", [CH_BR] = "Back right", [CH_BC] = "Back center", [CH_SL] = "Surround left", [CH_SR] = "Surround right"};enum CONV_{ CONV_MN_ST = 0, CONV_ST_MN};static const char* szConv[] ={ [CONV_MN_ST] = "Stereo to mono", [CONV_ST_MN] = "Mono to stereo", NULL};static const float map[][PCM_MAX_CH][PCM_MAX_CH] ={ /* Mono > Stereo */ { // FR { [CH_CT] = 1.0 }, // FL { [CH_CT] = 1.0 } }, /* Stereo > Mono */ { // CT { [CH_FL] = 0.5, [CH_FR] = 0.5 } }};#define LEN (sizeof(map)/sizeof(map[0]))int main(){ int i, j, k; for (i = 0; i < LEN; i++) { printf("%s:\n", szConv[i]); for (j = 0; j < PCM_MAX_CH; j++) { printf(" %s = \n", szCh[j]); for (k = 0; k < PCM_MAX_CH; k++) { printf(" %f * %s +\n", map[i][j][k], szCh[k]); } } } return 0;}