| 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+SL+SR+TFL+TFR |
| 5.1.2(back) 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+SL+SR+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 |
| 9.1.6 FL+FR+FC+LFE+BL+BR+FLC+FRC+SL+SR+TFL+TFR+TBL+TBR+TSL+TSR |
| hexadecagonal FL+FR+FC+BL+BR+BC+SL+SR+TFL+TFC+TFR+TBL+TBC+TBR+WL+WR |
| binaural BIL+BIR |
| 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 |