acllite JpegD功能:Sync stream failed, error: 507018
收藏回复举报
acllite JpegD功能:Sync stream failed, error: 507018
t('forum.solved') 已解决
发表于2023-02-15 16:28:44
0 查看

我参考了Ascend Sample下的gesturedetection样例,写了一个JpegD的小程序,但是运行过程中一直报错,请问我该怎么办?

CANN版本信息:6.0.RC1

gesturedetection仓库连接: https://gitee.com/ascend/samples/tree/v0.8.0/cplusplus/contrib/gesturedetection

项目代码:

#define ENABLE_DVPP_INTERFACE
#include "acl/acl.h"
#include "AclLiteResource.h"
#include "AclLiteImageProc.h"
#include "AclLiteUtils.h"
#include "AclLiteError.h"

using namespace std;

int main(int argc, char *argv[])
{
    AclLiteError ret;
    aclrtRunMode runMode_;

    AclLiteResource resource;
    ret = resource.Init();
    if (ret)
    {
        ACLLITE_LOG_ERROR("Resource inited failed, error code: %d", ret);
        return ret;
    }

    ret = aclrtGetRunMode(&runMode_);
    if (ret) {
        ACLLITE_LOG_ERROR("acl get run mode failed");
        return ret;
    }

    AclLiteImageProc imgProc;
    ret = imgProc.Init();
    if (ret)
    {
        ACLLITE_LOG_ERROR("ImageProc inited failed, error code: %d", ret);
        return ret;
    }

    ImageData image;
    ret = ReadJpeg(image, "/root/load_pre_model/416bf.jpg");
    if (ret)
    {
        ACLLITE_LOG_ERROR("Read jpg image failed, error code: %d", ret);
        return ret;
    }

    ImageData deviceImage;
    void* buffer = CopyDataToDevice(image.data.get(), image.size, runMode_, MEMORY_DEVICE);
    if (buffer == nullptr)
    {
        ACLLITE_LOG_ERROR("Copy jpg image to device failed, error code: %d", ret);
        return ret;
    }

    deviceImage.width = 1920;
    deviceImage.height = 1080;
    deviceImage.size = image.size;
    deviceImage.data.reset((uint8_t*)buffer, [](uint8_t* p) { aclrtFree((void *)p); });

    ImageData yuvImage;
    ret = imgProc.JpegD(yuvImage, deviceImage);
    if (ret)
    {
        ACLLITE_LOG_ERROR("Convert jpg image to yuv image failed, error code: %d", ret);
        return ret;
    }

    imgProc.DestroyResource();
    resource.Release();

    return 0;
}

程序输出:

[INFO]  Acl init ok
[INFO]  Open device 0 ok
[INFO]  Use default context currently
[INFO]  dvpp init resource ok
[ERROR]  Sync stream failed, error: 507018
[ERROR]  Convert jpg image to yuv image failed, error code: 506
[INFO]  destroy context ok
[INFO]  Reset device 0 ok
[INFO]  Finalize acl ok

我要发帖子