比如在YUV422转RGB图像中
r = y + 1.402*(v-128);
b = y + 1.772*(u-128);
g = y - 0.34414*(u-128) - 0.71414*(v-128);
浮点运算和除法运算比较占时间,
可以采用移位运算来解决
r = y + ((5743*(v-128))>>12);
g = y - ((1410*(u-128)+2925*(v-128))>>12);
b = y + ((7258*(v-128))>>12);
移位 12 表示除以4096
其中5743 = 4096*1.402其他参数同样这样计算,这样的话我整个函数的耗时可以由9~10ms提升到4~5ms,其他还没有优化。