2 * Copyright (c) 2017 Intel Corporation. All Rights Reserved.
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the
6 * "Software"), to deal in the Software without restriction, including
7 * without limitation the rights to use, copy, modify, merge, publish,
8 * distribute, sub license, and/or sell copies of the Software, and to
9 * permit persons to whom the Software is furnished to do so, subject to
10 * the following conditions:
12 * The above copyright notice and this permission notice (including the
13 * next paragraph) shall be included in all copies or substantial portions
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
19 * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
20 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 #define TOSTR(enumCase) case enumCase: return #enumCase
29 const char *vaProfileStr(VAProfile profile)
33 TOSTR(VAProfileMPEG2Simple);
34 TOSTR(VAProfileMPEG2Main);
35 TOSTR(VAProfileMPEG4Simple);
36 TOSTR(VAProfileMPEG4AdvancedSimple);
37 TOSTR(VAProfileMPEG4Main);
38 TOSTR(VAProfileH264Main);
39 TOSTR(VAProfileH264High);
40 TOSTR(VAProfileVC1Simple);
41 TOSTR(VAProfileVC1Main);
42 TOSTR(VAProfileVC1Advanced);
43 TOSTR(VAProfileH263Baseline);
44 TOSTR(VAProfileH264ConstrainedBaseline);
45 TOSTR(VAProfileJPEGBaseline);
46 TOSTR(VAProfileVP8Version0_3);
47 TOSTR(VAProfileH264MultiviewHigh);
48 TOSTR(VAProfileH264StereoHigh);
49 TOSTR(VAProfileHEVCMain);
50 TOSTR(VAProfileHEVCMain10);
51 TOSTR(VAProfileVP9Profile0);
52 TOSTR(VAProfileVP9Profile1);
53 TOSTR(VAProfileVP9Profile2);
54 TOSTR(VAProfileVP9Profile3);
57 return "<unknown profile>";
61 const char *vaEntrypointStr(VAEntrypoint entrypoint)
64 TOSTR(VAEntrypointVLD);
65 TOSTR(VAEntrypointIZZ);
66 TOSTR(VAEntrypointIDCT);
67 TOSTR(VAEntrypointMoComp);
68 TOSTR(VAEntrypointDeblocking);
69 TOSTR(VAEntrypointEncSlice);
70 TOSTR(VAEntrypointEncPicture);
71 TOSTR(VAEntrypointEncSliceLP);
72 TOSTR(VAEntrypointVideoProc);
73 TOSTR(VAEntrypointFEI);
74 TOSTR(VAEntrypointStats);
76 return "<unknown entrypoint>";
79 const char *vaConfigAttribTypeStr(VAConfigAttribType configAttribType)
81 switch (configAttribType) {
82 TOSTR(VAConfigAttribRTFormat);
83 TOSTR(VAConfigAttribSpatialResidual);
84 TOSTR(VAConfigAttribSpatialClipping);
85 TOSTR(VAConfigAttribIntraResidual);
86 TOSTR(VAConfigAttribEncryption);
87 TOSTR(VAConfigAttribRateControl);
88 TOSTR(VAConfigAttribDecSliceMode);
89 TOSTR(VAConfigAttribEncPackedHeaders);
90 TOSTR(VAConfigAttribEncInterlaced);
91 TOSTR(VAConfigAttribEncMaxRefFrames);
92 TOSTR(VAConfigAttribEncMaxSlices);
93 TOSTR(VAConfigAttribEncSliceStructure);
94 TOSTR(VAConfigAttribEncMacroblockInfo);
95 TOSTR(VAConfigAttribEncJPEG);
96 TOSTR(VAConfigAttribEncQualityRange);
97 TOSTR(VAConfigAttribEncSkipFrame);
98 TOSTR(VAConfigAttribEncROI);
99 TOSTR(VAConfigAttribEncRateControlExt);
100 TOSTR(VAConfigAttribFEIFunctionType);
101 TOSTR(VAConfigAttribFEIMVPredictors);
102 TOSTR(VAConfigAttribDecJPEG);
103 TOSTR(VAConfigAttribMaxPictureWidth);
104 TOSTR(VAConfigAttribMaxPictureHeight);
105 TOSTR(VAConfigAttribEncQuantization);
106 TOSTR(VAConfigAttribEncIntraRefresh);
107 TOSTR(VAConfigAttribProcessingRate);
108 TOSTR(VAConfigAttribEncDirtyRect);
109 TOSTR(VAConfigAttribEncParallelRateControl);
110 TOSTR(VAConfigAttribEncDynamicScaling);
111 TOSTR(VAConfigAttribDecProcessing);
112 TOSTR(VAConfigAttribFrameSizeToleranceSupport);
113 TOSTR(VAConfigAttribEncTileSupport);
114 TOSTR(VAConfigAttribCustomRoundingControl);
115 TOSTR(VAConfigAttribQPBlockSize);
116 TOSTR(VAConfigAttribStats);
117 case VAConfigAttribTypeMax: break;
119 return "<unknown config attribute type>";
122 const char *vaBufferTypeStr(VABufferType bufferType)
124 switch (bufferType) {
125 TOSTR(VAPictureParameterBufferType);
126 TOSTR(VAIQMatrixBufferType);
127 TOSTR(VABitPlaneBufferType);
128 TOSTR(VASliceGroupMapBufferType);
129 TOSTR(VASliceParameterBufferType);
130 TOSTR(VASliceDataBufferType);
131 TOSTR(VAMacroblockParameterBufferType);
132 TOSTR(VAResidualDataBufferType);
133 TOSTR(VADeblockingParameterBufferType);
134 TOSTR(VAImageBufferType);
135 TOSTR(VAProtectedSliceDataBufferType);
136 TOSTR(VAQMatrixBufferType);
137 TOSTR(VAHuffmanTableBufferType);
138 TOSTR(VAProbabilityBufferType);
139 TOSTR(VAEncCodedBufferType);
140 TOSTR(VAEncSequenceParameterBufferType);
141 TOSTR(VAEncPictureParameterBufferType);
142 TOSTR(VAEncSliceParameterBufferType);
143 TOSTR(VAEncPackedHeaderParameterBufferType);
144 TOSTR(VAEncPackedHeaderDataBufferType);
145 TOSTR(VAEncMiscParameterBufferType);
146 TOSTR(VAEncMacroblockParameterBufferType);
147 TOSTR(VAEncMacroblockMapBufferType);
148 TOSTR(VAProcPipelineParameterBufferType);
149 TOSTR(VAProcFilterParameterBufferType);
150 TOSTR(VAEncQPBufferType);
151 TOSTR(VAEncFEIMVBufferType);
152 TOSTR(VAEncFEIMBCodeBufferType);
153 TOSTR(VAEncFEIDistortionBufferType);
154 TOSTR(VAEncFEIMBControlBufferType);
155 TOSTR(VAEncFEIMVPredictorBufferType);
156 TOSTR(VAEncMacroblockDisableSkipMapBufferType);
157 TOSTR(VADecodeStreamoutBufferType);
158 TOSTR(VAStatsStatisticsParameterBufferType);
159 TOSTR(VAStatsStatisticsBufferType);
160 TOSTR(VAStatsStatisticsBottomFieldBufferType);
161 TOSTR(VAStatsMVBufferType);
162 TOSTR(VAStatsMVPredictorBufferType);
163 TOSTR(VAEncFEICTBCmdBufferType);
164 TOSTR(VAEncFEICURecordBufferType);
165 case VABufferTypeMax: break;
167 return "<unknown buffer type>";