test.cpp 1.43 KB
#include <iostream>
#include <string>

#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;
}