spice/client
Alexander Larsson 5059c304be 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
2010-04-08 11:30:18 +02:00
..
gui Replace custom region implementation with pixman_region32_t 2010-02-23 22:52:06 +01:00
windows Use libjpeg to decode mjpegs, not ffmpeg 2010-04-08 11:30:18 +02:00
x11 Use libjpeg to decode mjpegs, not ffmpeg 2010-04-08 11:30:18 +02:00
.gitignore fresh start 2009-10-14 15:06:41 +02:00
application.cpp client: handling SPICE_MSG_MAIN_MIGRATE_SWITCH_HOST 2010-04-06 14:56:46 +02:00
application.h client: handling SPICE_MSG_MAIN_MIGRATE_SWITCH_HOST 2010-04-06 14:56:46 +02:00
audio_channels.h spice client: cosmetic changes 2009-11-09 17:38:27 +02:00
audio_devices.h fresh start 2009-10-14 15:06:41 +02:00
cache.hpp Add optional templated base class to Cache and SharedCache 2010-02-23 14:43:20 +01:00
cairo_canvas.cpp fresh start 2009-10-14 15:06:41 +02:00
canvas_utils.cpp fresh start 2009-10-14 15:06:41 +02:00
canvas.cpp libspice: add off screens support 2010-04-03 05:35:31 +03:00
canvas.h libspice: add off screens support 2010-04-03 05:35:31 +03:00
client_net_socket.cpp Use the new header names 2010-02-04 18:49:05 +01:00
client_net_socket.h spice client: Transfer all channels run loop from EventsLoop class to ProcessLoop class 2009-11-09 17:30:49 +02:00
cmd_line_parser.cpp client: add Platform::term_printf 2010-01-11 19:57:29 +02:00
cmd_line_parser.h fresh start 2009-10-14 15:06:41 +02:00
common.h Use standard int types and <spice/types.h> 2010-02-04 18:49:05 +01:00
cursor_channel.cpp Use macros from <spice/macros.h> rather than duplicate them 2010-03-09 11:10:00 +01:00
cursor_channel.h Rename symbols that were changed in spice-protocol 2010-02-04 18:49:00 +01:00
cursor.cpp Use macros from <spice/macros.h> rather than duplicate them 2010-03-09 11:10:00 +01:00
cursor.h Use the new header names 2010-02-04 18:49:05 +01:00
debug.h spice server: surface create/destroy protocol support 2010-04-03 05:34:48 +03:00
display_channel.cpp Use libjpeg to decode mjpegs, not ffmpeg 2010-04-08 11:30:18 +02:00
display_channel.h libspice: add off screens support 2010-04-03 05:35:31 +03:00
event_sources.h spice client: creating a general process loop. 2009-11-09 14:39:33 +02:00
gdi_canvas.cpp fresh start 2009-10-14 15:06:41 +02:00
gl_canvas.cpp Define GL_GLEXT_PROTOTYPES in CFLAGS not in random places in the source 2010-03-10 21:28:47 +01:00
glc.cpp Define GL_GLEXT_PROTOTYPES in CFLAGS not in random places in the source 2010-03-10 21:28:47 +01:00
glz_decode_tmpl.c Rename symbols that were changed in spice-protocol 2010-02-04 18:49:00 +01:00
glz_decoded_image.h fresh start 2009-10-14 15:06:41 +02:00
glz_decoder_config.h Use macros from <spice/macros.h> rather than duplicate them 2010-03-09 11:10:00 +01:00
glz_decoder_window.cpp Fix delete vs delete[] mismatches 2010-02-10 11:25:28 +01:00
glz_decoder_window.h fresh start 2009-10-14 15:06:41 +02:00
glz_decoder.cpp Make canvas Glz decoder integration nicer 2010-03-08 19:45:27 +01:00
glz_decoder.h Make canvas Glz decoder integration nicer 2010-03-08 19:45:27 +01:00
hot_keys.cpp fresh start 2009-10-14 15:06:41 +02:00
hot_keys.h fresh start 2009-10-14 15:06:41 +02:00
icon.h fresh start 2009-10-14 15:06:41 +02:00
inputs_channel.cpp Rename symbols that were changed in spice-protocol 2010-02-04 18:49:00 +01:00
inputs_channel.h Rename symbols that were changed in spice-protocol 2010-02-04 18:49:00 +01:00
inputs_handler.h client: KeyHandler now receive unicode char event in addition to RedKey events 2009-11-30 18:22:13 +02:00
lines.cpp Add line rasterizer 2010-02-23 14:43:20 +01:00
lz.cpp fresh start 2009-10-14 15:06:41 +02:00
Makefile.am Use libjpeg to decode mjpegs, not ffmpeg 2010-04-08 11:30:18 +02:00
mem.cpp New memory allocators that exit on OOM and handle multiplication overflow 2010-03-11 12:13:59 +01:00
menu.cpp spice: menu additons 2010-01-07 13:53:41 +02:00
menu.h spice: menu additons 2010-01-07 13:53:41 +02:00
mjpeg_decoder.cpp Use libjpeg to decode mjpegs, not ffmpeg 2010-04-08 11:30:18 +02:00
mjpeg_decoder.h Use libjpeg to decode mjpegs, not ffmpeg 2010-04-08 11:30:18 +02:00
monitor.cpp spice: position mouse in primary monitor center after full screen toggle 2009-12-30 22:15:02 +02:00
monitor.h Use the new header names 2010-02-04 18:49:05 +01:00
pixels_source.h Use the new header names 2010-02-04 18:49:05 +01:00
pixman_utils.cpp Add pixman utilities 2010-02-23 14:43:15 +01:00
platform.h client: add Platform::term_printf 2010-01-11 19:57:29 +02:00
playback_channel.cpp Rename symbols that were changed in spice-protocol 2010-02-04 18:49:00 +01:00
process_loop.cpp client: fix unsafe access to an event member 2010-04-06 11:34:21 +02:00
process_loop.h spice client: calling the timers during modal loop in Windows 2009-11-09 22:10:50 +02:00
quic.cpp fresh start 2009-10-14 15:06:41 +02:00
read_write_mutex.h fresh start 2009-10-14 15:06:41 +02:00
record_channel.cpp Rename symbols that were changed in spice-protocol 2010-02-04 18:49:00 +01:00
red_cairo_canvas.cpp libspice: add off screens support 2010-04-03 05:35:31 +03:00
red_cairo_canvas.h libspice: add off screens support 2010-04-03 05:35:31 +03:00
red_channel.cpp client: add command line support for ciphers, ca file, and host certificate subject 2010-03-18 10:21:47 +01:00
red_channel.h Rename symbols that were changed in spice-protocol 2010-02-04 18:49:00 +01:00
red_client.cpp client: handling SPICE_MSG_MAIN_MIGRATE_SWITCH_HOST 2010-04-06 14:56:46 +02:00
red_client.h client: handling SPICE_MSG_MAIN_MIGRATE_SWITCH_HOST 2010-04-06 14:56:46 +02:00
red_drawable.h Rename symbols that were changed in spice-protocol 2010-02-04 18:49:00 +01:00
red_gdi_canvas.cpp libspice: add off screens support 2010-04-03 05:35:31 +03:00
red_gdi_canvas.h libspice: add off screens support 2010-04-03 05:35:31 +03:00
red_gl_canvas.cpp libspice: add off screens support 2010-04-03 05:35:31 +03:00
red_gl_canvas.h libspice: add off screens support 2010-04-03 05:35:31 +03:00
red_key.h fresh start 2009-10-14 15:06:41 +02:00
red_peer.cpp client: add command line support for ciphers, ca file, and host certificate subject 2010-03-18 10:21:47 +01:00
red_peer.h client: add command line support for ciphers, ca file, and host certificate subject 2010-03-18 10:21:47 +01:00
red_pixmap_cairo.h fresh start 2009-10-14 15:06:41 +02:00
red_pixmap_gdi.h fresh start 2009-10-14 15:06:41 +02:00
red_pixmap_gl.h Rename symbols that were changed in spice-protocol 2010-02-04 18:49:00 +01:00
red_pixmap.h Rename symbols that were changed in spice-protocol 2010-02-04 18:49:00 +01:00
red_types.h fresh start 2009-10-14 15:06:41 +02:00
red_window.h Use the new header names 2010-02-04 18:49:05 +01:00
region.cpp fresh start 2009-10-14 15:06:41 +02:00
rop3.cpp fresh start 2009-10-14 15:06:41 +02:00
screen_layer.cpp Replace custom region implementation with pixman_region32_t 2010-02-23 22:52:06 +01:00
screen_layer.h Rename symbols that were changed in spice-protocol 2010-02-04 18:49:00 +01:00
screen.cpp Replace custom region implementation with pixman_region32_t 2010-02-23 22:52:06 +01:00
screen.h Rename symbols that were changed in spice-protocol 2010-02-04 18:49:00 +01:00
shared_cache.hpp Add optional templated base class to Cache and SharedCache 2010-02-23 14:43:20 +01:00
threads.cpp fresh start 2009-10-14 15:06:41 +02:00
threads.h fresh start 2009-10-14 15:06:41 +02:00
tunnel_channel.cpp Use the new header names 2010-02-04 18:49:05 +01:00
tunnel_channel.h spice client: creating a general process loop. 2009-11-09 14:39:33 +02:00
utils.cpp client: add GUI infrastructure + functional login dialog 2009-12-28 12:38:58 +02:00
utils.h Use macros from <spice/macros.h> rather than duplicate them 2010-03-09 11:10:00 +01:00