前些天花了点时间一直了mpeg2decode,可图像就是显示不出来。气得我把代码删了。
今天又移植了一遍,不过并没有像上次一样直接添加图像显示的代码,而是改成了printf,这样如果函数被调用的话,就会有东西打出来。结果,打了有几十屏,眼睛都花了。
看来是对了,于是把代码改成了对图像的处理,结果还是没显示,看来是自己的图像处理错了。于是,看了一下内核代码,才发现画点后,忘了更新屏幕,所以图像才没显示出来。加入两行代码后,程序正确了。
不过处理的速度实在不敢令人恭维,一个点一个点的显示。后来,就改成了先在内存画点,等一帧都画完了,再一次刷新到屏幕上。速度非常快。
想想也是,在内存画点,只要一条赋值语句,而直接画到屏幕上,则先要陷入到内核,即使是什么都不作,速度也差了很多倍,况且还要有很多的判断和屏幕刷新。