| 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 |