/* * 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); default: break; } return ""; } 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); } return ""; } 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); case VAConfigAttribTypeMax: break; } return ""; } 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); case VABufferTypeMax: break; } return ""; } 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