cier

cier

0个粉丝

1

问答

0

专栏

0

资料

cier  发布于  2025-01-02 10:14:08
采纳率 0%
1个问答
204

Hi3516CV610无法抓拍

开发板使用的是 Ebaina HongOUPI,基于sample_venc示例的sample_venc_normal修改
在static hi_s32 sample_venc_normal_start_encode函数末尾添加如下代码:

    /* encode jpeg */
    if ((ret = sample_comm_venc_snap_start(2, &enc_size[0], HI_TRUE)) != HI_SUCCESS) {
        sample_print("Venc Start failed for %#x!\n", ret);
        goto EXIT_VENC_H264_UnBind;
    }

    if (sample_comm_vpss_bind_venc(vpss_grp, 0, 2) != HI_SUCCESS) {
        sample_print("sample_comm_vpss_bind_venc failed!\n");
        goto EXIT_JPEG_STOP;
    }    

    return HI_SUCCESS;
EXIT_JPEG_STOP:
    sample_comm_venc_stop(2);

jpeg通道为2,绑定到vpss通道0,抓图尺寸跟第一路码流一样(enc_size[0])

抓拍代码如下:

bool snagPic(int chn, uint8_t*& data, int& bytes) {
    hi_s32 ret;
    struct timeval timeout_val;
    fd_set read_fds;
    hi_s32 venc_fd;

    /* *****************************************
     step 4:  recv picture
    ***************************************** */
    venc_fd = hi_mpi_venc_get_fd(chn);
    if (venc_fd < 0) {
        sample_print("venc_get_fd faild with%#x!\n", venc_fd);
        return HI_FAILURE;
    }

    FD_ZERO(&read_fds);
    FD_SET(venc_fd, &read_fds);
    timeout_val.tv_sec = 1; // seconds
    timeout_val.tv_usec = 0;
    ret = select(venc_fd + 1, &read_fds, NULL, NULL, &timeout_val);
    if (ret < 0) {
        sample_print("snap select failed!\n");
        return HI_FAILURE;
    } else if (ret == 0) {
        sample_print("snap time out!\n");
        return HI_FAILURE;
    } else if (!FD_ISSET(venc_fd, &read_fds)) {
        return false;
    }
    ...

结果发现一直提示select超时。

cat /proc/umap/venc,显示如下信息:

提示该通道started值为n

附件代码为从mpp/samples目录中提取出来并添加了如上代码

易百纳技术社区文件: test-code.zip
下载
我来回答
回答2个
时间排序
认可量排序

UncleRoderick

35个粉丝

14

问答

1

专栏

14

资料

UncleRoderick 2025-01-02 10:57:04
认可0

主动去调用hi_mpi_venc_start_chn试试看看有没有报错
获取抓拍数据开一个线程,主线程输入指定字符后主动去调用hi_mpi_venc_start_chn

wj

6个粉丝

0

问答

0

专栏

2

资料

wj 2025-01-02 11:12:30
认可0

看一下你的proc信息,第二通道的vpss_err,cat /dev/logmpp

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区