当前位置: 首页 > news >正文

常州市网站制作推广系统建站

常州市网站制作,推广系统建站,政协 网站建设,网站关键词搜索排名基于DSP系统开发的视频编解码系统#xff0c;国内几乎都是走的移植#xff0c;优化的路线#xff0c;并且移植的代码#xff0c;都是开源的。毕竟花费大量的人力#xff0c;物力去开发一套自己的代码#xff0c;并不见得比一些成熟的开源代码效率更高#xff0c;健壮性更…基于DSP系统开发的视频编解码系统国内几乎都是走的移植优化的路线并且移植的代码都是开源的。毕竟花费大量的人力物力去开发一套自己的代码并不见得比一些成熟的开源代码效率更高健壮性更好。更何况开发速度对于一个产品的发展而言更是重要。 目前对于H.264而言移植的代码主要有JM,x264和T264。移植的时候就需要对各个代码进行测试以确定要移植的代码。相对而言JM的移植更容易但效率比较差如果基于科学研究移植JM的比较多多见于各高校的研究人员。对企业而言考虑到实时性的要求移植以X264和T264居多。 将视频编解码移植到DSP的时候考虑到DSP系统资源的宝贵主要考虑的因素是系统空间包括程序空间和数据空间所以需要对原始的C代码进行评估这就需要对于所移植的代码有一个比较详细的了解。代码空间一般可以通过map文件进行估算。数据空间的估计需要计算程序中内存的使用情况除了malloc申请的空间还包括静态数组主要是H.264标准中的各种表格数组以及一些全局变量等等。 准备好了这些就可以开始移植了移植也是一个考验你的过程。 做好了移植的准备工作就进入了开发过程的第一个重要阶段---移植。 移植开发的时候最好准备两个版本一个纯C代码在VC下编译,运行,另一个是VDSP下的版本(ccs同理VC版本主要是验证代码运行是否正确VDSP版本就是移植以后的版本两个版本同步更新即尽量保持两个版本的一致性但能够同时在VC和VDSP下运行。在移植过程中一般会遇到的问题如下 1.头文件的不同一般问题都是linux下的头文件在VDSP中没有存在。最典型的就是inttypes.h 和 stdint.h这种头的作用主要是定义了8字符16字符32字符64字符的数据类型移植的时候可以自己建一个头文件或者直接在其他的头文件中把这些数据类型的定义加进去这样的话就不会出现问题。其他的类似要么找相应的头文件替换要么干脆自己定义。 2.Int64_t和Uint64_t 的问题, 在第一步中,其实也存在这个问题, 不过我最初是用long和Unsigned long 来代替不过这样的话编译是可以通过但仔细分析其实是有问题的。一般来讲64位数的用途有两个第一种是这个数字可能比较大当累积到一定的程度可能超过32位这种情况下可以用32位代替不过最好加上注释告诉自己这个数可能越界在后面调试的时候要提示自己注意一下。另一种用途是开发者为了速度的要求对一些变量复制的时候使用了强制性的指针赋值这种情况下就不能直接该成32位数据了那样的话虽然编译通过后面运行肯定有错误的。这种情况下可以使用32位数据类型分两条语句对变量赋值当然这是个时候要千万注意不要把地址搞错了。 3. Inline的问题移植以后编译的时候Inline经常会报错。虽然有编译选项可以去掉错误不过你如果和我一样不熟悉的话直接去掉 Inline关键字到后面随着对VDSP熟悉以后如果有优化的需要再按照VDSP的语法为自己想要嵌入的函数增加Inline关键字。 经过上面的修改一般情况下编译就没有问题了当然这只是移植的第一步。距离成功还很远 代码可以编译了以后你可以尝试着运行一般情况下都会出错并且链接都会有问题所以还需要进行一下工作。 1. 配置LDF文件。因为刚移植的代码往往数据和程序都非常大所以SRAM里面肯定是放不下的这个时候链接就会有问题。刚开始的时候最好把所有的程序和数据都放在SDRAM里面去这样的链接就不会有问题了。Stack和heap情况类似开始的时候都先放到SDRAM。开始的时候你需要的是一个可以运行正确的程序速度倒在其次。 2.Malloc的问题。DSP下的开发malloc都是一个需要解决的问题。动态申请内存就算可以运行结果往往也是不对的。所以最好进行静态分配用数组的形式分配这样做的好处是可以方便自己管理那些数组多大放在那里自己都很清楚因为优化的时候有一些是要放在SRAM中另外一些特别大的才放在SDRAM中这样才能取的比较好的效果另外静态数组也稳定性一些不需要记着去释放。 3.文件操作。在VDSP的SETTING下有一个STDIO的开关其实可以支持文件操作但是我调试的时候发现有些情况下是有问题的。比如我在一个循环中使用fread但是他只有第一次的读取是有效的但有些时候它好像又可以。所以你调试的时候如果发现结果和VC下运行的不同可以重点看看是不是这里出了问题。 4.调试跟踪。经过上面的准备程序已经可以运行了。你可以在Simulator下仿真或者板子上直接仿真。在SI下速度会很慢不过Sesion里面有一个blackfin family那个sision速度还可以当然有板子会更好。我们开发的时候我使用板子的时间总共不到两个月所以浪费了很多时间现在回头看看好心痛。 调试结果OK了的话说明移植已经成功了。就可以进入下一个最主要的阶段---优化了。 移植搞好了以后就可以进行优化了优化是一个长期的枯燥的但很有挑战性的工作。做优化你要熟悉blackfin的汇编指令熟悉H.264标准熟悉你所移植的代码结构在优化过程中的确是很枯燥的需要你很有耐性经常会因为一个小小的错误让你跟踪几天甚至几星期但是当你看到随着你工作的不断进展程序需要的cycle数越来越少还是很有成就感的。 在blackfin上做优化最主要的工作可以分为 1.系统结构优化。 2.汇编优化。 3 cache和DMA优化。 一个好的优化程序这几个方面肯定都会涉及。至于各自所起的作用我没有详细测试。系统结构优化和汇编优化可以先进行。等做到一定程度了再进行cache和DMA的优化。
http://www.zqtcl.cn/news/775546/

相关文章:

  • 共和县公司网站建设seo网络推广招聘
  • 网站怎样做外链百度网站地图提交
  • 瑞安联科网站建设中国做网站公司排名
  • jsp网站开发详解 赵增敏jsp网站首页怎么做
  • 有哪些可以做图的网站啊莱芜金点子广告电子版2024
  • 免费营销型网站模版南宁比较有好的网站制作公司
  • 做外贸上什么网站什么什么设计英文网站
  • 嘿客免费网站建设网站对联图片
  • 一件代发48个货源网站韶关最新消息
  • 网站都需要备案吗安徽建设通网站
  • 外包公司 网站建设 深圳电子商务公司设计网站建设
  • 怎么添加网站背景音乐定制建站
  • 西安网站建设和推广公司php企业网站开发实训报告
  • 市网站制作番禺绿叶居
  • 网站漂浮物怎么做电子商务网站开发实训体会
  • 电商网站建设定制济南网站建设及推广
  • 网站标签化wordpress 输出评论内容 函数
  • 明星个人网站设计汕头网络推广公司
  • 深圳有哪些做网站公司好武夷山建设局网站
  • 怎么设立网站赚广告费一个网站可以做多少关键字
  • 网站刚建好怎么做能让百度收录成都定制网站建
  • thinkphp网站开发技术做电脑租赁网站
  • 网站设计评语中午版wordpress
  • 邢台企业手机网站建设汕头网站制作后缀
  • 微网站后台内容设置做网站语言排名2018
  • 嘉兴网站制作网站建设外贸营销推广平台有哪些
  • 网站开发集广州高端网站定制开发价格
  • 网站开发培训成都网站建设 报价单 doc
  • 苏州哪里有做淘宝网站的WordPress模板博客主题
  • 网站做中转做任务 网站