联咏平台(Novatek) | 走廊模式切换流程优化

1 问题

  切换走廊模式,约5s后才会有画面变化。等待画面变化时间比原来的版本时间要长 3-4s,影响客户体验。

2 分析

  1. 关于走廊模式切变得流程
      1、联咏官方给出的 Demo 的流程是 stop_venc -> set_venc -> start_venc
      2、自己编写的流程是 stop_vprc -> stop_vcap -> stop_venc -> set_venc -> start_vprc
    -> start_vcap -> start_venc

  2. 自己代码关于切变走廊模式的流程的解析
      自己代码的视频数据流如下图1所示:
    视频数据流
      自己代码中的 stop_venc 和 start_venc 的流程是用来切变视频参数使用的,需要做到 Vcap、Vprc、Venc 三个模块统一参数,所以在 stop、start 的流程中会将三个模块全部 stop 之后再全部 start,以确保三个模块的参数统一。
      剖析开来解释这块流程,Vcap 与 Vprc 采用的是 Direct 模式,如果要 stop Vcap 模块,就要先将 Vprc 模块所有的通道 stop。

  3. 深挖切变走廊模式耗时根因

1、为什么之前的版本中,切变走廊模式耗时短(约 1s)?
在 TVT_libsdk 的代码中,stop_vcap(0) 的时候,会先 stop_vprc_0_out_1、stop_vprc_0_out_2、stop_vprc_0_out_0、stop_vprc_0_out_4,这样的流程中,遗漏了 vprc_0_out_5 没有被stop,直接导致 stop_vprc 和 stop_vcap 的流程全部失败。在TVT_libsdk 设计的流程 stop_vprc -> stop_vcap -> stop_venc -> set_venc -> start_vprc -> start_vcap -> start_venc 中,真正被执行的只有 stop_venc -> set_venc -> start_venc。误打误撞执行了联咏官方 Demo 中的正确流程。
2. 为什么当前的版本中,切变走廊模式耗时长(约 5s)?
在我发现代码流程中因为遗漏了 vprc_0_out_5 没有被stop,导致 stop_vprc 和 stop_vcap 的流程全部失败之后,我就补充上了 stop_ vprc_0_out_5,使得整个流程被完全正确的执行。那么在切变走廊模式的时候,全部流程就被完全走完,耗时较长。如果能判断是切走廊模式,按 stop_venc -> set_venc -> start_venc 流程,耗时是正常的 1S,验证通过

3 措施

  摸清切变走廊模式耗时较长的根本原因之后,就可以从根本上解决这个问题。重新增加只会 stop_venc 和 start_venc 的函数,在判断为切边走廊模式操作时,调用新的 stop_venc 和 start_venc 函数,使得切变走廊模式的流程跟联咏官方给出的 Demo 的流程一致。

4 测试

  反复切换正常模式和走廊模式,均在等待1S左右改变画面,修改有效。

5 总结

  流程规范化、代码标准化、完整注释等行为,对我们以后的工作有极大的帮助,驱动代码也应该遵循一个准则:通用化、简单化、标准化、接口化。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: NOVATEK SDK是一个适用于视频相关产品的软件开发工具包,可以帮助开发者快速、高效地开发想要的产品或应用。该SDK提供了丰富的功能仿真、编译器、调试器、API库、示例程序等开发工具和接口,可满足大多数应用场景的需求。 要下载NOVATEK SDK,首先需要访问NOVATEK官方网站并注册账户。注册成功后,可以在官网上找到相关产品的SDK下载链接,按照指引进行下载和安装。在使用过程中,需要注意一些细节问题,如SDK的版本兼容性、接口的调试等,这需要开发者具备一定的技术知识和经验。 NOVATEK SDK可用于多种应用领域,包括车载电子、智能摄像、安防监控等。通过下载使用该SDK,开发者将可以更加便捷地开发高质量的产品,为市场带来更多创新和价值。 ### 回答2: Novatek公司是一家集成电路设计与半导体制造公司,他们推出的SDK开发工具可以帮助开发者更加高效地开发应用。如果想要下载Novatek SDK,可以访问官方网站,通过注册后获取下载链接。在下载之前,需要注意确认所需的开发环境,以及对应的系统架构等信息是否匹配。下载好后,可以根据具体需求进行安装和配置。在使用SDK进行开发时,可以通过官方提供的文档和示例代码来快速入手,提高开发效率。同时,Novatek SDK还提供了强大的调试工具和支持,让开发者能够更加轻松地进行测试和验证。总的来说,Novatek SDK是一个非常有用的开发工具,可以帮助开发者更好地进行应用开发。 ### 回答3: Novatek sdk是一种软件开发工具包,通常用于为嵌入式系统(例如智能家居、物联网设备等)开发应用程序和控制台。要下载Novatek sdk,你可以前往Novatek官方网站并找到此产品的下载页面。在该页面上,你将看到不同版本的Novatek sdk,选择最适合你的版本并进行下载。下载后,你需要按照文档说明安装和配置sdk。你还可以从Novatek组织的开发者社区中获取学习和支持。这个社区汇聚了许多专家和开发者,他们在开发中遇到的问题和解决方案、经验分享和技术文档等有价值的资源都可以在社区中找到。总之,下载并使用Novatek sdk可以帮助你更快更高效地开发出适用于嵌入式系统的应用程序和控制台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值