#include #include #include "acl/acl_mdl.h" #include "acl/acl_base.h" #include "acl/acl_rt.h" #include "acl/acl.h" #include "acl/ops/acl_dvpp.h" #include "acl/dvpp/hi_dvpp.h" using namespace std; bool test() { aclrtContext context_{nullptr}; acldvppChannelDesc *dvppChannelDesc_ {nullptr}; aclError ret = aclrtCreateContext(&context_, 0); if (ret != ACL_ERROR_NONE) { return false; } do { dvppChannelDesc_ = acldvppCreateChannelDesc(); ret = acldvppCreateChannel(dvppChannelDesc_); if (ret != ACL_ERROR_NONE) { return false; } ret = acldvppSetChannelDescMode(dvppChannelDesc_, DVPP_CHNMODE_VPC); if (ret != ACL_ERROR_NONE) { return false; } } while (0); if(context_){ aclrtSetCurrentContext(context_); if (dvppChannelDesc_) { (void)acldvppDestroyChannel(dvppChannelDesc_); (void)acldvppDestroyChannelDesc(dvppChannelDesc_); dvppChannelDesc_ = nullptr; } aclrtDestroyContext(context_); } printf("end.\n"); return true; } int main() { printf("start....\n"); aclInit(nullptr); char ch = 'a'; while (ch != 'q') { ch = getchar(); switch (ch) { case 'a': test(); break; case 'c': test(); break; default: break; } } aclFinalize(); return 0; }