diff options
author | Hendrik Leppkes <h.leppkes@gmail.com> | 2014-03-23 18:09:30 +0400 |
---|---|---|
committer | Hendrik Leppkes <h.leppkes@gmail.com> | 2014-03-23 18:09:30 +0400 |
commit | 6cc8475cf62a3859bda633c5f546cd6a44671de8 (patch) | |
tree | 12682e74508fdcc8e4ef32b82c77641a7e3b781e /decoder | |
parent | 9cdf20189f55656b1ff64b820617ba904e9e2472 (diff) |
Avoid using an intermediate register
Diffstat (limited to 'decoder')
-rw-r--r-- | decoder/LAVVideo/pixconv/yuv2rgb.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/decoder/LAVVideo/pixconv/yuv2rgb.cpp b/decoder/LAVVideo/pixconv/yuv2rgb.cpp index e6a3d385..1ed662e5 100644 --- a/decoder/LAVVideo/pixconv/yuv2rgb.cpp +++ b/decoder/LAVVideo/pixconv/yuv2rgb.cpp @@ -240,9 +240,8 @@ static int yuv2rgb_convert_pixels(const uint8_t* &srcY, const uint8_t* &srcU, co xmm0 = _mm_mulhi_epi16(xmm0, coeffs->cy); /* Y*cy (result is 28 bits, with 12 high-bits packed into the result) */ xmm0 = _mm_add_epi16(xmm0, coeffs->rgb_add); /* Y*cy + 16 (in case of range compression) */ - xmm2 = coeffs->CbCr_center; /* move CbCr to proper range */ - xmm1 = _mm_subs_epi16(xmm1, xmm2); - xmm3 = _mm_subs_epi16(xmm3, xmm2); + xmm1 = _mm_subs_epi16(xmm1, coeffs->CbCr_center); /* move CbCr to proper range */ + xmm3 = _mm_subs_epi16(xmm3, coeffs->CbCr_center); xmm6 = xmm1; xmm4 = xmm3; |