白衣

白衣

0个粉丝

3

问答

0

专栏

0

资料

白衣  发布于  2021-02-05 09:55:48
采纳率 0%
3个问答
1684

3516A 对接384*288红外相机。HI_MPI_ISP_SetPubAttr错误!

 

场景:之前使用的640512的设备是可以正常运行的,换成了384的之后出现问题。直接运行之前的程序在调用HI_MPI_VI_GetFrame()会报错缓存没有数据;我把源码中所有有关640512的参数都修改成了384*288尝试解决问题,出现如下错误。
打印信息:
[Func]:HI_MPI_ISP_SetPubAttr [Line]:96 [Info]:Invalid Image Width:384!
SAMPLE_COMM_ISP_Init: HI_MPI_ISP_SetPubAttr failed with 0xa01c8003!

调用HIMPIISP_SetPubAttr():
stPubAttr.enBayer = BAYER_GRBG;
stPubAttr.f32FrameRate = 25;
stPubAttr.stWndRect.s32X = 0;
stPubAttr.stWndRect.s32Y = 0;
stPubAttr.stWndRect.u32Width = 384;
stPubAttr.stWndRect.u32Height = 288;
s32Ret = HI_MPI_ISP_SetPubAttr(IspDev, &stPubAttr);
if (s32Ret != HI_SUCCESS)
{
printf(“%s: HI_MPI_ISP_SetPubAttr failed with %#x!\n”, __FUNCTION
, s32Ret);
return s32Ret;
}
问题:本人没有专业视频开发经验,这是使用过程中出现的问题。想知道这是开发板不支持这个分辨率还是其他调用方法有问题?

我来回答
回答11个
时间排序
认可量排序

free-jdx

4个粉丝

2

问答

178

专栏

0

资料

free-jdx 2021-02-05 10:43:10
认可0

sample_commn下的vi修改了没

白衣

0个粉丝

3

问答

0

专栏

0

资料

白衣 2021-02-05 11:16:14
认可0

sample_commn下的vi修改了没

改了TAT 640512 都改成了384288

白衣

0个粉丝

3

问答

0

专栏

0

资料

白衣 2021-02-05 11:19:28
认可0

sample_commn下的vi修改了没

方便加个Q指导一下吗 我把文件发给你 帮忙看一下。感谢!

free-jdx

4个粉丝

2

问答

178

专栏

0

资料

free-jdx 2021-02-05 11:43:17
认可0

还要修改下 sample_commn下的sys,添加一个384*288的分辨率格式

白衣

0个粉丝

3

问答

0

专栏

0

资料

白衣 2021-02-05 11:50:10
认可0

还要修改下 sample_commn下的sys,添加一个384*288的分辨率格式

HI_S32 SAMPLE_COMM_SYS_GetPicSize(VIDEO_NORM_E enNorm, PIC_SIZE_E enPicSize, SIZE_S pstSize)
{
switch (enPicSize)
{
case PIC_QCIF:
pstSize->u32Width = 176;
pstSize->u32Height = (VIDEO_ENCODING_MODE_PAL == enNorm) ? 144 : 120;
break;
case PIC_CIF:
pstSize->u32Width = 352;
pstSize->u32Height = (VIDEO_ENCODING_MODE_PAL == enNorm) ? 288 : 240;
break;
case PIC_D1:
pstSize->u32Width = 720;
pstSize->u32Height = (VIDEO_ENCODING_MODE_PAL == enNorm) ? 576 : 480;
break;
case PIC_960H:
pstSize->u32Width = 960;
pstSize->u32Height = (VIDEO_ENCODING_MODE_PAL == enNorm) ? 576 : 480;
break;
case PIC_2CIF:
pstSize->u32Width = 360;
pstSize->u32Height = (VIDEO_ENCODING_MODE_PAL == enNorm) ? 576 : 480;
break;
case PIC_QVGA: / 320 240 /
pstSize->u32Width = 324;
pstSize->u32Height = 256;
break;
case PIC_VGA: / 640 480 /
pstSize->u32Width = 640;
pstSize->u32Height = 512;//480;
break;
case PIC_XGA: / 1024 768 /
pstSize->u32Width = 1024;
pstSize->u32Height = 768;
break;
case PIC_SXGA: / 1400 1050 /
pstSize->u32Width = 1400;
pstSize->u32Height = 1050;
break;
case PIC_UXGA: / 1600 1200 /
pstSize->u32Width = 1600;
pstSize->u32Height = 1200;
break;
case PIC_QXGA: / 2048 1536 /
pstSize->u32Width = 2048;
pstSize->u32Height = 1536;
break;
case PIC_WVGA: / 854 480 /
pstSize->u32Width = 854;
pstSize->u32Height = 480;
break;
case PIC_WSXGA: / 1680 1050 /
pstSize->u32Width = 1680;
pstSize->u32Height = 1050;
break;
case PIC_WUXGA: / 1920 1200 /
pstSize->u32Width = 1920;
pstSize->u32Height = 1200;
break;
case PIC_WQXGA: / 2560 1600 /
pstSize->u32Width = 2560;
pstSize->u32Height = 1600;
break;
case PIC_HD720: / 1280 720 /
pstSize->u32Width = 1280;
pstSize->u32Height = 720;
break;
case PIC_HD1080: / 1920 1080 /
pstSize->u32Width = 1920;
pstSize->u32Height = 1080;
break;
case PIC_2304x1296: / 2304 1296 /
pstSize->u32Width = 2304;
pstSize->u32Height = 1296;
break;
case PIC_2592x1520: / 2592 1520 /
pstSize->u32Width = 2592;
pstSize->u32Height = 1520;
break;
case PIC_5M: / 2592 1944 /
pstSize->u32Width = 2592;
pstSize->u32Height = 1944;
break;

    default:
        return HI_FAILURE;
}
return HI_SUCCESS;

}
是这个地方吗

free-jdx

4个粉丝

2

问答

178

专栏

0

资料

free-jdx 2021-02-05 11:51:39
认可0

是的

白衣

0个粉丝

3

问答

0

专栏

0

资料

白衣 2021-02-05 12:03:43
认可0

是的

那384的应该是怎么加
case PIC_384x288:
pstSize->u32Width = 384;
pstSize->u32Height = 288;
break;

这样吗。我这边没找到这个版本的开发手册 不太确定类型对不对QAQ

白衣

0个粉丝

3

问答

0

专栏

0

资料

白衣 2021-02-05 13:19:34
认可0

是的

我查了一下 关于这个变量的值
typedef enum hiPIC_SIZE_E
{
PIC_QCIF = 0, //176144
PIC_CIF, //352288
PIC_2CIF,
PIC_HD1,
PIC_D1, //704*576
PIC_960H,

PIC_QVGA,    /* 320 * 240 */
PIC_VGA,     /* 640 * 480 */
PIC_XGA,     /* 1024 * 768 */
PIC_SXGA,    /* 1400 * 1050 */
PIC_UXGA,    /* 1600 * 1200 */
PIC_QXGA,    /* 2048 * 1536 */

PIC_WVGA,    /* 854 * 480 */
PIC_WSXGA,   /* 1680 * 1050 */
PIC_WUXGA,   /* 1920 * 1200 */
PIC_WQXGA,   /* 2560 * 1600 */

PIC_HD720,   /* 1280 * 720 */
PIC_HD1080,  /* 1920 * 1080 */
PIC_2304x1296, /* 3M:2304 * 1296 */
PIC_2592x1520, /* 4M:2592 * 1520 */
PIC_5M,        /* 2592 * 1944 */
PIC_UHD4K,     /* 3840 * 2160 */
PIC_12M,       /* 4000 * 3000 */

PIC_BUTT

} PIC_SIZE_E;
好像没有384-。-

free-jdx

4个粉丝

2

问答

178

专栏

0

资料

free-jdx 2021-02-05 13:53:32
认可0

特殊格式需要自定义的,自己加一个就可以的

白衣

0个粉丝

3

问答

0

专栏

0

资料

白衣 2021-02-05 22:21:46
认可0

我照这个方向试试 感谢!

父夫子

0个粉丝

2

问答

0

专栏

0

资料

父夫子 2021-03-12 15:32:33
认可0

请问你是参照哪个demo来修改的?

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

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区