1#This work is licensed under the
2#Creative Commons Attribution-Share Alike 3.0 United States License.
3#To view a copy of this license, visit
4#http://creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to
5#Creative Commons,
6#171 Second Street, Suite 300,
7#San Francisco, California, 94105, USA.
8
9INPUT "encoded channels as 4 bit value";
10OUTPUT "channel count and channel assignment";
11VAR encoded_channels "encoded channels";
12VAR ch0 "front center";
13VAR ch1 "front left, front right";
14VAR ch2 "front left, front right, front center";
15VAR ch3 "front left, right right, back left, back right";
16VAR ch4 "front left, front right, front center, back/surround left, back/surround right";
17VAR ch5 "front left, front right, front center, LFE, back/surround left, back/surround right";
18VAR ch6 "undefined";
19VAR ch7 "undefined";
20VAR ch8 "front left, difference";
21VAR ch9 "difference, front right";
22VAR ch10 "average, difference";
23FUNC reserved "reserved channel assignment";
24switch encoded_channels {
25    case 0 {return 1,ch0;}
26    case 1 {return 2,ch1;}
27    case 2 {return 3,ch2;}
28    case 3 {return 4,ch3;}
29    case 4 {return 5,ch4;}
30    case 5 {return 6,ch5;}
31    case 6 {return 7,ch6;}
32    case 7 {return 8,ch7;}
33    case 8 {return 2,ch8;}
34    case 9 {return 2,ch9;}
35    case 10 {return 2,ch10;}
36    case 11 {reserved();}
37    case 12 {reserved();}
38    case 13 {reserved();}
39    case 14 {reserved();}
40    case 15 {reserved();}
41}