gongbo1216

gongbo1216

0个粉丝

3

问答

0

专栏

0

资料

gongbo1216  发布于  2018-04-17 12:34:09
采纳率 0%
3个问答
3815

解码显示花屏,错误提示:设置的协议参数个数不够

 
大家好,我这边用的是HI3536 ,进行本地循环测试(采集-编码-解码-显示),现在问题是这样的:本地视频进行编码,如:编码主要参数:分辨率为720P,码率8M/s, slice为1024. 送入解码器进行解码,解码显示视频图像正常。但编码参数改成:分辨率为1080P,码率为8M/s,slice为1024. 解码显示视频图像花屏,用cat /proc/umap/vdec 查看 PrtclErr 数值不断增加,出现此错误,查看手册原因是:设置的协议参数个数不够(slice,pps,sps),但我已经都设成文档给出的最大值(MaxSlice=136,MaxPps=256,MaxSps=32 ),希望知道的同行们给予帮助,谢谢
我来回答
回答23个
时间排序
认可量排序

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2018-04-17 13:40:11
认可0
编码参数 slice为1024 是什么意思?

gongbo1216

0个粉丝

3

问答

0

专栏

0

资料

gongbo1216 2018-04-17 13:49:55
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=86670&ptid=39363]zhuangweiye 发表于 2018-4-17 13:40[/url]
编码参数 slice为1024 是什么意思?[/quote]

    分片,1024个byte,代码如下:
    ....
     sliceParam.u32SplitMode = 0;
     sliceParam.u32SliceSize = 1024;
     s32Ret = HI_MPI_VENC_SetH264SliceSplit(0,  &sliceParam);
   ....
含义:u32SplitMode=0,表示每个 slice 的 byte 数。
        最小值为:128,最大值为 min((0xFFFF), u32PicSize/2)
       其中 u32PicSize=picwidth x picheight x 3/2
       u32SplitMode=1,表示每个 slice 占的宏块行数。
       最小值为:1,最大值为:(图像高+15)/16。

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2018-04-17 14:01:00
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=86671&ptid=39363]gongbo1216 发表于 2018-4-17 13:49[/url]
分片,1024个byte,代码如下:
    ....
     sliceParam.u32SplitMode = 0;
[/quote]

楼主把每个slice的bytes数设成了1024, 意味着一帧会有很多slice, 导致无法解码


文档上写的很清楚

"本接口属于高级接口,用户可以选择性调用,建议不调用,系统默认bSplitEnable为false。"

gongbo1216

0个粉丝

3

问答

0

专栏

0

资料

gongbo1216 2018-04-17 14:26:40
认可0
本帖最后由 gongbo1216 于 2018-4-17 14:28 编辑

求助海思官方工程师……

gongbo1216

0个粉丝

3

问答

0

专栏

0

资料

gongbo1216 2018-04-17 14:27:11
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=86675&ptid=39363]zhuangweiye 发表于 2018-4-17 14:01[/url]
楼主把每个slice的bytes数设成了1024, 意味着一帧会有很多slice, 导致无法解码


[/quote]

文档是建议不调用,并非不能。即使我不调用,如果我们把hi3536做解码端,第三方平台送来的是8M的1080P,又划分了很多slice的编码码流,难道海思这个平台就没法解码吗?这是不是有点太脆弱了

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2018-04-17 14:51:23
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=86687&ptid=39363]gongbo1216 发表于 2018-4-17 14:27[/url]
文档是建议不调用,并非不能。即使我不调用,如果我们把hi3536做解码端,第三方平台送来的是8M的1080P,又 ...[/quote]

硬件解码一般多多少少都有些限制, 不过海思的基本够用了, 像楼主这么设的真的很少见

qn1550133785

0个粉丝

0

问答

0

专栏

0

资料

qn1550133785 2019-02-14 17:35:08
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=86692&ptid=39363]zhuangweiye 发表于 2018-4-17 14:51[/url]
硬件解码一般多多少少都有些限制, 不过海思的基本够用了, 像楼主这么设的真的很少见[/quote]

如果是第三方编码流本来就是又划分了很多slice的编码码流 这个怎么解决 ,现在碰到这个问题难住了:'(

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2019-02-15 11:21:01
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=123823&ptid=39363]qn1550133785 发表于 2019-2-14 17:35[/url]
如果是第三方编码流本来就是又划分了很多slice的编码码流 这个怎么解决 ,现在碰到这个问题难住了[/quote]


海思解码支持的Slice 个数 Hi3521A/Hi3531A/Hi3536CV100/Hi3536DV100为[1, 136],Hi3536 为[1,300]

一般来说足够用了

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2019-03-06 07:37:26
认可0
本帖最后由 zhuangweiye 于 2019-3-6 07:45 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=124729&ptid=39363]gongbo1216 发表于 2019-3-5 23:24[/url]
我们就是用hi3536,根本没有300个啊 最大只有136 怎么可能够用 随便4M码率1080P的就超过了  海思平台自己 ...[/quote]

这个要看SDK版本了


一般来说监控类编码一帧也就一个slice,一帧超过100个slice的编码还真不多见(1080P按16x16宏块来看也只有68行,每个宏块行一个slice,也就68个slice),而且slice数和码率没有啥关系,再说slice分多了压缩效率也会大大下降

另外说句:如果觉得搞笑,您可以考虑换芯片了

liqinghan

0个粉丝

16

问答

0

专栏

0

资料

liqinghan 2019-03-06 09:14:59
认可0
l楼主应该没搞明白海思芯片的,海思的基本都可以满足要求,目前使用海思编码和解码都没碰到这样子的问题,对接过多种品牌的摄像机都可以解。
我的3536的分片大小的设置

liqinghan

0个粉丝

16

问答

0

专栏

0

资料

liqinghan 2019-03-06 09:15:45
认可0
其实这个反范围所有都可以解码了

liqinghan

0个粉丝

16

问答

0

专栏

0

资料

liqinghan 2019-03-08 16:47:47
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=124742&ptid=39363]gongbo1216 发表于 2019-3-6 11:43[/url]
sdk中接口分片API里,有两种模式,估计你是按宏块行做的,你试试按字节数分片,每片设置800字节,编码分 ...[/quote]

按字节也有你用了吧?MAX(0xFFFF , u32PiceSize /2)1080P按照4:2:0编码的,则 一帧最大为1920×1080 × 3 /2  , 难道你一个分片还能超过 u32PiceSize /2 ? -> 1920×1080 × 3 /2 / 2 = 1555200 byte 如果这个分片超过 u32PiceSize /2,是不是应该想想自己的分片编码是否合理?

gongbo1216

0个粉丝

3

问答

0

专栏

0

资料

gongbo1216 2019-03-09 09:27:29
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=124730&ptid=39363]zhuangweiye 发表于 2019-3-6 07:37[/url]
这个要看SDK版本了


[/quote]

你好,请问你那SDK版本是什么,hi3536解码能300个slice,之所以要这么多slice,是因为第三方很多编码包含了这么多slice,导致我们hisi3536平台解码花屏了。我这边SDK是Hi3536 V100R001C02SPC060。文档中写明只支持136个:该通道解码支持的最大 Slice 个数,默认为 16,取值范围:[1, 136]。希望帮忙解决一下提供一下版本号。再次感谢。

gongbo1216

0个粉丝

3

问答

0

专栏

0

资料

gongbo1216 2019-03-09 09:38:11
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=124845&ptid=39363]liqinghan 发表于 2019-3-8 16:47[/url]
按字节也有你用了吧?MAX(0xFFFF , u32PiceSize /2)1080P按照4:2:0编码的,则 一帧最大为1920×1080 ...[/quote]

你好,感谢你这么热心回复:如果这个分片超过 u32PiceSize /2??我们分片肯定没超过这个值,分片u32SliceSize越小,slice数据就越大了。一旦超过136个slice了,我目前的SDK版本无法解码。另外现在不是我们分片是否合理,是别人第三方的编码可能包含136个以上的slice,我们平台就解不了。是需求这个解决方案。上面我说的,只是模拟一下实际情况,让你看到现象。你既然有hi3536,完全可以试试,u32SplitMod选0:按 bit 数分割, u32SliceSize=600. 这个值肯定是合法的。码率8M。分辨率是1080P,再看看编码出来的码流能不能正常解码?这个问题真的困扰我一年多,一直在跟进,刚一位兄弟说解码能支持300个slice,那肯定够了。目前我的版本只支持136个,肯定会有解码不正常的现象。

liqinghan

0个粉丝

16

问答

0

专栏

0

资料

liqinghan 2019-03-11 10:18:06
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=124886&ptid=39363]gongbo1216 发表于 2019-3-9 09:38[/url]
你好,感谢你这么热心回复:如果这个分片超过 u32PiceSize /2??我们分片肯定没超过这个值,分片u32Slic ...[/quote]

那就换版本呀:lol

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2019-03-11 10:39:30
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=124884&ptid=39363]gongbo1216 发表于 2019-3-9 09:27[/url]
你好,请问你那SDK版本是什么,hi3536解码能300个slice,之所以要这么多slice,是因为第三方很多编码包含 ...[/quote]

070的SDK                  

gongbo1216

0个粉丝

3

问答

0

专栏

0

资料

gongbo1216 2019-03-15 17:05:58
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=140383&ptid=39363]liqinghan 发表于 2019-3-11 10:18[/url]
那就换版本呀[/quote]

恩 谢谢回复:lol

qn1551429170

0个粉丝

2

问答

0

专栏

0

资料

qn1551429170 2019-05-30 10:46:25
认可0
楼主,请教个问题啊,你按1024字节分包,有没有观察最后分包之后每个包的大小,是1024字节吗?我这边测试下来发现会超出很多字节,不是严格的1024字节

gongbo1216

0个粉丝

3

问答

0

专栏

0

资料

gongbo1216 2018-04-17 15:20:23
认可0
恩 。谢谢了:(

gongbo1216

0个粉丝

3

问答

0

专栏

0

资料

gongbo1216 2019-03-05 23:18:25
认可0
[quote]zhuangweiye 发表于 2019-2-15 11:21
海思解码支持的Slice 个数 Hi3521A/Hi3531A/Hi3536CV100/Hi3536DV100为[1, 136],Hi3536 为[1,300]

...
[/quote]

你好  hi3536是最新的版本吗?确定最大有300个吗?
加载中···
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区