Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(374)

Side by Side Diff: media/base/channel_layout.cc

Issue 148553003: Clean up histogram'd media enum max values. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: adjust comment Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/base/channel_layout.h" 5 #include "media/base/channel_layout.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 9
10 namespace media { 10 namespace media {
(...skipping 30 matching lines...) Expand all
41 8, // CHANNEL_LAYOUT_OCTAGONAL 41 8, // CHANNEL_LAYOUT_OCTAGONAL
42 0, // CHANNEL_LAYOUT_DISCRETE 42 0, // CHANNEL_LAYOUT_DISCRETE
43 }; 43 };
44 44
45 // The channel orderings for each layout as specified by FFmpeg. Each value 45 // The channel orderings for each layout as specified by FFmpeg. Each value
46 // represents the index of each channel in each layout. Values of -1 mean the 46 // represents the index of each channel in each layout. Values of -1 mean the
47 // channel at that index is not used for that layout.For example, the left side 47 // channel at that index is not used for that layout.For example, the left side
48 // surround sound channel in FFmpeg's 5.1 layout is in the 5th position (because 48 // surround sound channel in FFmpeg's 5.1 layout is in the 5th position (because
49 // the order is L, R, C, LFE, LS, RS), so 49 // the order is L, R, C, LFE, LS, RS), so
50 // kChannelOrderings[CHANNEL_LAYOUT_5POINT1][SIDE_LEFT] = 4; 50 // kChannelOrderings[CHANNEL_LAYOUT_5POINT1][SIDE_LEFT] = 4;
51 static const int kChannelOrderings[CHANNEL_LAYOUT_MAX][CHANNELS_MAX] = { 51 static const int
52 // FL | FR | FC | LFE | BL | BR | FLofC | FRofC | BC | SL | SR 52 kChannelOrderings[CHANNEL_LAYOUT_HISTOGRAM_MAX][CHANNELS_HISTOGRAM_MAX] = {
53 // FL | FR | FC | LFE | BL | BR | FLofC | FRofC | BC | SL | SR
53 54
54 // CHANNEL_LAYOUT_NONE 55 // CHANNEL_LAYOUT_NONE
55 { -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 }, 56 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
scherkus (not reviewing) 2014/01/27 22:37:31 FYI if dale was here he might be able to comment h
56 57
57 // CHANNEL_LAYOUT_UNSUPPORTED 58 // CHANNEL_LAYOUT_UNSUPPORTED
58 { -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 }, 59 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
59 60
60 // CHANNEL_LAYOUT_MONO 61 // CHANNEL_LAYOUT_MONO
61 { -1 , -1 , 0 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 }, 62 {-1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1},
62 63
63 // CHANNEL_LAYOUT_STEREO 64 // CHANNEL_LAYOUT_STEREO
64 { 0 , 1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 }, 65 {0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
65 66
66 // CHANNEL_LAYOUT_2_1 67 // CHANNEL_LAYOUT_2_1
67 { 0 , 1 , -1 , -1 , -1 , -1 , -1 , -1 , 2 , -1 , -1 }, 68 {0, 1, -1, -1, -1, -1, -1, -1, 2, -1, -1},
68 69
69 // CHANNEL_LAYOUT_SURROUND 70 // CHANNEL_LAYOUT_SURROUND
70 { 0 , 1 , 2 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 }, 71 {0, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1},
71 72
72 // CHANNEL_LAYOUT_4_0 73 // CHANNEL_LAYOUT_4_0
73 { 0 , 1 , 2 , -1 , -1 , -1 , -1 , -1 , 3 , -1 , -1 }, 74 {0, 1, 2, -1, -1, -1, -1, -1, 3, -1, -1},
74 75
75 // CHANNEL_LAYOUT_2_2 76 // CHANNEL_LAYOUT_2_2
76 { 0 , 1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , 2 , 3 }, 77 {0, 1, -1, -1, -1, -1, -1, -1, -1, 2, 3},
77 78
78 // CHANNEL_LAYOUT_QUAD 79 // CHANNEL_LAYOUT_QUAD
79 { 0 , 1 , -1 , -1 , 2 , 3 , -1 , -1 , -1 , -1 , -1 }, 80 {0, 1, -1, -1, 2, 3, -1, -1, -1, -1, -1},
80 81
81 // CHANNEL_LAYOUT_5_0 82 // CHANNEL_LAYOUT_5_0
82 { 0 , 1 , 2 , -1 , -1 , -1 , -1 , -1 , -1 , 3 , 4 }, 83 {0, 1, 2, -1, -1, -1, -1, -1, -1, 3, 4},
83 84
84 // CHANNEL_LAYOUT_5_1 85 // CHANNEL_LAYOUT_5_1
85 { 0 , 1 , 2 , 3 , -1 , -1 , -1 , -1 , -1 , 4 , 5 }, 86 {0, 1, 2, 3, -1, -1, -1, -1, -1, 4, 5},
86 87
87 // FL | FR | FC | LFE | BL | BR | FLofC | FRofC | BC | SL | SR 88 // FL | FR | FC | LFE | BL | BR | FLofC | FRofC | BC | SL | SR
88 89
89 // CHANNEL_LAYOUT_5_0_BACK 90 // CHANNEL_LAYOUT_5_0_BACK
90 { 0 , 1 , 2 , -1 , 3 , 4 , -1 , -1 , -1 , -1 , -1 }, 91 {0, 1, 2, -1, 3, 4, -1, -1, -1, -1, -1},
91 92
92 // CHANNEL_LAYOUT_5_1_BACK 93 // CHANNEL_LAYOUT_5_1_BACK
93 { 0 , 1 , 2 , 3 , 4 , 5 , -1 , -1 , -1 , -1 , -1 }, 94 {0, 1, 2, 3, 4, 5, -1, -1, -1, -1, -1},
94 95
95 // CHANNEL_LAYOUT_7_0 96 // CHANNEL_LAYOUT_7_0
96 { 0 , 1 , 2 , -1 , 5 , 6 , -1 , -1 , -1 , 3 , 4 }, 97 {0, 1, 2, -1, 5, 6, -1, -1, -1, 3, 4},
97 98
98 // CHANNEL_LAYOUT_7_1 99 // CHANNEL_LAYOUT_7_1
99 { 0 , 1 , 2 , 3 , 6 , 7 , -1 , -1 , -1 , 4 , 5 }, 100 {0, 1, 2, 3, 6, 7, -1, -1, -1, 4, 5},
100 101
101 // CHANNEL_LAYOUT_7_1_WIDE 102 // CHANNEL_LAYOUT_7_1_WIDE
102 { 0 , 1 , 2 , 3 , -1 , -1 , 6 , 7 , -1 , 4 , 5 }, 103 {0, 1, 2, 3, -1, -1, 6, 7, -1, 4, 5},
103 104
104 // CHANNEL_LAYOUT_STEREO_DOWNMIX 105 // CHANNEL_LAYOUT_STEREO_DOWNMIX
105 { 0 , 1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 }, 106 {0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
106 107
107 // CHANNEL_LAYOUT_2POINT1 108 // CHANNEL_LAYOUT_2POINT1
108 { 0 , 1 , -1 , 2 , -1 , -1 , -1 , -1 , -1 , -1 , -1 }, 109 {0, 1, -1, 2, -1, -1, -1, -1, -1, -1, -1},
109 110
110 // CHANNEL_LAYOUT_3_1 111 // CHANNEL_LAYOUT_3_1
111 { 0 , 1 , 2 , 3 , -1 , -1 , -1 , -1 , -1 , -1 , -1 }, 112 {0, 1, 2, 3, -1, -1, -1, -1, -1, -1, -1},
112 113
113 // CHANNEL_LAYOUT_4_1 114 // CHANNEL_LAYOUT_4_1
114 { 0 , 1 , 2 , 4 , -1 , -1 , -1 , -1 , 3 , -1 , -1 }, 115 {0, 1, 2, 4, -1, -1, -1, -1, 3, -1, -1},
115 116
116 // CHANNEL_LAYOUT_6_0 117 // CHANNEL_LAYOUT_6_0
117 { 0 , 1 , 2 , -1 , -1 , -1 , -1 , -1 , 5 , 3 , 4 }, 118 {0, 1, 2, -1, -1, -1, -1, -1, 5, 3, 4},
118 119
119 // CHANNEL_LAYOUT_6_0_FRONT 120 // CHANNEL_LAYOUT_6_0_FRONT
120 { 0 , 1 , -1 , -1 , -1 , -1 , 4 , 5 , -1 , 2 , 3 }, 121 {0, 1, -1, -1, -1, -1, 4, 5, -1, 2, 3},
121 122
122 // FL | FR | FC | LFE | BL | BR | FLofC | FRofC | BC | SL | SR 123 // FL | FR | FC | LFE | BL | BR | FLofC | FRofC | BC | SL | SR
123 124
124 // CHANNEL_LAYOUT_HEXAGONAL 125 // CHANNEL_LAYOUT_HEXAGONAL
125 { 0 , 1 , 2 , -1 , 3 , 4 , -1 , -1 , 5 , -1 , -1 }, 126 {0, 1, 2, -1, 3, 4, -1, -1, 5, -1, -1},
126 127
127 // CHANNEL_LAYOUT_6_1 128 // CHANNEL_LAYOUT_6_1
128 { 0 , 1 , 2 , 3 , -1 , -1 , -1 , -1 , 6 , 4 , 5 }, 129 {0, 1, 2, 3, -1, -1, -1, -1, 6, 4, 5},
129 130
130 // CHANNEL_LAYOUT_6_1_BACK 131 // CHANNEL_LAYOUT_6_1_BACK
131 { 0 , 1 , 2 , 3 , 4 , 5 , -1 , -1 , 6 , -1 , -1 }, 132 {0, 1, 2, 3, 4, 5, -1, -1, 6, -1, -1},
132 133
133 // CHANNEL_LAYOUT_6_1_FRONT 134 // CHANNEL_LAYOUT_6_1_FRONT
134 { 0 , 1 , -1 , 6 , -1 , -1 , 4 , 5 , -1 , 2 , 3 }, 135 {0, 1, -1, 6, -1, -1, 4, 5, -1, 2, 3},
135 136
136 // CHANNEL_LAYOUT_7_0_FRONT 137 // CHANNEL_LAYOUT_7_0_FRONT
137 { 0 , 1 , 2 , -1 , -1 , -1 , 5 , 6 , -1 , 3 , 4 }, 138 {0, 1, 2, -1, -1, -1, 5, 6, -1, 3, 4},
138 139
139 // CHANNEL_LAYOUT_7_1_WIDE_BACK 140 // CHANNEL_LAYOUT_7_1_WIDE_BACK
140 { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , -1 , -1 , -1 }, 141 {0, 1, 2, 3, 4, 5, 6, 7, -1, -1, -1},
141 142
142 // CHANNEL_LAYOUT_OCTAGONAL 143 // CHANNEL_LAYOUT_OCTAGONAL
143 { 0 , 1 , 2 , -1 , 5 , 6 , -1 , -1 , 7 , 3 , 4 }, 144 {0, 1, 2, -1, 5, 6, -1, -1, 7, 3, 4},
144 145
145 // CHANNEL_LAYOUT_DISCRETE 146 // CHANNEL_LAYOUT_DISCRETE
146 { -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 }, 147 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
147 148
148 // FL | FR | FC | LFE | BL | BR | FLofC | FRofC | BC | SL | SR 149 // FL | FR | FC | LFE | BL | BR | FLofC | FRofC | BC | SL | SR
149 }; 150 };
150 151
151 int ChannelLayoutToChannelCount(ChannelLayout layout) { 152 int ChannelLayoutToChannelCount(ChannelLayout layout) {
152 DCHECK_LT(static_cast<size_t>(layout), arraysize(kLayoutToChannels)); 153 DCHECK_LT(static_cast<size_t>(layout), arraysize(kLayoutToChannels));
153 return kLayoutToChannels[layout]; 154 return kLayoutToChannels[layout];
154 } 155 }
155 156
156 // Converts a channel count into a channel layout. 157 // Converts a channel count into a channel layout.
157 ChannelLayout GuessChannelLayout(int channels) { 158 ChannelLayout GuessChannelLayout(int channels) {
158 switch (channels) { 159 switch (channels) {
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 case CHANNEL_LAYOUT_6_1_FRONT: 240 case CHANNEL_LAYOUT_6_1_FRONT:
240 return "6.1_FRONT"; 241 return "6.1_FRONT";
241 case CHANNEL_LAYOUT_7_0_FRONT: 242 case CHANNEL_LAYOUT_7_0_FRONT:
242 return "7.0_FRONT"; 243 return "7.0_FRONT";
243 case CHANNEL_LAYOUT_7_1_WIDE_BACK: 244 case CHANNEL_LAYOUT_7_1_WIDE_BACK:
244 return "7.1_WIDE_BACK"; 245 return "7.1_WIDE_BACK";
245 case CHANNEL_LAYOUT_OCTAGONAL: 246 case CHANNEL_LAYOUT_OCTAGONAL:
246 return "OCTAGONAL"; 247 return "OCTAGONAL";
247 case CHANNEL_LAYOUT_DISCRETE: 248 case CHANNEL_LAYOUT_DISCRETE:
248 return "DISCRETE"; 249 return "DISCRETE";
249 case CHANNEL_LAYOUT_MAX: 250 case CHANNEL_LAYOUT_HISTOGRAM_MAX:
250 break; 251 break;
251 } 252 }
252 NOTREACHED() << "Invalid channel layout provided: " << layout; 253 NOTREACHED() << "Invalid channel layout provided: " << layout;
253 return ""; 254 return "";
254 } 255 }
255 256
256 } // namespace media 257 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698