Commit 16e83cbb authored by Philip Gladstone's avatar Philip Gladstone

Fix a bug in the conversion of rgba32->yuv420p. This resulted in garbage images

when this conversion was used. I suspect that the same bug may be lurking in
other conversions. [The assumption was that the linesize was equal to the width
for both the source and destination images. This turns out not to be true
in some cases.]

Originally committed as revision 1556 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 04bbd31b
......@@ -574,8 +574,8 @@ static void rgb_name ## _to_yuv420p(AVPicture *dst, AVPicture *src, \
cb = dst->data[1]; \
cr = dst->data[2]; \
\
wrap = width; \
wrap3 = width * BPP; \
wrap = dst->linesize[0]; \
wrap3 = src->linesize[0]; \
p = src->data[0]; \
for(y=0;y<height;y+=2) { \
for(x=0;x<width;x+=2) { \
......@@ -620,8 +620,10 @@ static void rgb_name ## _to_yuv420p(AVPicture *dst, AVPicture *src, \
p += -wrap3 + 2 * BPP; \
lum += -wrap + 2; \
} \
p += wrap3; \
lum += wrap; \
p += wrap3 + (wrap3 - width * BPP); \
lum += wrap + (wrap - width); \
cb += dst->linesize[1] - width / 2; \
cr += dst->linesize[2] - width / 2; \
} \
} \
\
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment