Requires some extraneous top side and bottom front channels to be defined. According to STD-B59v2, the defined channel layout is: - FL - FR - FC - LFE1 - BL - BR - FLc - FRc - BC - LFE2 - SiL - SiR - TpFL - TpFR - TpFC - TpC - TpBL - TpBR - TpSiL - TpSiR - TpBC - BtFC - BtFL - BtFR
Unified · Split
| @@ -15,6 +15,11 @@ libavutil: 2017-10-21 · 14 unmodified lines | |||
| 15 | 15 | ||
| 16 | API changes, most recent first: | 16 | API changes, most recent first: |
| 17 | 17 | ||
| 18 | 2020-08-04 - xxxxxxxxxx - lavu 56.58.100 - channel_layout.h | ||
| 19 | Add AV_CH_LAYOUT_22POINT2 together with its newly required pieces: | ||
| 20 | AV_CH_TOP_SIDE_LEFT, AV_CH_TOP_SIDE_RIGHT, AV_CH_BOTTOM_FRONT_CENTER, | ||
| 21 | AV_CH_BOTTOM_FRONT_LEFT, AV_CH_BOTTOM_FRONT_RIGHT. | ||
| 22 | |||
| 18 | 2020-07-xx - xxxxxxxxxx - lavu 56.57.100 - cpu.h | 23 | 2020-07-xx - xxxxxxxxxx - lavu 56.57.100 - cpu.h |
| 19 | Add AV_CPU_FLAG_MMI and AV_CPU_FLAG_MSA. | 24 | Add AV_CPU_FLAG_MMI and AV_CPU_FLAG_MSA. |
| 20 | 25 | ||
| @@ -62,6 +62,11 @@ static const struct channel_name channel_names[] = { · 61 unmodified lines | |||
| 62 | [33] = { "SDL", "surround direct left" }, | 62 | [33] = { "SDL", "surround direct left" }, |
| 63 | [34] = { "SDR", "surround direct right" }, | 63 | [34] = { "SDR", "surround direct right" }, |
| 64 | [35] = { "LFE2", "low frequency 2" }, | 64 | [35] = { "LFE2", "low frequency 2" }, |
| 65 | [36] = { "TSL", "top side left" }, | ||
| 66 | [37] = { "TSR", "top side right" }, | ||
| 67 | [38] = { "BFC", "bottom front center" }, | ||
| 68 | [39] = { "BFL", "bottom front left" }, | ||
| 69 | [40] = { "BFR", "bottom front right" }, | ||
| 65 | }; | 70 | }; |
| 66 | 71 | ||
| 67 | static const char *get_channel_name(int channel_id) | 72 | static const char *get_channel_name(int channel_id) |
| @@ -104,6 +109,7 @@ static const struct { · 36 unmodified lines | |||
| 104 | { "octagonal", 8, AV_CH_LAYOUT_OCTAGONAL }, | 109 | { "octagonal", 8, AV_CH_LAYOUT_OCTAGONAL }, |
| 105 | { "hexadecagonal", 16, AV_CH_LAYOUT_HEXADECAGONAL }, | 110 | { "hexadecagonal", 16, AV_CH_LAYOUT_HEXADECAGONAL }, |
| 106 | { "downmix", 2, AV_CH_LAYOUT_STEREO_DOWNMIX, }, | 111 | { "downmix", 2, AV_CH_LAYOUT_STEREO_DOWNMIX, }, |
| 112 | { "22.2", 24, AV_CH_LAYOUT_22POINT2, }, | ||
| 107 | }; | 113 | }; |
| 108 | 114 | ||
| 109 | static uint64_t get_channel_layout_single(const char *name, int name_len) | 115 | static uint64_t get_channel_layout_single(const char *name, int name_len) |
| @@ -71,6 +71,11 @@ · 70 unmodified lines | |||
| 71 | #define AV_CH_SURROUND_DIRECT_LEFT 0x0000000200000000ULL | 71 | #define AV_CH_SURROUND_DIRECT_LEFT 0x0000000200000000ULL |
| 72 | #define AV_CH_SURROUND_DIRECT_RIGHT 0x0000000400000000ULL | 72 | #define AV_CH_SURROUND_DIRECT_RIGHT 0x0000000400000000ULL |
| 73 | #define AV_CH_LOW_FREQUENCY_2 0x0000000800000000ULL | 73 | #define AV_CH_LOW_FREQUENCY_2 0x0000000800000000ULL |
| 74 | #define AV_CH_TOP_SIDE_LEFT 0x0000001000000000ULL | ||
| 75 | #define AV_CH_TOP_SIDE_RIGHT 0x0000002000000000ULL | ||
| 76 | #define AV_CH_BOTTOM_FRONT_CENTER 0x0000004000000000ULL | ||
| 77 | #define AV_CH_BOTTOM_FRONT_LEFT 0x0000008000000000ULL | ||
| 78 | #define AV_CH_BOTTOM_FRONT_RIGHT 0x0000010000000000ULL | ||
| 74 | 79 | ||
| 75 | /** Channel mask value used for AVCodecContext.request_channel_layout | 80 | /** Channel mask value used for AVCodecContext.request_channel_layout |
| 76 | to indicate that the user requests the channel order of the decoder output | 81 | to indicate that the user requests the channel order of the decoder output |
| @@ -110,6 +115,7 @@ · 33 unmodified lines | |||
| 110 | #define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT) | 115 | #define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT) |
| 111 | #define AV_CH_LAYOUT_HEXADECAGONAL (AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT) | 116 | #define AV_CH_LAYOUT_HEXADECAGONAL (AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT) |
| 112 | #define AV_CH_LAYOUT_STEREO_DOWNMIX (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT) | 117 | #define AV_CH_LAYOUT_STEREO_DOWNMIX (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT) |
| 118 | #define AV_CH_LAYOUT_22POINT2 (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER|AV_CH_BACK_CENTER|AV_CH_LOW_FREQUENCY_2|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_CENTER|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_SIDE_LEFT|AV_CH_TOP_SIDE_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_BOTTOM_FRONT_CENTER|AV_CH_BOTTOM_FRONT_LEFT|AV_CH_BOTTOM_FRONT_RIGHT) | ||
| 113 | 119 | ||
| 114 | enum AVMatrixEncoding { | 120 | enum AVMatrixEncoding { |
| 115 | AV_MATRIX_ENCODING_NONE, | 121 | AV_MATRIX_ENCODING_NONE, |
| @@ -79,7 +79,7 @@ · 78 unmodified lines | |||
| 79 | */ | 79 | */ |
| 80 | 80 | ||
| 81 | #define LIBAVUTIL_VERSION_MAJOR 56 | 81 | #define LIBAVUTIL_VERSION_MAJOR 56 |
| 82 | #define LIBAVUTIL_VERSION_MINOR 57 | 82 | #define LIBAVUTIL_VERSION_MINOR 58 |
| 83 | #define LIBAVUTIL_VERSION_MICRO 100 | 83 | #define LIBAVUTIL_VERSION_MICRO 100 |
| 84 | 84 | ||
| 85 | #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | 85 | #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ |