lyric

lyric

1个粉丝

22

问答

0

专栏

3

资料

lyric  发布于  2017-04-09 09:45:08
采纳率 0%
22个问答
3406

hi3519怎么动态调节编码码率

 
大神们:

hi3519怎么动态调节编码码率?
我来回答
回答13个
时间排序
认可量排序

laocheng

1个粉丝

14

问答

0

专栏

0

资料

laocheng 2017-04-09 10:45:55
认可0
VENC章节里面有api可以调用,但是否是动态的话,还是要看参数是否是支持动态调节。要是静态参数,那得反初始化VENC,在重新设置一遍才行。

lyric

1个粉丝

22

问答

0

专栏

3

资料

lyric 2017-04-09 11:10:55
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=47961&ptid=14798]laocheng 发表于 2017-4-9 10:45[/url]
VENC章节里面有api可以调用,但是否是动态的话,还是要看参数是否是支持动态调节。要是静态参数,那得反初 ...[/quote]

如果在编码过程中重新初始化VENC通道,是否会引起丢帧花屏现象?

lyric

1个粉丝

22

问答

0

专栏

3

资料

lyric 2017-04-09 15:45:17
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=47961&ptid=14798]laocheng 发表于 2017-4-9 10:45[/url]
VENC章节里面有api可以调用,但是否是动态的话,还是要看参数是否是支持动态调节。要是静态参数,那得反初 ...[/quote]

我尝试调用HI_MPI_VENC_SetChnAttr(VeChn, &chnAttr)这个方法实现,是可以的,因为这个方法每隔几秒钟之后就会调一下,有时候会出现错误,见下面,不知道是不是调用这个方法引起的:
[ 9107.571975] ASSERT failed at:
[ 9107.571975]   >File name: /home/pub/platform-h6/mpp/code/shelf/venc2/venc/venc_ext.c
[ 9107.571975]   >Function : VENC_AddOnePic
[ 9107.571975]   >Line No. : 587
[ 9107.571975]   >Condition: HI_SUCCESS == s32Ret
[ 9107.571975]
[ 9107.602232] CPU: 0 PID: 414 Comm: codecserver Tainted: P           O   3.18.20 #1
[ 9107.609760] [] (unwind_backtrace) from [] (show_stack+0x10/0x14)
[ 9107.617532] [] (show_stack) from [] (dump_stack+0x88/0x98)
[ 9107.624772] [] (dump_stack) from [] (panic+0xa0/0x204)
[ 9107.631701] [] (panic) from [] (osal_read+0x0/0x3c [hi_osal])
[ 9107.639264] [] (osal_read [hi_osal]) from [] (venc_mod_exit+0x5448/0x4 [hi3519v101_venc])
[ 9107.649216] CPU1: stopping
[ 9107.651922] CPU: 1 PID: 0 Comm: swapper/1 Tainted: P           O   3.18.20 #1
[ 9107.659060] [] (unwind_backtrace) from [] (show_stack+0x10/0x14)
[ 9107.666799] [] (show_stack) from [] (dump_stack+0x88/0x98)
[ 9107.674014] [] (dump_stack) from [] (handle_IPI+0x1cc/0x1ec)
[ 9107.681401] [] (handle_IPI) from [] (gic_handle_irq+0x74/0x78)
[ 9107.688962] [] (gic_handle_irq) from [] (__irq_svc+0x40/0x54)
[ 9107.696432] Exception stack(0xd8879f50 to 0xd8879f98)

吴少雄

0个粉丝

15

问答

0

专栏

0

资料

吴少雄 2017-04-15 15:59:24
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=47966&ptid=14798]lyric 发表于 2017-4-9 15:45[/url]
我尝试调用HI_MPI_VENC_SetChnAttr(VeChn, &chnAttr)这个方法实现,是可以的,因为这个方法每隔几秒钟 ...[/quote]

感觉跟你设置参数没有什么关系?这明显是Frame的问题

lyric

1个粉丝

22

问答

0

专栏

3

资料

lyric 2017-04-17 09:36:27
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=48328&ptid=14798]吴少雄 发表于 2017-4-15 15:59[/url]
感觉跟你设置参数没有什么关系?这明显是Frame的问题[/quote]

你的意思是调用这个方法HI_MPI_VENC_SendFrame引起的么

吴少雄

0个粉丝

15

问答

0

专栏

0

资料

吴少雄 2017-04-17 12:15:49
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=48355&ptid=14798]lyric 发表于 2017-4-17 09:36[/url]
你的意思是调用这个方法HI_MPI_VENC_SendFrame引起的么[/quote]

对的,当期send的frmae你已经丢用release了

lyric

1个粉丝

22

问答

0

专栏

3

资料

lyric 2017-04-17 12:36:13
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=48382&ptid=14798]吴少雄 发表于 2017-4-17 12:15[/url]
对的,当期send的frmae你已经丢用release了[/quote]

是release了的,这个问题有一定的概率性,不是必出,有时候一两个小时都不会出,有时候几分钟就出了,报的错误是内存分配不出么?

吴少雄

0个粉丝

15

问答

0

专栏

0

资料

吴少雄 2017-04-17 18:47:38
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=48384&ptid=14798]lyric 发表于 2017-4-17 12:36[/url]
是release了的,这个问题有一定的概率性,不是必出,有时候一两个小时都不会出,有时候几分钟就出了,报 ...[/quote]

不知道你环境,估计你采集线程和编码线程不在一起,在采集线程中释放了Frame,然后在编码线程sendframe了,只是猜测,根据具体的环境定的

lyric

1个粉丝

22

问答

0

专栏

3

资料

lyric 2017-04-18 08:35:25
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=48406&ptid=14798]吴少雄 发表于 2017-4-17 18:47[/url]
不知道你环境,估计你采集线程和编码线程不在一起,在采集线程中释放了Frame,然后在编码线程sendframe了 ...[/quote]

你说的没错,我的采集是在一个进程里,编码是在另外一个进程里,内存buf由采集进程分配,编码使用的内存是与采集进程共享的,编码完之后,采集进程取下一个buf前会release掉上一个使用的buf,这样有什么问题么

吴少雄

0个粉丝

15

问答

0

专栏

0

资料

吴少雄 2017-04-18 12:11:32
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=48410&ptid=14798]lyric 发表于 2017-4-18 08:35[/url]
你说的没错,我的采集是在一个进程里,编码是在另外一个进程里,内存buf由采集进程分配,编码使用的内存 ...[/quote]

肯定会有问题的,你怎么确保采集线程中的数据,在编码线程中的send的时候,这个Frame没有释放!估计你只是memcpy的,你这种需求有两种方案都可以实现

1 DMA拷贝一份,在采集线程中进行数据拷贝,在编码线程sendframe就可以了

2 在采集线程中,send frame,在编码线程超时去拿数据,这样就ok了,你可以试一下。新手不是很懂,只是建议

lyric

1个粉丝

22

问答

0

专栏

3

资料

lyric 2017-04-18 15:06:35
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=48430&ptid=14798]吴少雄 发表于 2017-4-18 12:11[/url]
肯定会有问题的,你怎么确保采集线程中的数据,在编码线程中的send的时候,这个Frame没有释放!估计你只 ...[/quote]

好的,非常感谢!我尝试一下.

eken

0个粉丝

8

问答

0

专栏

0

资料

eken 2017-06-20 13:45:11
认可0
可能不是这个原因

lyric

1个粉丝

22

问答

0

专栏

3

资料

lyric 2017-06-20 17:19:30
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=53178&ptid=14798]eken 发表于 2017-6-20 13:45[/url]
可能不是这个原因[/quote]

大神觉得的原因是什么?
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区