在视频编解码的时候,由于传输显示等不同过程中所采用的数据格式不同,因此我们通常需要在RGB,YUV之间进行相互转换。看看这些公式,在视频图像处理的时候,我们就要进行大量的而且是浮点型的秘籍运算,随着用户对于图像质量的追求不断提升,图像的分辨率也越来越大,我们cpu的计算负荷越来越重,效率越来越低下。基于此,小编今天给大家带来了一个小小的技巧,单独计算没有太大优势,大量并发时还是可以提高效率的哦。


采取移位运算代替浮点运算: 就以计算Y的值为例: Y = 0.299R + 0.587G + 0.114*B,


稍稍变通一下哦: 0.299 = (0.299 * 128) >> 7 = 38.272 >>7 0.587 = (0.587 * 128) >> 7 = 75.136 >>7 0.114 = (0.114 * 128) >> 7 = 14.592 >>7 于是Y = (38*R + 75 * G + 15 * B) >> 7.

如此一来,我们通过移位运算而避免了大量的浮点运算,而如果你懂得使用汇编语言,并发时的效率优化还是值得考虑的哦!有兴趣试试吧!