ffmpeg/tests/ref/fate/channel_layout
Marton Balint a4fc331118 avutil/channel_layout: add specific text versions for unknown and unused channels
Signed-off-by: Marton Balint <cus@passwd.hu>
2024-03-16 19:49:39 +01:00

243 lines
11 KiB
Plaintext

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