• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)14 const 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)27 const 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)86 const 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