1010
- 收藏
- 点赞
- 分享
- 举报
Hi3519DV500 vpss ext chn没起作用
请教一下:
环境:Hi3519DV500 + SDK:V1.0.1.1
想vpss phy chn 2 -> vpss ext chn 0(num = 4)
扩展通道配置如下:
// ext chn for jpeg
s_context.vpss_cfg.ext_chn_attr[0].bind_chn = OT_VPSS_CHN2;// src phy chn
s_context.vpss_cfg.ext_chn_attr[0].src_type = OT_EXT_CHN_SRC_TYPE_TAIL;//扩展通道的图像来自物理通道后处理(DIS,LDC,SPREAD,CoverEx,LUMA,OVERLAYEx,Fisheye等)后的图像。
s_context.vpss_cfg.ext_chn_attr[0].width = s_context.vpss_cfg.chn_attr[OT_VPSS_CHN2].width;
s_context.vpss_cfg.ext_chn_attr[0].height = s_context.vpss_cfg.chn_attr[OT_VPSS_CHN2].height;
s_context.vpss_cfg.ext_chn_attr[0].depth = 8;
s_context.vpss_cfg.ext_chn_attr[0].video_format = OT_VIDEO_FORMAT_LINEAR;
s_context.vpss_cfg.ext_chn_attr[0].dynamic_range = OT_DYNAMIC_RANGE_SDR8;
s_context.vpss_cfg.ext_chn_attr[0].pixel_format = OT_PIXEL_FORMAT_YVU_SEMIPLANAR_420;
s_context.vpss_cfg.ext_chn_attr[0].compress_mode = OT_COMPRESS_MODE_SEG;//? OT_COMPRESS_MODE_LINE
s_context.vpss_cfg.ext_chn_attr[0].frame_rate.src_frame_rate = -1;// 不做帧率控制
s_context.vpss_cfg.ext_chn_attr[0].frame_rate.dst_frame_rate = -1;// 不做帧率控制
然后初始化
td_s32 vpss_start(ot_vpss_grp grp, const ot_vpss_grp_attr *grp_attr,
const sample_vpss_chn_attr * vpss_chn_attr,
const ot_vpss_ext_chn_attr * vpss_ext_chn_attr, td_u32 ext_chn_num)
{
td_s32 ret;
if (vpss_chn_attr->chn_array_size < OT_VPSS_MAX_PHYS_CHN_NUM) {
sample_print("array size(%u) of chn_enable and chn_attr need >= %u!\n",
vpss_chn_attr->chn_array_size, OT_VPSS_MAX_PHYS_CHN_NUM);
return TD_FAILURE;
}
// create grp
ret = ss_mpi_vpss_create_grp(grp, grp_attr);
if (ret != TD_SUCCESS) {
sample_print("ss_mpi_vpss_create_grp(grp:%d) failed with %#x!\n", grp, ret);
return TD_FAILURE;
}
// start grp
ret = ss_mpi_vpss_start_grp(grp);
if (ret != TD_SUCCESS) {
sample_print("ss_mpi_vpss_start_grp failed with %#x\n", ret);
goto destroy_grp;
}
// vpss set ext chn attr, set chn attr, enable chn
ret = vpss_start_chn(grp, vpss_chn_attr->chn_enable, &vpss_chn_attr->chn_attr[0],
vpss_chn_attr->chn0_wrap, OT_VPSS_MAX_PHYS_CHN_NUM,
&vpss_ext_chn_attr[0], ext_chn_num);
if (ret != TD_SUCCESS) {
goto stop_grp;
}
return TD_SUCCESS;
stop_grp:
ret = ss_mpi_vpss_stop_grp(grp);
if (ret != TD_SUCCESS) {
sample_print("ss_mpi_vpss_stop_grp failed with %#x!\n", ret);
}
destroy_grp:
ret = ss_mpi_vpss_destroy_grp(grp);
if (ret != TD_SUCCESS) {
sample_print("ss_mpi_vpss_destroy_grp failed with %#x!\n", ret);
}
return TD_FAILURE;
}
static td_s32 vpss_start_chn(ot_vpss_grp grp, const td_bool *chn_enable,
const ot_vpss_chn_attr *chn_attr, td_bool chn0_wrap, td_u32 chn_array_size,
const ot_vpss_ext_chn_attr *ext_chn_attr, td_u32 ext_chn_num)
{
ot_vpss_chn vpss_chn;
ot_vpss_chn vpss_ext_chn;
td_s32 ret, i, j;
// set phy chn, enable phy chn
for (i = 0; i < (td_s32)chn_array_size; ++i) {
if (chn_enable[i] == TD_TRUE) {
vpss_chn = i;
ret = ss_mpi_vpss_set_chn_attr(grp, vpss_chn, &chn_attr[vpss_chn]);// set chn attr
if (ret != TD_SUCCESS) {
sample_print("ss_mpi_vpss_set_chn_attr failed with %#x\n", ret);
goto disable_chn;
}
/* set chn0 wrap fmu mode first, then enable chn */
ret = sample_common_vpss_set_chn_fmu_mode(grp, vpss_chn, chn0_wrap);// set chn fmu mode, null operation
if (ret != TD_SUCCESS) {
sample_print("ss_mpi_vpss_set_chn_fmu_mode failed with %#x\n", ret);
goto disable_chn;
}
if(i == 2)
{
// when phy chn = 2, set ext chn attr
vpss_ext_chn = i+2; // ext chn = [4, 5, 6, 7]
ret = ss_mpi_vpss_set_ext_chn_attr(grp, vpss_ext_chn, &ext_chn_attr[i-2]);// set chn attr 非OT_FMU_MODE_OFF模式绑定扩展通道不生效
if (ret != TD_SUCCESS) {
sample_print("ss_mpi_vpss_set_ext_chn_attr failed with %#x\n", ret);
goto disable_chn;
}
}
ret = ss_mpi_vpss_enable_chn(grp, vpss_chn);// enable chn
if (ret != TD_SUCCESS) {
sample_print("ss_mpi_vpss_enable_chn failed with %#x\n", ret);
goto disable_chn;
}
}
}
return TD_SUCCESS;
disable_chn:
for (i = i - 1; i >= 0; i--) {
if (chn_enable[i] == TD_TRUE) {
vpss_chn = i;
ret = ss_mpi_vpss_disable_chn(grp, vpss_chn);
if (ret != TD_SUCCESS) {
sample_print("ss_mpi_vpss_disable_chn failed with %#x!\n", ret);
}
}
}
return TD_FAILURE;
}
初始化没有报错
但是看proc信息,ext chn好像没有起来,找了一下,也没有enable vpss ext chn的接口



请问是为啥呀?
我来回答
回答2个
时间排序
认可量排序
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片
相关问答
-
2025-03-20 11:14:15
-
2025-08-06 09:36:37
-
2025-05-30 18:39:25
-
2024-09-27 11:37:54
-
2025-01-06 18:27:15
-
2025-11-10 21:36:22
-
2025-08-31 21:22:49
-
2025-08-29 19:22:19
-
2025-01-07 14:21:37
-
2024-11-11 17:06:20
-
2025-09-12 14:12:21
-
2025-03-19 13:49:11
-
2024-11-20 09:52:01
-
2025-09-21 21:45:14
-
2024-03-15 15:38:18
-
2025-02-28 13:30:39
-
2025-08-12 17:42:27
-
2024-09-12 14:44:41
-
2025-01-16 15:56:24
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5hisi3516cv610 + gc4336p 夜晚很模糊
-
5AIISP(功能演示,SC4336P为BGGR,强制转RGGB,会导致颜色异常)
-
5rv1106使用luckfox的SDK,设备树和驱动都写好了,结果设备文件没有生成
-
5海思3516cv610中如何进行SD卡升级,根据官方文档操作,烧录进板子时,走的默认uboot,没有执行uboot升级。
-
5G610Q-IPC-38E 夜晚很暗 有什么办法解决吗 已经补光了
-
10转换模型时,SoC版本里没显示hi3516cv610芯片
-
5hisi3516cv610 使用 yolov8n 模型训练 要如何提高 这里识别的是人
-
10有人在海思平台接过SC035HGS吗
-
5关于hi3519dv500,以SD卡虚拟 U 盘操作
-
5ss928 sample_venc代码移植到openEuler24.03上执行报错 [sample_comm_vi_start_dev]-1068: vi set dev attr failed wi
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认

微信扫码分享
QQ好友
该回答已被题主采纳为最佳答案