1 // Copyright 2020 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 //#define LOG_NDEBUG 0 6 #define LOG_TAG "VideoTypes" 7 8 #include <v4l2_codec2/common/VideoTypes.h> 9 10 #include <log/log.h> 11 12 namespace android { 13 VideoCodecToString(VideoCodec codec)14const char* VideoCodecToString(VideoCodec codec) { 15 switch (codec) { 16 case VideoCodec::H264: 17 return "H264"; 18 case VideoCodec::VP8: 19 return "VP8"; 20 case VideoCodec::VP9: 21 return "VP9"; 22 case VideoCodec::HEVC: 23 return "HEVC"; 24 } 25 } 26 profileToString(C2Config::profile_t profile)27const char* profileToString(C2Config::profile_t profile) { 28 switch (profile) { 29 case C2Config::PROFILE_UNUSED: 30 return "unused"; 31 case C2Config::PROFILE_AVC_BASELINE: 32 return "h264 baseline"; 33 case C2Config::PROFILE_AVC_CONSTRAINED_BASELINE: 34 return "h264 constrained baseline"; 35 case C2Config::PROFILE_AVC_MAIN: 36 return "h264 main"; 37 case C2Config::PROFILE_AVC_EXTENDED: 38 return "h264 extended"; 39 case C2Config::PROFILE_AVC_HIGH: 40 return "h264 high"; 41 case C2Config::PROFILE_AVC_HIGH_10: 42 return "h264 high 10"; 43 case C2Config::PROFILE_AVC_HIGH_422: 44 return "h264 high 4:2:2"; 45 case C2Config::PROFILE_AVC_HIGH_444_PREDICTIVE: 46 return "h264 high 4:4:4 predictive"; 47 case C2Config::PROFILE_AVC_SCALABLE_BASELINE: 48 return "h264 scalable baseline"; 49 case C2Config::PROFILE_AVC_SCALABLE_HIGH: 50 return "h264 scalable high"; 51 case C2Config::PROFILE_AVC_STEREO_HIGH: 52 return "h264 stereo high"; 53 case C2Config::PROFILE_AVC_MULTIVIEW_HIGH: 54 return "h264 multiview high"; 55 case C2Config::PROFILE_HEVC_MAIN: 56 return "hevc main"; 57 case C2Config::PROFILE_HEVC_MAIN_10: 58 return "hevc main 10"; 59 case C2Config::PROFILE_HEVC_MAIN_STILL: 60 return "hevc main still-picture"; 61 case C2Config::PROFILE_VP8_0: 62 return "vp8 profile0"; 63 case C2Config::PROFILE_VP8_1: 64 return "vp8 profile1"; 65 case C2Config::PROFILE_VP8_2: 66 return "vp8 profile2"; 67 case C2Config::PROFILE_VP8_3: 68 return "vp8 profile3"; 69 case C2Config::PROFILE_VP9_0: 70 return "vp9 profile0"; 71 case C2Config::PROFILE_VP9_1: 72 return "vp9 profile1"; 73 case C2Config::PROFILE_VP9_2: 74 return "vp9 profile2"; 75 case C2Config::PROFILE_VP9_3: 76 return "vp9 profile3"; 77 case C2Config::PROFILE_AV1_0: 78 return "av1 profile 0"; 79 case C2Config::PROFILE_AV1_1: 80 return "av1 profile 1"; 81 case C2Config::PROFILE_AV1_2: 82 return "av1 profile 2"; 83 default: 84 return "unknown"; 85 } 86 } 87 HalPixelFormatToString(HalPixelFormat format)88const char* HalPixelFormatToString(HalPixelFormat format) { 89 switch (format) { 90 case HalPixelFormat::UNKNOWN: 91 return "Unknown"; 92 case HalPixelFormat::YCBCR_420_888: 93 return "YCBCR_420_888"; 94 case HalPixelFormat::YV12: 95 return "YV12"; 96 case HalPixelFormat::NV12: 97 return "NV12"; 98 } 99 } 100 101 } // namespace android 102