Acked-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx> On Thu, 2016-06-09 at 13:31 +0100, Frediano Ziglio wrote: > Start putting all encoding code into dcc-encoders.c. > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> > --- > server/dcc-encoders.c | 29 ++++++++++++++++------------- > server/dcc-encoders.h | 6 ++++++ > server/dcc.c | 4 ++-- > server/dcc.h | 5 +++-- > 4 files changed, 27 insertions(+), 17 deletions(-) > > diff --git a/server/dcc-encoders.c b/server/dcc-encoders.c > index a657887..1ccfdc1 100644 > --- a/server/dcc-encoders.c > +++ b/server/dcc-encoders.c > @@ -291,19 +291,19 @@ static int zlib_usr_more_input(ZlibEncoderUsrContext > *usr, uint8_t** input) > return buf_size; > } > > -static void dcc_init_quic(DisplayChannelClient *dcc) > +static void image_encoders_init_quic(ImageEncoders *enc) > { > - dcc->quic_data.usr.error = quic_usr_error; > - dcc->quic_data.usr.warn = quic_usr_warn; > - dcc->quic_data.usr.info = quic_usr_warn; > - dcc->quic_data.usr.malloc = quic_usr_malloc; > - dcc->quic_data.usr.free = quic_usr_free; > - dcc->quic_data.usr.more_space = quic_usr_more_space; > - dcc->quic_data.usr.more_lines = quic_usr_more_lines; > + enc->quic_data.usr.error = quic_usr_error; > + enc->quic_data.usr.warn = quic_usr_warn; > + enc->quic_data.usr.info = quic_usr_warn; > + enc->quic_data.usr.malloc = quic_usr_malloc; > + enc->quic_data.usr.free = quic_usr_free; > + enc->quic_data.usr.more_space = quic_usr_more_space; > + enc->quic_data.usr.more_lines = quic_usr_more_lines; > > - dcc->quic = quic_create(&dcc->quic_data.usr); > + enc->quic = quic_create(&enc->quic_data.usr); > > - if (!dcc->quic) { > + if (!enc->quic) { > spice_critical("create quic failed"); > } > } > @@ -400,8 +400,10 @@ static void dcc_init_zlib(DisplayChannelClient *dcc) > > void dcc_encoders_init(DisplayChannelClient *dcc) > { > + ImageEncoders *enc = &dcc->encoders; > + > dcc_init_glz_data(dcc); > - dcc_init_quic(dcc); > + image_encoders_init_quic(enc); > dcc_init_lz(dcc); > dcc_init_jpeg(dcc); > #ifdef USE_LZ4 > @@ -415,8 +417,9 @@ void dcc_encoders_init(DisplayChannelClient *dcc) > > void dcc_encoders_free(DisplayChannelClient *dcc) > { > - quic_destroy(dcc->quic); > - dcc->quic = NULL; > + ImageEncoders *enc = &dcc->encoders; > + quic_destroy(enc->quic); > + enc->quic = NULL; > lz_destroy(dcc->lz); > dcc->lz = NULL; > jpeg_encoder_destroy(dcc->jpeg); > diff --git a/server/dcc-encoders.h b/server/dcc-encoders.h > index 8c3f22f..8ca66c9 100644 > --- a/server/dcc-encoders.h > +++ b/server/dcc-encoders.h > @@ -34,6 +34,7 @@ > typedef struct RedCompressBuf RedCompressBuf; > typedef struct GlzDrawableInstanceItem GlzDrawableInstanceItem; > typedef struct RedGlzDrawable RedGlzDrawable; > +typedef struct ImageEncoders ImageEncoders; > > void dcc_encoders_init (DisplayChannelC > lient *dcc); > void dcc_encoders_free (DisplayChannelC > lient *dcc); > @@ -160,6 +161,11 @@ struct RedGlzDrawable { > DisplayChannelClient *dcc; > }; > > +struct ImageEncoders { > + QuicData quic_data; > + QuicContext *quic; > +}; > + > #define RED_RELEASE_BUNCH_SIZE 64 > > #endif /* DCC_ENCODERS_H_ */ > diff --git a/server/dcc.c b/server/dcc.c > index a88f8e6..f911bb0 100644 > --- a/server/dcc.c > +++ b/server/dcc.c > @@ -1029,8 +1029,8 @@ static int dcc_compress_image_lz4(DisplayChannelClient > *dcc, SpiceImage *dest, > static int dcc_compress_image_quic(DisplayChannelClient *dcc, SpiceImage > *dest, > SpiceBitmap *src, compress_send_data_t* > o_comp_data) > { > - QuicData *quic_data = &dcc->quic_data; > - QuicContext *quic = dcc->quic; > + QuicData *quic_data = &dcc->encoders.quic_data; > + QuicContext *quic = dcc->encoders.quic; > volatile QuicImageType type; > int size, stride; > stat_start_time_t start_time; > diff --git a/server/dcc.h b/server/dcc.h > index a11d25a..e1cc099 100644 > --- a/server/dcc.h > +++ b/server/dcc.h > @@ -61,10 +61,11 @@ struct DisplayChannelClient { > spice_wan_compression_t jpeg_state; > spice_wan_compression_t zlib_glz_state; > int jpeg_quality; > + > + ImageEncoders encoders; > + > int zlib_level; > > - QuicData quic_data; > - QuicContext *quic; > LzData lz_data; > LzContext *lz; > JpegData jpeg_data; _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel