因VPU预留内存太小造成的视频播放太卡

在WINCE上,如果有客户反馈某个视频播放比较卡,我首先会想到的是对方播放的是什么格式的视频。

客户往往都会拿一些诸如1920X1080的视频来做播放测试,视频编码格式也是我比较关心的内容,TCC8900

芯片打的口号就是"全解码“,虽然其它原厂也标称”全解“,但是我认为Telechips所谓的全解码指的是支持主

流视频编码格式硬解。

   前不久和一个客户反馈说WINCE平台是播放一则.WMV容器的视频比较卡,其视频编码格式为WMV9,TCC8900

对WVM9及其后续版本是采用硬解的,查看了magellan.bib后发现,默认为VPU预留的内存空间为40M,我认为40M的

VPU预留内存不是一个硬解高码流的理想参数,所以我将VPU预留内存提高到了96M,具体修改该如下:

1.修改magellan.bib中的HWLEN,将#define HWLEN0 2800000 ;  40MB 修改为:#define HWLEN  6000000 ;  96MB

2.此时,供OS可用的内存就少了,所以将:#define RAMLEN 0A600000 ; 166MB修改该为:#define RAMLEN 6E00000

于是修改后,几个关键的参数变为:

#define RAMSTART 82200000 (参考地址)

#define RAMLEN 06E00000 ; 110MB

#define DDRAWST 89000000

#define DDRAWLEN 01000000 ;  16MB

#define HWSTART 8A000000

#define HWLEN 06000000 ;  96MB

按照上述修改后,该客户反馈的.wmv视频可以流畅播放了。

另外,视频播放卡时,也需要关注此时CPU/MBUS/DDI的工作频率。

你可能感兴趣的:(因VPU预留内存太小造成的视频播放太卡)