Merge commit 'fc1eda543c6ef043300612db90da5cfd972af650'

* commit 'fc1eda543c6ef043300612db90da5cfd972af650':
  swscale: fix sign extensions in yuv planar conversion

Conflicts:
	libswscale/rgb2rgb_template.c

See: a07e9d72a1
See: a30972609c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-10-18 23:39:56 +02:00
commit fa040c2247

View File

@ -355,9 +355,9 @@ static inline void yuvPlanartoyuy2_c(const uint8_t *ysrc, const uint8_t *usrc,
const uint8_t *yc = ysrc, *uc = usrc, *vc = vsrc; const uint8_t *yc = ysrc, *uc = usrc, *vc = vsrc;
for (i = 0; i < chromWidth; i += 2) { for (i = 0; i < chromWidth; i += 2) {
uint64_t k = yc[0] + (uc[0] << 8) + uint64_t k = yc[0] + (uc[0] << 8) +
(yc[1] << 16) + (unsigned)(vc[0] << 24); (yc[1] << 16) + ((unsigned) vc[0] << 24);
uint64_t l = yc[2] + (uc[1] << 8) + uint64_t l = yc[2] + (uc[1] << 8) +
(yc[3] << 16) + (unsigned)(vc[1] << 24); (yc[3] << 16) + ((unsigned) vc[1] << 24);
*ldst++ = k + (l << 32); *ldst++ = k + (l << 32);
yc += 4; yc += 4;
uc += 2; uc += 2;
@ -419,9 +419,9 @@ static inline void yuvPlanartouyvy_c(const uint8_t *ysrc, const uint8_t *usrc,
const uint8_t *yc = ysrc, *uc = usrc, *vc = vsrc; const uint8_t *yc = ysrc, *uc = usrc, *vc = vsrc;
for (i = 0; i < chromWidth; i += 2) { for (i = 0; i < chromWidth; i += 2) {
uint64_t k = uc[0] + (yc[0] << 8) + uint64_t k = uc[0] + (yc[0] << 8) +
(vc[0] << 16) + (unsigned)(yc[1] << 24); (vc[0] << 16) + ((unsigned) yc[1] << 24);
uint64_t l = uc[1] + (yc[2] << 8) + uint64_t l = uc[1] + (yc[2] << 8) +
(vc[1] << 16) + (unsigned)(yc[3] << 24); (vc[1] << 16) + ((unsigned) yc[3] << 24);
*ldst++ = k + (l << 32); *ldst++ = k + (l << 32);
yc += 4; yc += 4;
uc += 2; uc += 2;