我不得不说,今天我在做将RGB565数据转换成YUV411的优化过程中取巧了,我对不起严谨的数学,对不起党和人民对我的信任.
下面我坦白我的错误:
对于输入的RGB数据
L1:p1p2p3p4...
L2:n1n2n3n4...
得到的UV的值应该是p1,p2,n1,n2的平均值作为第一个点, p3,p4,n3,n4作为第二值,在以前的优化中,我们已经大大的取巧了,其实只用了p1,和p3这2个点,根本就没有取平均.
现在为了进一步优化, 就更离谱啦,我直接用p1,p2这2个点了,好处就是我一次可以把2个UV的值都算出来. 虽然效果会有不一样,但是善良的群众的眼睛还是被蒙蔽了.
通过这个改动,大概可以提高1%+的性能. 同时今天把算Y和算VU的拆了开来,这样寄存器就够用了, 有更多的优化余地了.为明天能过进一步优化打下了坚实的基础.