History

avutil/channel_layout: add 22.2 layout

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

Jan Ekström committed 6 years ago

Commit 34de0ab1 parent 4ad86844 files · +18 −1Browse files

Unified · Split

4 files
  1. doc/APIchanges +5 −0
  2. libavutil/channel_layout.c +6 −0
  3. libavutil/channel_layout.h +6 −0
  4. libavutil/version.h +1 −1
doc/APIchanges+5−0
@@ -15,6 +15,11 @@ libavutil: 2017-10-21 · 14 unmodified lines
15 15
16API changes, most recent first:16API changes, most recent first:
17 17
182020-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
182020-07-xx - xxxxxxxxxx - lavu 56.57.100 - cpu.h232020-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
libavutil/channel_layout.c+6−0
@@ -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
67static const char *get_channel_name(int channel_id)72static 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
109static uint64_t get_channel_layout_single(const char *name, int name_len)115static uint64_t get_channel_layout_single(const char *name, int name_len)
libavutil/channel_layout.h+6−0
@@ -71,6 +71,11 @@ · 70 unmodified lines
71#define AV_CH_SURROUND_DIRECT_LEFT 0x0000000200000000ULL71#define AV_CH_SURROUND_DIRECT_LEFT 0x0000000200000000ULL
72#define AV_CH_SURROUND_DIRECT_RIGHT 0x0000000400000000ULL72#define AV_CH_SURROUND_DIRECT_RIGHT 0x0000000400000000ULL
73#define AV_CH_LOW_FREQUENCY_2 0x0000000800000000ULL73#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_layout80/** Channel mask value used for AVCodecContext.request_channel_layout
76 to indicate that the user requests the channel order of the decoder output81 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
114enum AVMatrixEncoding {120enum AVMatrixEncoding {
115 AV_MATRIX_ENCODING_NONE,121 AV_MATRIX_ENCODING_NONE,
libavutil/version.h+1−1
@@ -79,7 +79,7 @@ · 78 unmodified lines
79 */79 */
80 80
81#define LIBAVUTIL_VERSION_MAJOR 5681#define LIBAVUTIL_VERSION_MAJOR 56
82#define LIBAVUTIL_VERSION_MINOR 5782#define LIBAVUTIL_VERSION_MINOR 58
83#define LIBAVUTIL_VERSION_MICRO 10083#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, \

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t