| Testing av_channel_layout_standard | |
| mono FC | |
| stereo FL+FR | |
| 2.1 FL+FR+LFE | |
| 3.0 FL+FR+FC | |
| 3.0(back) FL+FR+BC | |
| 4.0 FL+FR+FC+BC | |
| quad FL+FR+BL+BR | |
| quad(side) FL+FR+SL+SR | |
| 3.1 FL+FR+FC+LFE | |
| 5.0 FL+FR+FC+BL+BR | |
| 5.0(side) FL+FR+FC+SL+SR | |
| 4.1 FL+FR+FC+LFE+BC | |
| 5.1 FL+FR+FC+LFE+BL+BR | |
| 5.1(side) FL+FR+FC+LFE+SL+SR | |
| 6.0 FL+FR+FC+BC+SL+SR | |
| 6.0(front) FL+FR+FLC+FRC+SL+SR | |
| 3.1.2 FL+FR+FC+LFE+TFL+TFR | |
| hexagonal FL+FR+FC+BL+BR+BC | |
| 6.1 FL+FR+FC+LFE+BC+SL+SR | |
| 6.1(back) FL+FR+FC+LFE+BL+BR+BC | |
| 6.1(front) FL+FR+LFE+FLC+FRC+SL+SR | |
| 7.0 FL+FR+FC+BL+BR+SL+SR | |
| 7.0(front) FL+FR+FC+FLC+FRC+SL+SR | |
| 7.1 FL+FR+FC+LFE+BL+BR+SL+SR | |
| 7.1(wide) FL+FR+FC+LFE+BL+BR+FLC+FRC | |
| 7.1(wide-side) FL+FR+FC+LFE+FLC+FRC+SL+SR | |
| 5.1.2 FL+FR+FC+LFE+BL+BR+TFL+TFR | |
| octagonal FL+FR+FC+BL+BR+BC+SL+SR | |
| cube FL+FR+BL+BR+TFL+TFR+TBL+TBR | |
| 5.1.4 FL+FR+FC+LFE+BL+BR+TFL+TFR+TBL+TBR | |
| 7.1.2 FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR | |
| 7.1.4 FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBL+TBR | |
| 7.2.3 FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBC+LFE2 | |
| 9.1.4 FL+FR+FC+LFE+BL+BR+FLC+FRC+SL+SR+TFL+TFR+TBL+TBR | |
| hexadecagonal FL+FR+FC+BL+BR+BC+SL+SR+TFL+TFC+TFR+TBL+TBC+TBR+WL+WR | |
| downmix DL+DR | |
| 22.2 FL+FR+FC+LFE+BL+BR+FLC+FRC+BC+SL+SR+TC+TFL+TFC+TFR+TBL+TBC+TBR+LFE2+TSL+TSR+BFC+BFL+BFR | |
| Testing av_channel_name | |
| With AV_CHAN_FRONT_LEFT: FL | |
| With AV_CHAN_FRONT_RIGHT: FR | |
| With 63: USR63 | |
| With AV_CHAN_AMBISONIC_BASE: AMBI0 | |
| With AV_CHAN_AMBISONIC_END: AMBI1023 | |
| Testing av_channel_description | |
| With AV_CHAN_FRONT_LEFT: front left | |
| With AV_CHAN_FRONT_RIGHT: front right | |
| With 63: user 63 | |
| With AV_CHAN_AMBISONIC_BASE: ambisonic ACN 0 | |
| With AV_CHAN_AMBISONIC_END: ambisonic ACN 1023 | |
| Testing av_channel_from_string | |
| With "FL": 0 | |
| With "FR": 1 | |
| With "USR63": 63 | |
| With "AMBI0": 1024 | |
| With "AMBI1023": 2047 | |
| With "AMBI1024": -1 | |
| With "Dummy": -1 | |
| With "FL@Foo": -1 | |
| With "Foo@FL": -1 | |
| With "@FL": -1 | |
| ==Native layouts== | |
| Testing av_channel_layout_from_string | |
| With "0x3f": 5.1 | |
| With "63": 5.1 | |
| With "6c": 5.1 | |
| With "6C": 6 channels | |
| With "6 channels": 6 channels | |
| With "6 channels (FL+FR+FC+LFE+BL+BR)": 5.1 | |
| With "FL+FR+FC+LFE+BL+BR": 5.1 | |
| With "5.1": 5.1 | |
| With "FL+FR+USR63": 3 channels (FL+FR+USR63) | |
| With "FL+FR+FC+LFE+SL+SR": 5.1(side) | |
| With "5.1(side)": 5.1(side) | |
| Testing av_channel_layout_from_mask | |
| With AV_CH_LAYOUT_5POINT1: 5.1(side) | |
| Testing av_channel_layout_channel_from_index | |
| On "5.1(side)" layout with 0: 0 | |
| On "5.1(side)" layout with 1: 1 | |
| On "5.1(side)" layout with 2: 2 | |
| On "5.1(side)" layout with 3: 3 | |
| On "5.1(side)" layout with 4: 9 | |
| On "5.1(side)" layout with 5: 10 | |
| On "5.1(side)" layout with 6: -1 | |
| Testing av_channel_layout_index_from_channel | |
| On "5.1(side)" layout with AV_CHAN_FRONT_LEFT: 0 | |
| On "5.1(side)" layout with AV_CHAN_FRONT_RIGHT: 1 | |
| On "5.1(side)" layout with AV_CHAN_FRONT_CENTER: 2 | |
| On "5.1(side)" layout with AV_CHAN_LOW_FREQUENCY: 3 | |
| On "5.1(side)" layout with AV_CHAN_SIDE_LEFT: 4 | |
| On "5.1(side)" layout with AV_CHAN_SIDE_RIGHT: 5 | |
| On "5.1(side)" layout with AV_CHAN_BACK_CENTER: -1 | |
| Testing av_channel_layout_channel_from_string | |
| On "5.1(side)" layout with "FL": 0 | |
| On "5.1(side)" layout with "FR": 1 | |
| On "5.1(side)" layout with "FC": 2 | |
| On "5.1(side)" layout with "LFE": 3 | |
| On "5.1(side)" layout with "SL": 9 | |
| On "5.1(side)" layout with "SR": 10 | |
| On "5.1(side)" layout with "BC": -1 | |
| On "5.1(side)" layout with "@": -1 | |
| On "5.1(side)" layout with "@Foo": -1 | |
| On "5.1(side)" layout with "FL@Foo": -1 | |
| Testing av_channel_layout_index_from_string | |
| On "5.1(side)" layout with "FL": 0 | |
| On "5.1(side)" layout with "FR": 1 | |
| On "5.1(side)" layout with "FC": 2 | |
| On "5.1(side)" layout with "LFE": 3 | |
| On "5.1(side)" layout with "SL": 4 | |
| On "5.1(side)" layout with "SR": 5 | |
| On "5.1(side)" layout with "BC": -1 | |
| Testing av_channel_layout_subset | |
| On "5.1(side)" layout with AV_CH_LAYOUT_STEREO: 0x3 | |
| On "5.1(side)" layout with AV_CH_LAYOUT_2POINT1: 0xb | |
| On "5.1(side)" layout with AV_CH_LAYOUT_4POINT1: 0xf | |
| ==Custom layouts== | |
| Testing av_channel_layout_from_string | |
| With "FL+FR+FC+BL+BR+LFE": 6 channels (FL+FR+FC+BL+BR+LFE) | |
| With "2 channels (FR+FL)": 2 channels (FR+FL) | |
| With "2 channels (AMBI1023+FL)": 2 channels (AMBI1023+FL) | |
| With "3 channels (FR+FL)": fail | |
| With "-3 channels (FR+FL)": fail | |
| With "0 channels ()": fail | |
| With "2 channels (FL+FR": fail | |
| With "ambisonic 1+FR+FL": ambisonic 1+2 channels (FR+FL) | |
| With "ambisonic 2+FC@Foo": ambisonic 2+1 channels (FC@Foo) | |
| With "FL@Foo+FR@Bar": 2 channels (FL@Foo+FR@Bar) | |
| With "FL+stereo": fail | |
| With "stereo+stereo": fail | |
| With "stereo@Boo": fail | |
| With "": fail | |
| With "@": fail | |
| With "@Dummy": fail | |
| With "@FL": fail | |
| With "Dummy": fail | |
| With "Dummy@FL": fail | |
| With "FR+Dummy": fail | |
| With "FR+Dummy@FL": fail | |
| With "UNK+UNSD": 2 channels (UNK+UNSD) | |
| With "NONE": fail | |
| With "FR+@FL": fail | |
| With "FL+@": fail | |
| With "FR+FL@Foo+USR63@Foo": 3 channels (FR+FL@Foo+USR63@Foo) | |
| Testing av_channel_layout_index_from_string | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "FR": 0 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "FL": 1 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "USR63": 2 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "Foo": -1 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "@Foo": 1 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "FR@Foo": -1 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "FL@Foo": 1 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "USR63@Foo": 2 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "BC": -1 | |
| Testing av_channel_layout_channel_from_string | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "FR": 1 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "FL": 0 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "USR63": 63 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "Foo": -1 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "@Foo": 0 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "FR@Foo": -1 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "FL@Foo": 0 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "USR63@Foo": 63 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with "BC": -1 | |
| Testing av_channel_layout_index_from_channel | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with AV_CHAN_FRONT_RIGHT: 0 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with AV_CHAN_FRONT_LEFT: 1 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with 63: 2 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with AV_CHAN_BACK_CENTER: -1 | |
| Testing av_channel_layout_channel_from_index | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with 0: 1 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with 1: 0 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with 2: 63 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with 3: -1 | |
| Testing av_channel_layout_subset | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with AV_CH_LAYOUT_STEREO: 0x3 | |
| On "3 channels (FR+FL@Foo+USR63@Foo)" layout with AV_CH_LAYOUT_QUAD: 0x3 | |
| ==Ambisonic layouts== | |
| Testing av_channel_layout_from_string | |
| With "ambisonic 1": ambisonic 1 | |
| With "ambisonic 2+stereo": ambisonic 2+stereo | |
| Testing av_channel_layout_index_from_channel | |
| On "ambisonic 2+stereo" layout with AV_CHAN_AMBISONIC_BASE: 0 | |
| On "ambisonic 2+stereo" layout with AV_CHAN_FRONT_LEFT: 9 | |
| On "ambisonic 2+stereo" layout with AV_CHAN_FRONT_RIGHT: 10 | |
| On "ambisonic 2+stereo" layout with AV_CHAN_BACK_CENTER: -1 | |
| Testing av_channel_layout_channel_from_index | |
| On "ambisonic 2+stereo" layout with 0: 1024 | |
| On "ambisonic 2+stereo" layout with 9: 0 | |
| On "ambisonic 2+stereo" layout with 10: 1 | |
| On "ambisonic 2+stereo" layout with 11: -1 | |
| Testing av_channel_layout_subset | |
| On "ambisonic 2+stereo" layout with AV_CH_LAYOUT_STEREO: 0x3 | |
| On "ambisonic 2+stereo" layout with AV_CH_LAYOUT_QUAD: 0x3 | |
| Testing av_channel_layout_retype | |
| With "FL@Boo": CUSTOM (1 channels (FL@Boo)) | |
| ~~ UNSPEC (1 channels) | |
| ~~ NATIVE (1 channels (FL)) | |
| == CUSTOM (1 channels (FL@Boo)) | |
| != AMBI | |
| With "stereo": NATIVE (stereo) | |
| ~~ UNSPEC (2 channels) | |
| == NATIVE (stereo) | |
| == CUSTOM (stereo) | |
| != AMBI | |
| With "FR+FL": CUSTOM (2 channels (FR+FL)) | |
| ~~ UNSPEC (2 channels) | |
| != NATIVE | |
| == CUSTOM (2 channels (FR+FL)) | |
| != AMBI | |
| With "ambisonic 2+stereo": AMBI (ambisonic 2+stereo) | |
| ~~ UNSPEC (11 channels) | |
| != NATIVE | |
| == CUSTOM (ambisonic 2+stereo) | |
| == AMBI (ambisonic 2+stereo) | |
| With "2C": UNSPEC (2 channels) | |
| == UNSPEC (2 channels) | |
| != NATIVE | |
| == CUSTOM (2 channels (UNK+UNK)) | |
| != AMBI |