40 #define MAX_CHANNELS 63 
   61     sscanf(*arg, 
" %n", &len);
 
   68     int len, i, channel_id = 0;
 
   73     if (sscanf(*arg, 
"%7[A-Z]%n", buf, &len)) {
 
   76         for (i = 32; i > 0; i >>= 1) {
 
   77             if (layout >= (int64_t)1 << i) {
 
   83         if (channel_id >= 
MAX_CHANNELS || layout0 != (int64_t)1 << channel_id)
 
   85         *rchannel = channel_id;
 
   91     if (sscanf(*arg, 
"c%d%n", &channel_id, &len) &&
 
   93         *rchannel = channel_id;
 
  105     int out_ch_id, in_ch_id, 
len, named, 
ret;
 
  106     int nb_in_channels[2] = { 0, 0 }; 
 
  111                "pan filter needs a channel layout and a set " 
  112                "of channels definitions as parameter\n");
 
  124     while ((arg = arg0 = 
av_strtok(NULL, 
"|", &tokenizer))) {
 
  128                    "Expected out channel name, got \"%.8s\"\n", arg);
 
  135                        "Channel \"%.8s\" does not exist in the chosen layout\n", arg0);
 
  147                    "Invalid out channel name \"%.8s\"\n", arg0);
 
  154         } 
else if (*arg == 
'<') {
 
  159                    "Syntax error after channel name in \"%.8s\"\n", arg0);
 
  166             if (sscanf(arg, 
"%lf%n *%n", &gain, &len, &len))
 
  170                        "Expected in channel name, got \"%.8s\"\n", arg);
 
  174             nb_in_channels[named]++;
 
  175             if (nb_in_channels[!named]) {
 
  177                        "Can not mix named and numbered channels\n");
 
  181             pan->
gain[out_ch_id][in_ch_id] = gain;
 
  209             double gain = pan->
gain[i][j];
 
  213             if (gain != 0. && gain != 1.)
 
  216             if (gain && nb_gain++)
 
  257     char buf[1024], *cur;
 
  277                "libswresample support a maximum of %d channels. " 
  278                "Feel free to ask for a higher limit.\n", 
SWR_CH_MAX);
 
  300             for (j = 0; j < link->
channels; j++) {
 
  301                 if (pan->
gain[i][j]) {
 
  318             for (j = 0; j < link->
channels; j++)
 
  319                 t += pan->
gain[i][j];
 
  320             if (t > -1
E-5 && t < 1
E-5) {
 
  324                            "Degenerate coefficients while renormalizing\n");
 
  327             for (j = 0; j < link->
channels; j++)
 
  328                 pan->
gain[i][j] /= t;
 
  342         for (j = 0; j < link->
channels; j++) {
 
  343             r = 
snprintf(cur, buf + 
sizeof(buf) - cur, 
"%s%.3g i%d",
 
  344                          j ? 
" + " : 
"", pan->
gain[i][j], j);
 
  345             cur += 
FFMIN(buf + 
sizeof(buf) - cur, r);
 
  389 #define OFFSET(x) offsetof(PanContext, x) 
  420     .priv_class    = &pan_class,