|
Packit |
1244b8 |
/*
|
|
Packit |
1244b8 |
* Copyright (C) 2017 Intel Corporation. All rights reserved.
|
|
Packit |
1244b8 |
*
|
|
Packit |
1244b8 |
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
Packit |
1244b8 |
* you may not use this file except in compliance with the License.
|
|
Packit |
1244b8 |
* You may obtain a copy of the License at
|
|
Packit |
1244b8 |
*
|
|
Packit |
1244b8 |
* http://www.apache.org/licenses/LICENSE-2.0
|
|
Packit |
1244b8 |
*
|
|
Packit |
1244b8 |
* Unless required by applicable law or agreed to in writing, software
|
|
Packit |
1244b8 |
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
Packit |
1244b8 |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
Packit |
1244b8 |
* See the License for the specific language governing permissions and
|
|
Packit |
1244b8 |
* limitations under the License.
|
|
Packit |
1244b8 |
*/
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
#ifndef vaapistreamable_h
|
|
Packit |
1244b8 |
#define vaapistreamable_h
|
|
Packit |
1244b8 |
#include <va/va.h>
|
|
Packit |
1244b8 |
#include <sstream>
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
template <typename T>
|
|
Packit |
1244b8 |
const std::string toString(const T& t)
|
|
Packit |
1244b8 |
{
|
|
Packit |
1244b8 |
std::ostringstream os;
|
|
Packit |
1244b8 |
os << t;
|
|
Packit |
1244b8 |
return os.str();
|
|
Packit |
1244b8 |
}
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
inline std::ostream&
|
|
Packit |
1244b8 |
operator<<(std::ostream& os, const VAProfile& profile)
|
|
Packit |
1244b8 |
{
|
|
Packit |
1244b8 |
switch(profile) {
|
|
Packit |
1244b8 |
case VAProfileNone:
|
|
Packit |
1244b8 |
return os << "VAProfileNone";
|
|
Packit |
1244b8 |
case VAProfileMPEG2Simple:
|
|
Packit |
1244b8 |
return os << "VAProfileMPEG2Simple";
|
|
Packit |
1244b8 |
case VAProfileMPEG2Main:
|
|
Packit |
1244b8 |
return os << "VAProfileMPEG2Main";
|
|
Packit |
1244b8 |
case VAProfileMPEG4Simple:
|
|
Packit |
1244b8 |
return os << "VAProfileMPEG4Simple";
|
|
Packit |
1244b8 |
case VAProfileMPEG4AdvancedSimple:
|
|
Packit |
1244b8 |
return os << "VAProfileMPEG4AdvancedSimple";
|
|
Packit |
1244b8 |
case VAProfileMPEG4Main:
|
|
Packit |
1244b8 |
return os << "VAProfileMPEG4Main";
|
|
Packit |
1244b8 |
case VAProfileVC1Simple:
|
|
Packit |
1244b8 |
return os << "VAProfileVC1Simple";
|
|
Packit |
1244b8 |
case VAProfileVC1Main:
|
|
Packit |
1244b8 |
return os << "VAProfileVC1Main";
|
|
Packit |
1244b8 |
case VAProfileVC1Advanced:
|
|
Packit |
1244b8 |
return os << "VAProfileVC1Advanced";
|
|
Packit |
1244b8 |
case VAProfileH263Baseline:
|
|
Packit |
1244b8 |
return os << "VAProfileH263Baseline";
|
|
Packit |
1244b8 |
case VAProfileJPEGBaseline:
|
|
Packit |
1244b8 |
return os << "VAProfileJPEGBaseline";
|
|
Packit |
1244b8 |
case VAProfileVP8Version0_3:
|
|
Packit |
1244b8 |
return os << "VAProfileVP8Version0_3";
|
|
Packit |
1244b8 |
case VAProfileHEVCMain:
|
|
Packit |
1244b8 |
return os << "VAProfileHEVCMain";
|
|
Packit |
1244b8 |
case VAProfileHEVCMain10:
|
|
Packit |
1244b8 |
return os << "VAProfileHEVCMain10";
|
|
Packit |
1244b8 |
case VAProfileVP9Profile0:
|
|
Packit |
1244b8 |
return os << "VAProfileVP9Profile0";
|
|
Packit |
1244b8 |
case VAProfileVP9Profile1:
|
|
Packit |
1244b8 |
return os << "VAProfileVP9Profile1";
|
|
Packit |
1244b8 |
case VAProfileVP9Profile2:
|
|
Packit |
1244b8 |
return os << "VAProfileVP9Profile2";
|
|
Packit |
1244b8 |
case VAProfileVP9Profile3:
|
|
Packit |
1244b8 |
return os << "VAProfileVP9Profile3";
|
|
Packit |
1244b8 |
case VAProfileH264ConstrainedBaseline:
|
|
Packit |
1244b8 |
return os << "VAProfileH264ConstrainedBaseline";
|
|
Packit |
1244b8 |
case VAProfileH264High:
|
|
Packit |
1244b8 |
return os << "VAProfileH264High";
|
|
Packit |
1244b8 |
case VAProfileH264Main:
|
|
Packit |
1244b8 |
return os << "VAProfileH264Main";
|
|
Packit |
1244b8 |
case VAProfileH264MultiviewHigh:
|
|
Packit |
1244b8 |
return os << "VAProfileH264MultiviewHigh";
|
|
Packit |
1244b8 |
case VAProfileH264StereoHigh:
|
|
Packit |
1244b8 |
return os << "VAProfileH264StereoHigh";
|
|
Packit |
1244b8 |
default:
|
|
Packit |
1244b8 |
return os << "Unknown VAProfile: " << static_cast<int>(profile);
|
|
Packit |
1244b8 |
}
|
|
Packit |
1244b8 |
}
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
inline std::ostream&
|
|
Packit |
1244b8 |
operator<<(std::ostream& os, const VAEntrypoint& entrypoint)
|
|
Packit |
1244b8 |
{
|
|
Packit |
1244b8 |
switch(entrypoint) {
|
|
Packit |
1244b8 |
case VAEntrypointVLD:
|
|
Packit |
1244b8 |
return os << "VAEntrypointVLD";
|
|
Packit |
1244b8 |
case VAEntrypointIZZ:
|
|
Packit |
1244b8 |
return os << "VAEntrypointIZZ";
|
|
Packit |
1244b8 |
case VAEntrypointIDCT:
|
|
Packit |
1244b8 |
return os << "VAEntrypointIDCT";
|
|
Packit |
1244b8 |
case VAEntrypointMoComp:
|
|
Packit |
1244b8 |
return os << "VAEntrypointMoComp";
|
|
Packit |
1244b8 |
case VAEntrypointDeblocking:
|
|
Packit |
1244b8 |
return os << "VAEntrypointDeblocking";
|
|
Packit |
1244b8 |
case VAEntrypointVideoProc:
|
|
Packit |
1244b8 |
return os << "VAEntrypointVideoProc";
|
|
Packit |
1244b8 |
case VAEntrypointEncSlice:
|
|
Packit |
1244b8 |
return os << "VAEntrypointEncSlice";
|
|
Packit |
1244b8 |
case VAEntrypointEncSliceLP:
|
|
Packit |
1244b8 |
return os << "VAEntrypointEncSliceLP";
|
|
Packit |
1244b8 |
case VAEntrypointEncPicture:
|
|
Packit |
1244b8 |
return os << "VAEntrypointEncPicture";
|
|
Packit |
1244b8 |
#if VA_CHECK_VERSION(1, 0, 0)
|
|
Packit |
1244b8 |
case VAEntrypointFEI:
|
|
Packit |
1244b8 |
return os << "VAEntrypointFEI";
|
|
Packit |
1244b8 |
#endif
|
|
Packit |
1244b8 |
default:
|
|
Packit |
1244b8 |
return os << "Unknown VAEntrypoint: " << static_cast<int>(entrypoint);
|
|
Packit |
1244b8 |
}
|
|
Packit |
1244b8 |
}
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
#endif // vaapistreamable_h
|