diff options
author | Alexander Larsson <alexl@redhat.com> | 2010-04-07 10:42:57 +0200 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2010-04-08 11:30:18 +0200 |
commit | 5059c304be3aeae6bf8c8b201f844afa77cf1323 (patch) | |
tree | ad1ca8cb21f5f2f06aae6145347e8e1da86770cd /common/gl_canvas.c | |
parent | ed568302ad62db7eb8cc52961484c227a401f14e (diff) | |
download | spice-5059c304be3aeae6bf8c8b201f844afa77cf1323.tar.gz spice-5059c304be3aeae6bf8c8b201f844afa77cf1323.tar.xz spice-5059c304be3aeae6bf8c8b201f844afa77cf1323.zip |
Use libjpeg to decode mjpegs, not ffmpeg
This is pretty straightforward, although there are two weird issues.
The current encoder has two bugs in the yuv conversion. First of all
it switches red and blue, due to something of an endianness issue. We
keep this behavior by switching red and blue. Maybe we want to
change this in the new protocol version since switching this may
cause jpeg compression to be worse.
Secondly, the old coder/decoder did rgb to/from yuv420 wrongly for
jpeg, not using the "full scale" version of Y that is used in jpeg,
but the other one where y goes from 16 to 235. (See jpeg/jfif
reference on http://en.wikipedia.org/wiki/YCbCr for details.)
The new decoder uses the full range in order to get better quality,
which means old encoders will show slightly darker images.
This completely removes all ffmpeg usage in the client
Diffstat (limited to 'common/gl_canvas.c')
0 files changed, 0 insertions, 0 deletions