总结一下几个月驱动开发的需求

1. 产品要求裁剪KO,干掉了无用函数和变量,占内存大的数组变量改成了动态申请。

感受:其实KO大了也有好处,静态申请效率高啊,KO的大小,大一点嘛,但是产品的需求。。


2.产品要求出1G版本,裁剪内次哦,根据场景、业务,不需要用到的内存裁剪掉。对解码器来说,就是各种通路下面偶尔的内存,安全通路,私有通路,原生通路,还有解码帧存。以前解过很多BUG是性能不足然后通过增加帧存来解决,VP9,H265,H264等等。现在裁剪掉帧存导致起变起播太慢有卡顿的问题。需要重新设计方案来解决,起播性能问题通过预分配内存来解决。

感受:对嵌入式来说内存很贵啊,内存不要乱使用啊,申请的地方很讲究,补不可冗余和耦合。


3.客户需要一个新的cfg选项来选择使能和关闭某个解码协议。新的接口获取能力级。

感受:加深对Makefile语法的理解和使用,代码做好解耦很重要,可以用宏来裁剪功能。


4.S3变分辨率最开始是花屏的状态,后面用方案上报一个事件,插一个黑帧,再后面开发了一套帧存管理的代码,优化成静态分割帧存,实现平滑变分辨率。

感受:加深对内存管理的理解,通过内存节点来管理,像这种静态分配的连续的一片内存的关系。


5.V620频道切台,切台是黑帧,增加引用计数来,来管理内存,实现解码器销毁了但是申请的帧存还能管理好的功能。

感受:引用计数是个好方案,精简,对内存的使用也大大提升了效率


6.显示帧存优化,重构,帧存的个数,调试选项。

感受:代码增加可维护性,前人栽树后人乘凉哦


7.Opentv5驱动从0开发。虽然narga给了参考的驱动模板。

感受:对字符设备驱动的理解更深了,虽然是接口层的驱动,没有涉及到复杂的业务和算法,但是基本雏形已经有。


8.帮摄像头模块的同事联调

你可能感兴趣的:(尬聊吐槽,编程杂谈)