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_MAIN: 34 return "h264 main"; 35 case C2Config::PROFILE_AVC_EXTENDED: 36 return "h264 extended"; 37 case C2Config::PROFILE_AVC_HIGH: 38 return "h264 high"; 39 case C2Config::PROFILE_AVC_HIGH_10: 40 return "h264 high 10"; 41 case C2Config::PROFILE_AVC_HIGH_422: 42 return "h264 high 4:2:2"; 43 case C2Config::PROFILE_AVC_HIGH_444_PREDICTIVE: 44 return "h264 high 4:4:4 predictive"; 45 case C2Config::PROFILE_AVC_SCALABLE_BASELINE: 46 return "h264 scalable baseline"; 47 case C2Config::PROFILE_AVC_SCALABLE_HIGH: 48 return "h264 scalable high"; 49 case C2Config::PROFILE_AVC_STEREO_HIGH: 50 return "h264 stereo high"; 51 case C2Config::PROFILE_AVC_MULTIVIEW_HIGH: 52 return "h264 multiview high"; 53 case C2Config::PROFILE_HEVC_MAIN: 54 return "hevc main"; 55 case C2Config::PROFILE_HEVC_MAIN_10: 56 return "hevc main 10"; 57 case C2Config::PROFILE_HEVC_MAIN_STILL: 58 return "hevc main still-picture"; 59 case C2Config::PROFILE_VP8_0: 60 return "vp8 profile0"; 61 case C2Config::PROFILE_VP8_1: 62 return "vp8 profile1"; 63 case C2Config::PROFILE_VP8_2: 64 return "vp8 profile2"; 65 case C2Config::PROFILE_VP8_3: 66 return "vp8 profile3"; 67 case C2Config::PROFILE_VP9_0: 68 return "vp9 profile0"; 69 case C2Config::PROFILE_VP9_1: 70 return "vp9 profile1"; 71 case C2Config::PROFILE_VP9_2: 72 return "vp9 profile2"; 73 case C2Config::PROFILE_VP9_3: 74 return "vp9 profile3"; 75 case C2Config::PROFILE_AV1_0: 76 return "av1 profile 0"; 77 case C2Config::PROFILE_AV1_1: 78 return "av1 profile 1"; 79 case C2Config::PROFILE_AV1_2: 80 return "av1 profile 2"; 81 default: 82 return "unknown"; 83 } 84 } 85 HalPixelFormatToString(HalPixelFormat format)86const char* HalPixelFormatToString(HalPixelFormat format) { 87 switch (format) { 88 case HalPixelFormat::UNKNOWN: 89 return "Unknown"; 90 case HalPixelFormat::YCBCR_420_888: 91 return "YCBCR_420_888"; 92 case HalPixelFormat::YV12: 93 return "YV12"; 94 case HalPixelFormat::NV12: 95 return "NV12"; 96 } 97 } 98 99 } // namespace android 100