title: Scaling byte pixel values (y=ax+b) with SSE2 (as floats)?
body: <p>I want to calculate <code>y = ax + b</code>, where x and y is a pixel value [i.e, byte with value range is 0~255], while <code>a</code> and <code>b</code> is a float</p>
  
  <p>Since I need to apply this formula for each pixel in image, in addition, a and b is different for different pixel. Direct calculation in C++ is slow, so I am kind of interest to know the sse2 instruction in c++..</p>
  
  <p>After searching, I find that the multiplication and addition in float with sse2 is just as <code>_mm_mul_ps</code> and <code>_mm_add_ps</code>. But in the first place I need to convert the x in byte to float (4 byte).</p>
  
  <p>The question is, after I load the data from byte-data source (<code>_mm_load_si128</code>), how can I convert the data from byte to float?</p>