blob: a814a462ef67ad70b285abee1d293dcd99ac8a2d [file] [log] [blame]
/*
* Copyright (c) 2017 Intel Corporation. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sub license, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice (including the
* next paragraph) shall be included in all copies or substantial portions
* of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
* IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#include "va_str.h"
#define TOSTR(enumCase) case enumCase: return #enumCase
const char *vaProfileStr(VAProfile profile)
{
switch (profile) {
TOSTR(VAProfileNone);
TOSTR(VAProfileMPEG2Simple);
TOSTR(VAProfileMPEG2Main);
TOSTR(VAProfileMPEG4Simple);
TOSTR(VAProfileMPEG4AdvancedSimple);
TOSTR(VAProfileMPEG4Main);
TOSTR(VAProfileH264Main);
TOSTR(VAProfileH264High);
TOSTR(VAProfileVC1Simple);
TOSTR(VAProfileVC1Main);
TOSTR(VAProfileVC1Advanced);
TOSTR(VAProfileH263Baseline);
TOSTR(VAProfileH264ConstrainedBaseline);
TOSTR(VAProfileJPEGBaseline);
TOSTR(VAProfileVP8Version0_3);
TOSTR(VAProfileH264MultiviewHigh);
TOSTR(VAProfileH264StereoHigh);
TOSTR(VAProfileHEVCMain);
TOSTR(VAProfileHEVCMain10);
TOSTR(VAProfileVP9Profile0);
TOSTR(VAProfileVP9Profile1);
TOSTR(VAProfileVP9Profile2);
TOSTR(VAProfileVP9Profile3);
TOSTR(VAProfileHEVCMain12);
TOSTR(VAProfileHEVCMain422_10);
TOSTR(VAProfileHEVCMain422_12);
TOSTR(VAProfileHEVCMain444);
TOSTR(VAProfileHEVCMain444_10);
TOSTR(VAProfileHEVCMain444_12);
TOSTR(VAProfileHEVCSccMain);
TOSTR(VAProfileHEVCSccMain10);
TOSTR(VAProfileHEVCSccMain444);
TOSTR(VAProfileAV1Profile0);
TOSTR(VAProfileAV1Profile1);
TOSTR(VAProfileHEVCSccMain444_10);
TOSTR(VAProfileProtected);
default: break;
}
return "<unknown profile>";
}
const char *vaEntrypointStr(VAEntrypoint entrypoint)
{
switch (entrypoint) {
TOSTR(VAEntrypointVLD);
TOSTR(VAEntrypointIZZ);
TOSTR(VAEntrypointIDCT);
TOSTR(VAEntrypointMoComp);
TOSTR(VAEntrypointDeblocking);
TOSTR(VAEntrypointEncSlice);
TOSTR(VAEntrypointEncPicture);
TOSTR(VAEntrypointEncSliceLP);
TOSTR(VAEntrypointVideoProc);
TOSTR(VAEntrypointFEI);
TOSTR(VAEntrypointStats);
TOSTR(VAEntrypointProtectedTEEComm);
TOSTR(VAEntrypointProtectedContent);
}
return "<unknown entrypoint>";
}
const char *vaConfigAttribTypeStr(VAConfigAttribType configAttribType)
{
switch (configAttribType) {
TOSTR(VAConfigAttribRTFormat);
TOSTR(VAConfigAttribSpatialResidual);
TOSTR(VAConfigAttribSpatialClipping);
TOSTR(VAConfigAttribIntraResidual);
TOSTR(VAConfigAttribEncryption);
TOSTR(VAConfigAttribRateControl);
TOSTR(VAConfigAttribDecSliceMode);
TOSTR(VAConfigAttribEncPackedHeaders);
TOSTR(VAConfigAttribEncInterlaced);
TOSTR(VAConfigAttribEncMaxRefFrames);
TOSTR(VAConfigAttribEncMaxSlices);
TOSTR(VAConfigAttribEncSliceStructure);
TOSTR(VAConfigAttribEncMacroblockInfo);
TOSTR(VAConfigAttribEncJPEG);
TOSTR(VAConfigAttribEncQualityRange);
TOSTR(VAConfigAttribEncSkipFrame);
TOSTR(VAConfigAttribEncROI);
TOSTR(VAConfigAttribEncRateControlExt);
TOSTR(VAConfigAttribFEIFunctionType);
TOSTR(VAConfigAttribFEIMVPredictors);
TOSTR(VAConfigAttribDecJPEG);
TOSTR(VAConfigAttribMaxPictureWidth);
TOSTR(VAConfigAttribMaxPictureHeight);
TOSTR(VAConfigAttribEncQuantization);
TOSTR(VAConfigAttribEncIntraRefresh);
TOSTR(VAConfigAttribProcessingRate);
TOSTR(VAConfigAttribEncDirtyRect);
TOSTR(VAConfigAttribEncParallelRateControl);
TOSTR(VAConfigAttribEncDynamicScaling);
TOSTR(VAConfigAttribDecProcessing);
TOSTR(VAConfigAttribFrameSizeToleranceSupport);
TOSTR(VAConfigAttribEncTileSupport);
TOSTR(VAConfigAttribCustomRoundingControl);
TOSTR(VAConfigAttribQPBlockSize);
TOSTR(VAConfigAttribStats);
TOSTR(VAConfigAttribMaxFrameSize);
TOSTR(VAConfigAttribPredictionDirection);
TOSTR(VAConfigAttribMultipleFrame);
TOSTR(VAConfigAttribContextPriority);
TOSTR(VAConfigAttribDecAV1Features);
TOSTR(VAConfigAttribTEEType);
TOSTR(VAConfigAttribTEETypeClient);
TOSTR(VAConfigAttribProtectedContentCipherAlgorithm);
TOSTR(VAConfigAttribProtectedContentCipherBlockSize);
TOSTR(VAConfigAttribProtectedContentCipherMode);
TOSTR(VAConfigAttribProtectedContentCipherSampleType);
TOSTR(VAConfigAttribProtectedContentUsage);
case VAConfigAttribTypeMax: break;
}
return "<unknown config attribute type>";
}
const char *vaBufferTypeStr(VABufferType bufferType)
{
switch (bufferType) {
TOSTR(VAPictureParameterBufferType);
TOSTR(VAIQMatrixBufferType);
TOSTR(VABitPlaneBufferType);
TOSTR(VASliceGroupMapBufferType);
TOSTR(VASliceParameterBufferType);
TOSTR(VASliceDataBufferType);
TOSTR(VAMacroblockParameterBufferType);
TOSTR(VAResidualDataBufferType);
TOSTR(VADeblockingParameterBufferType);
TOSTR(VAImageBufferType);
TOSTR(VAProtectedSliceDataBufferType);
TOSTR(VAQMatrixBufferType);
TOSTR(VAHuffmanTableBufferType);
TOSTR(VAProbabilityBufferType);
TOSTR(VAEncCodedBufferType);
TOSTR(VAEncSequenceParameterBufferType);
TOSTR(VAEncPictureParameterBufferType);
TOSTR(VAEncSliceParameterBufferType);
TOSTR(VAEncPackedHeaderParameterBufferType);
TOSTR(VAEncPackedHeaderDataBufferType);
TOSTR(VAEncMiscParameterBufferType);
TOSTR(VAEncMacroblockParameterBufferType);
TOSTR(VAEncMacroblockMapBufferType);
TOSTR(VAProcPipelineParameterBufferType);
TOSTR(VAProcFilterParameterBufferType);
TOSTR(VAEncQPBufferType);
TOSTR(VAEncFEIMVBufferType);
TOSTR(VAEncFEIMBCodeBufferType);
TOSTR(VAEncFEIDistortionBufferType);
TOSTR(VAEncFEIMBControlBufferType);
TOSTR(VAEncFEIMVPredictorBufferType);
TOSTR(VAEncMacroblockDisableSkipMapBufferType);
TOSTR(VADecodeStreamoutBufferType);
TOSTR(VAStatsStatisticsParameterBufferType);
TOSTR(VAStatsStatisticsBufferType);
TOSTR(VAStatsStatisticsBottomFieldBufferType);
TOSTR(VAStatsMVBufferType);
TOSTR(VAStatsMVPredictorBufferType);
TOSTR(VAEncFEICTBCmdBufferType);
TOSTR(VAEncFEICURecordBufferType);
TOSTR(VASubsetsParameterBufferType);
TOSTR(VAContextParameterUpdateBufferType);
TOSTR(VAProtectedSessionExecuteBufferType);
TOSTR(VAEncryptionParameterBufferType);
case VABufferTypeMax: break;
}
return "<unknown buffer type>";
}
const char *vaStatusStr(VAStatus status)
{
switch(status){
TOSTR(VA_STATUS_SUCCESS);
TOSTR(VA_STATUS_ERROR_OPERATION_FAILED);
TOSTR(VA_STATUS_ERROR_ALLOCATION_FAILED);
TOSTR(VA_STATUS_ERROR_INVALID_DISPLAY);
TOSTR(VA_STATUS_ERROR_INVALID_CONFIG);
TOSTR(VA_STATUS_ERROR_INVALID_CONTEXT);
TOSTR(VA_STATUS_ERROR_INVALID_SURFACE);
TOSTR(VA_STATUS_ERROR_INVALID_BUFFER);
TOSTR(VA_STATUS_ERROR_INVALID_IMAGE);
TOSTR(VA_STATUS_ERROR_INVALID_SUBPICTURE);
TOSTR(VA_STATUS_ERROR_ATTR_NOT_SUPPORTED);
TOSTR(VA_STATUS_ERROR_MAX_NUM_EXCEEDED);
TOSTR(VA_STATUS_ERROR_UNSUPPORTED_PROFILE);
TOSTR(VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT);
TOSTR(VA_STATUS_ERROR_UNSUPPORTED_RT_FORMAT);
TOSTR(VA_STATUS_ERROR_UNSUPPORTED_BUFFERTYPE);
TOSTR(VA_STATUS_ERROR_SURFACE_BUSY);
TOSTR(VA_STATUS_ERROR_FLAG_NOT_SUPPORTED);
TOSTR(VA_STATUS_ERROR_INVALID_PARAMETER);
TOSTR(VA_STATUS_ERROR_RESOLUTION_NOT_SUPPORTED);
TOSTR(VA_STATUS_ERROR_UNIMPLEMENTED);
TOSTR(VA_STATUS_ERROR_SURFACE_IN_DISPLAYING);
TOSTR(VA_STATUS_ERROR_INVALID_IMAGE_FORMAT);
TOSTR(VA_STATUS_ERROR_DECODING_ERROR);
TOSTR(VA_STATUS_ERROR_ENCODING_ERROR);
TOSTR(VA_STATUS_ERROR_INVALID_VALUE);
TOSTR(VA_STATUS_ERROR_UNSUPPORTED_FILTER);
TOSTR(VA_STATUS_ERROR_INVALID_FILTER_CHAIN);
TOSTR(VA_STATUS_ERROR_HW_BUSY);
TOSTR(VA_STATUS_ERROR_UNSUPPORTED_MEMORY_TYPE);
TOSTR(VA_STATUS_ERROR_NOT_ENOUGH_BUFFER);
TOSTR(VA_STATUS_ERROR_UNKNOWN);
default: break;
}
return "unknown return value";
}
#undef TOSTR