OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/remoting/proto_enum_utils.h" | 5 #include "media/remoting/proto_enum_utils.h" |
6 | 6 |
7 namespace media { | 7 namespace media { |
8 namespace remoting { | 8 namespace remoting { |
9 | 9 |
10 #define CASE_RETURN_OTHER(x) \ | 10 #define CASE_RETURN_OTHER(x) \ |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 switch (value) { | 216 switch (value) { |
217 CASE_RETURN_OTHER(kUnknownVideoCodec); | 217 CASE_RETURN_OTHER(kUnknownVideoCodec); |
218 CASE_RETURN_OTHER(kCodecH264); | 218 CASE_RETURN_OTHER(kCodecH264); |
219 CASE_RETURN_OTHER(kCodecVC1); | 219 CASE_RETURN_OTHER(kCodecVC1); |
220 CASE_RETURN_OTHER(kCodecMPEG2); | 220 CASE_RETURN_OTHER(kCodecMPEG2); |
221 CASE_RETURN_OTHER(kCodecMPEG4); | 221 CASE_RETURN_OTHER(kCodecMPEG4); |
222 CASE_RETURN_OTHER(kCodecTheora); | 222 CASE_RETURN_OTHER(kCodecTheora); |
223 CASE_RETURN_OTHER(kCodecVP8); | 223 CASE_RETURN_OTHER(kCodecVP8); |
224 CASE_RETURN_OTHER(kCodecVP9); | 224 CASE_RETURN_OTHER(kCodecVP9); |
225 CASE_RETURN_OTHER(kCodecHEVC); | 225 CASE_RETURN_OTHER(kCodecHEVC); |
| 226 CASE_RETURN_OTHER(kCodecDolbyVision); |
226 } | 227 } |
227 return base::nullopt; // Not a 'default' to ensure compile-time checks. | 228 return base::nullopt; // Not a 'default' to ensure compile-time checks. |
228 } | 229 } |
229 | 230 |
230 base::Optional<pb::VideoDecoderConfig::Codec> ToProtoVideoDecoderConfigCodec( | 231 base::Optional<pb::VideoDecoderConfig::Codec> ToProtoVideoDecoderConfigCodec( |
231 VideoCodec value) { | 232 VideoCodec value) { |
232 using OriginType = VideoCodec; | 233 using OriginType = VideoCodec; |
233 using OtherType = pb::VideoDecoderConfig; | 234 using OtherType = pb::VideoDecoderConfig; |
234 switch (value) { | 235 switch (value) { |
235 CASE_RETURN_OTHER(kUnknownVideoCodec); | 236 CASE_RETURN_OTHER(kUnknownVideoCodec); |
236 CASE_RETURN_OTHER(kCodecH264); | 237 CASE_RETURN_OTHER(kCodecH264); |
237 CASE_RETURN_OTHER(kCodecVC1); | 238 CASE_RETURN_OTHER(kCodecVC1); |
238 CASE_RETURN_OTHER(kCodecMPEG2); | 239 CASE_RETURN_OTHER(kCodecMPEG2); |
239 CASE_RETURN_OTHER(kCodecMPEG4); | 240 CASE_RETURN_OTHER(kCodecMPEG4); |
240 CASE_RETURN_OTHER(kCodecTheora); | 241 CASE_RETURN_OTHER(kCodecTheora); |
241 CASE_RETURN_OTHER(kCodecVP8); | 242 CASE_RETURN_OTHER(kCodecVP8); |
242 CASE_RETURN_OTHER(kCodecVP9); | 243 CASE_RETURN_OTHER(kCodecVP9); |
243 CASE_RETURN_OTHER(kCodecHEVC); | 244 CASE_RETURN_OTHER(kCodecHEVC); |
| 245 CASE_RETURN_OTHER(kCodecDolbyVision); |
244 } | 246 } |
245 return base::nullopt; // Not a 'default' to ensure compile-time checks. | 247 return base::nullopt; // Not a 'default' to ensure compile-time checks. |
246 } | 248 } |
247 | 249 |
248 base::Optional<VideoCodecProfile> ToMediaVideoCodecProfile( | 250 base::Optional<VideoCodecProfile> ToMediaVideoCodecProfile( |
249 pb::VideoDecoderConfig::Profile value) { | 251 pb::VideoDecoderConfig::Profile value) { |
250 using OriginType = pb::VideoDecoderConfig; | 252 using OriginType = pb::VideoDecoderConfig; |
251 using OtherType = VideoCodecProfile; | 253 using OtherType = VideoCodecProfile; |
252 switch (value) { | 254 switch (value) { |
253 CASE_RETURN_OTHER(VIDEO_CODEC_PROFILE_UNKNOWN); | 255 CASE_RETURN_OTHER(VIDEO_CODEC_PROFILE_UNKNOWN); |
254 CASE_RETURN_OTHER(H264PROFILE_BASELINE); | 256 CASE_RETURN_OTHER(H264PROFILE_BASELINE); |
255 CASE_RETURN_OTHER(H264PROFILE_MAIN); | 257 CASE_RETURN_OTHER(H264PROFILE_MAIN); |
256 CASE_RETURN_OTHER(H264PROFILE_EXTENDED); | 258 CASE_RETURN_OTHER(H264PROFILE_EXTENDED); |
257 CASE_RETURN_OTHER(H264PROFILE_HIGH); | 259 CASE_RETURN_OTHER(H264PROFILE_HIGH); |
258 CASE_RETURN_OTHER(H264PROFILE_HIGH10PROFILE); | 260 CASE_RETURN_OTHER(H264PROFILE_HIGH10PROFILE); |
259 CASE_RETURN_OTHER(H264PROFILE_HIGH422PROFILE); | 261 CASE_RETURN_OTHER(H264PROFILE_HIGH422PROFILE); |
260 CASE_RETURN_OTHER(H264PROFILE_HIGH444PREDICTIVEPROFILE); | 262 CASE_RETURN_OTHER(H264PROFILE_HIGH444PREDICTIVEPROFILE); |
261 CASE_RETURN_OTHER(H264PROFILE_SCALABLEBASELINE); | 263 CASE_RETURN_OTHER(H264PROFILE_SCALABLEBASELINE); |
262 CASE_RETURN_OTHER(H264PROFILE_SCALABLEHIGH); | 264 CASE_RETURN_OTHER(H264PROFILE_SCALABLEHIGH); |
263 CASE_RETURN_OTHER(H264PROFILE_STEREOHIGH); | 265 CASE_RETURN_OTHER(H264PROFILE_STEREOHIGH); |
264 CASE_RETURN_OTHER(H264PROFILE_MULTIVIEWHIGH); | 266 CASE_RETURN_OTHER(H264PROFILE_MULTIVIEWHIGH); |
265 CASE_RETURN_OTHER(VP8PROFILE_ANY); | 267 CASE_RETURN_OTHER(VP8PROFILE_ANY); |
266 CASE_RETURN_OTHER(VP9PROFILE_PROFILE0); | 268 CASE_RETURN_OTHER(VP9PROFILE_PROFILE0); |
267 CASE_RETURN_OTHER(VP9PROFILE_PROFILE1); | 269 CASE_RETURN_OTHER(VP9PROFILE_PROFILE1); |
268 CASE_RETURN_OTHER(VP9PROFILE_PROFILE2); | 270 CASE_RETURN_OTHER(VP9PROFILE_PROFILE2); |
269 CASE_RETURN_OTHER(VP9PROFILE_PROFILE3); | 271 CASE_RETURN_OTHER(VP9PROFILE_PROFILE3); |
270 CASE_RETURN_OTHER(HEVCPROFILE_MAIN); | 272 CASE_RETURN_OTHER(HEVCPROFILE_MAIN); |
271 CASE_RETURN_OTHER(HEVCPROFILE_MAIN10); | 273 CASE_RETURN_OTHER(HEVCPROFILE_MAIN10); |
272 CASE_RETURN_OTHER(HEVCPROFILE_MAIN_STILL_PICTURE); | 274 CASE_RETURN_OTHER(HEVCPROFILE_MAIN_STILL_PICTURE); |
| 275 CASE_RETURN_OTHER(DOLBYVISION_PROFILE0); |
| 276 CASE_RETURN_OTHER(DOLBYVISION_PROFILE4); |
| 277 CASE_RETURN_OTHER(DOLBYVISION_PROFILE5); |
| 278 CASE_RETURN_OTHER(DOLBYVISION_PROFILE7); |
273 } | 279 } |
274 return base::nullopt; // Not a 'default' to ensure compile-time checks. | 280 return base::nullopt; // Not a 'default' to ensure compile-time checks. |
275 } | 281 } |
276 | 282 |
277 base::Optional<pb::VideoDecoderConfig::Profile> | 283 base::Optional<pb::VideoDecoderConfig::Profile> |
278 ToProtoVideoDecoderConfigProfile(VideoCodecProfile value) { | 284 ToProtoVideoDecoderConfigProfile(VideoCodecProfile value) { |
279 using OriginType = VideoCodecProfile; | 285 using OriginType = VideoCodecProfile; |
280 using OtherType = pb::VideoDecoderConfig; | 286 using OtherType = pb::VideoDecoderConfig; |
281 switch (value) { | 287 switch (value) { |
282 CASE_RETURN_OTHER(VIDEO_CODEC_PROFILE_UNKNOWN); | 288 CASE_RETURN_OTHER(VIDEO_CODEC_PROFILE_UNKNOWN); |
283 CASE_RETURN_OTHER(H264PROFILE_BASELINE); | 289 CASE_RETURN_OTHER(H264PROFILE_BASELINE); |
284 CASE_RETURN_OTHER(H264PROFILE_MAIN); | 290 CASE_RETURN_OTHER(H264PROFILE_MAIN); |
285 CASE_RETURN_OTHER(H264PROFILE_EXTENDED); | 291 CASE_RETURN_OTHER(H264PROFILE_EXTENDED); |
286 CASE_RETURN_OTHER(H264PROFILE_HIGH); | 292 CASE_RETURN_OTHER(H264PROFILE_HIGH); |
287 CASE_RETURN_OTHER(H264PROFILE_HIGH10PROFILE); | 293 CASE_RETURN_OTHER(H264PROFILE_HIGH10PROFILE); |
288 CASE_RETURN_OTHER(H264PROFILE_HIGH422PROFILE); | 294 CASE_RETURN_OTHER(H264PROFILE_HIGH422PROFILE); |
289 CASE_RETURN_OTHER(H264PROFILE_HIGH444PREDICTIVEPROFILE); | 295 CASE_RETURN_OTHER(H264PROFILE_HIGH444PREDICTIVEPROFILE); |
290 CASE_RETURN_OTHER(H264PROFILE_SCALABLEBASELINE); | 296 CASE_RETURN_OTHER(H264PROFILE_SCALABLEBASELINE); |
291 CASE_RETURN_OTHER(H264PROFILE_SCALABLEHIGH); | 297 CASE_RETURN_OTHER(H264PROFILE_SCALABLEHIGH); |
292 CASE_RETURN_OTHER(H264PROFILE_STEREOHIGH); | 298 CASE_RETURN_OTHER(H264PROFILE_STEREOHIGH); |
293 CASE_RETURN_OTHER(H264PROFILE_MULTIVIEWHIGH); | 299 CASE_RETURN_OTHER(H264PROFILE_MULTIVIEWHIGH); |
294 CASE_RETURN_OTHER(VP8PROFILE_ANY); | 300 CASE_RETURN_OTHER(VP8PROFILE_ANY); |
295 CASE_RETURN_OTHER(VP9PROFILE_PROFILE0); | 301 CASE_RETURN_OTHER(VP9PROFILE_PROFILE0); |
296 CASE_RETURN_OTHER(VP9PROFILE_PROFILE1); | 302 CASE_RETURN_OTHER(VP9PROFILE_PROFILE1); |
297 CASE_RETURN_OTHER(VP9PROFILE_PROFILE2); | 303 CASE_RETURN_OTHER(VP9PROFILE_PROFILE2); |
298 CASE_RETURN_OTHER(VP9PROFILE_PROFILE3); | 304 CASE_RETURN_OTHER(VP9PROFILE_PROFILE3); |
299 CASE_RETURN_OTHER(HEVCPROFILE_MAIN); | 305 CASE_RETURN_OTHER(HEVCPROFILE_MAIN); |
300 CASE_RETURN_OTHER(HEVCPROFILE_MAIN10); | 306 CASE_RETURN_OTHER(HEVCPROFILE_MAIN10); |
301 CASE_RETURN_OTHER(HEVCPROFILE_MAIN_STILL_PICTURE); | 307 CASE_RETURN_OTHER(HEVCPROFILE_MAIN_STILL_PICTURE); |
| 308 CASE_RETURN_OTHER(DOLBYVISION_PROFILE0); |
| 309 CASE_RETURN_OTHER(DOLBYVISION_PROFILE4); |
| 310 CASE_RETURN_OTHER(DOLBYVISION_PROFILE5); |
| 311 CASE_RETURN_OTHER(DOLBYVISION_PROFILE7); |
302 } | 312 } |
303 return base::nullopt; // Not a 'default' to ensure compile-time checks. | 313 return base::nullopt; // Not a 'default' to ensure compile-time checks. |
304 } | 314 } |
305 | 315 |
306 base::Optional<VideoPixelFormat> ToMediaVideoPixelFormat( | 316 base::Optional<VideoPixelFormat> ToMediaVideoPixelFormat( |
307 pb::VideoDecoderConfig::Format value) { | 317 pb::VideoDecoderConfig::Format value) { |
308 using OriginType = pb::VideoDecoderConfig; | 318 using OriginType = pb::VideoDecoderConfig; |
309 using OtherType = VideoPixelFormat; | 319 using OtherType = VideoPixelFormat; |
310 switch (value) { | 320 switch (value) { |
311 CASE_RETURN_OTHER(PIXEL_FORMAT_UNKNOWN); | 321 CASE_RETURN_OTHER(PIXEL_FORMAT_UNKNOWN); |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
580 switch (value) { | 590 switch (value) { |
581 CASE_RETURN_OTHER(kOk); | 591 CASE_RETURN_OTHER(kOk); |
582 CASE_RETURN_OTHER(kAborted); | 592 CASE_RETURN_OTHER(kAborted); |
583 CASE_RETURN_OTHER(kConfigChanged); | 593 CASE_RETURN_OTHER(kConfigChanged); |
584 } | 594 } |
585 return base::nullopt; // Not a 'default' to ensure compile-time checks. | 595 return base::nullopt; // Not a 'default' to ensure compile-time checks. |
586 } | 596 } |
587 | 597 |
588 } // namespace remoting | 598 } // namespace remoting |
589 } // namespace media | 599 } // namespace media |
OLD | NEW |