[Spice-devel] [spice-common v3 04/12] quic: Get rid of RLE_STAT #define

Frediano Ziglio fziglio at redhat.com
Fri Aug 4 07:45:51 UTC 2017


> 
> It's always set, no need to have conditional compilation based on it.
> 
> Signed-off-by: Christophe Fergeau <cfergeau at redhat.com>
> ---
>  common/quic.c      | 53
>  ++---------------------------------------------------
>  common/quic_tmpl.c | 12 ------------
>  2 files changed, 2 insertions(+), 63 deletions(-)
> 
> diff --git a/common/quic.c b/common/quic.c
> index db9f2f7..0403db9 100644
> --- a/common/quic.c
> +++ b/common/quic.c
> @@ -30,7 +30,6 @@
>  #include "bitops.h"
>  
>  #define RLE
> -#define RLE_STAT
>  
>  /* ASCII "QUIC" */
>  #define QUIC_MAGIC 0x43495551
> @@ -106,7 +105,6 @@ typedef struct CommonState {
>      unsigned int wmidx;
>      unsigned int wmileft;
>  
> -#ifdef RLE_STAT
>      int melcstate; /* index to the state array */
>  
>      int melclen;  /* contents of the state array location
> @@ -117,7 +115,6 @@ typedef struct CommonState {
>                       of melclen bits */
>  
>      unsigned long melcorder;  /* 2^ melclen */
> -#endif
>  } CommonState;
>  
>  
> @@ -498,8 +495,6 @@ static inline void decode_eat32bits(Encoder *encoder)
>  
>  #ifdef RLE
>  
> -#ifdef RLE_STAT
> -
>  static inline void encode_ones(Encoder *encoder, unsigned int n)
>  {
>      unsigned int count;
> @@ -668,50 +663,6 @@ static int decode_channel_run(Encoder *encoder, Channel
> *channel)
>  
>      return runlen;
>  }
> -
> -#else
> -
> -static inline void encode_run(Encoder *encoder, unsigned int len)
> -{
> -    int odd = len & 1U;
> -    int msb;
> -
> -    len &= ~1U;
> -
> -    while ((msb = spice_bit_find_msb(len))) {
> -        len &= ~(1 << (msb - 1));
> -        spice_assert(msb < 32);
> -        encode(encoder, (1 << (msb)) - 1, msb);
> -        encode(encoder, 0, 1);
> -    }
> -
> -    if (odd) {
> -        encode(encoder, 2, 2);
> -    } else {
> -        encode(encoder, 0, 1);
> -    }
> -}
> -
> -static inline unsigned int decode_run(Encoder *encoder)
> -{
> -    unsigned int len = 0;
> -    int count;
> -
> -    do {
> -        count = 0;
> -        while (encoder->io_word & (1U << 31)) {
> -            decode_eatbits(encoder, 1);
> -            count++;
> -            spice_assert(count < 32);
> -        }
> -        decode_eatbits(encoder, 1);
> -        len += (1U << count) >> 1;
> -    } while (count > 1);
> -
> -    return len;
> -}
> -
> -#endif
>  #endif
>  
>  static inline void init_decode_io(Encoder *encoder)
> @@ -1042,7 +993,7 @@ static int encoder_reset(Encoder *encoder, uint32_t
> *io_ptr, uint32_t *io_ptr_en
>      encoder->rgb_state.wmileft = DEFwminext;
>      set_wm_trigger(&encoder->rgb_state);
>  
> -#if defined(RLE) && defined(RLE_STAT)
> +#if defined(RLE)
>      encoder_init_rle(&encoder->rgb_state);
>  #endif
>  
> @@ -1106,7 +1057,7 @@ static int encoder_reset_channels(Encoder *encoder, int
> channels, int width, int
>          encoder->channels[i].state.wmileft = DEFwminext;
>          set_wm_trigger(&encoder->channels[i].state);
>  
> -#if defined(RLE) && defined(RLE_STAT)
> +#if defined(RLE)
>          encoder_init_rle(&encoder->channels[i].state);
>  #endif
>      }
> diff --git a/common/quic_tmpl.c b/common/quic_tmpl.c
> index f620cc9..315973d 100644
> --- a/common/quic_tmpl.c
> +++ b/common/quic_tmpl.c
> @@ -252,19 +252,11 @@ do_run:
>          while (cur_row[i].a == cur_row[i - 1].a) {
>              run_size++;
>              if (++i == end) {
> -#ifdef RLE_STAT
>                  encode_channel_run(encoder, channel, run_size);
> -#else
> -                encode_run(encoder, run_size);
> -#endif
>                  return;
>              }
>          }
> -#ifdef RLE_STAT
>          encode_channel_run(encoder, channel, run_size);
> -#else
> -        encode_run(encoder, run_size);
> -#endif
>          stopidx = i + channel->state.waitcnt;
>  #endif
>      }
> @@ -481,11 +473,7 @@ static void FNAME(uncompress_row_seg)(Encoder *encoder,
> Channel *channel,
>  do_run:
>          channel->state.waitcnt = stopidx - i;
>          run_index = i;
> -#ifdef RLE_STAT
>          run_end = i + decode_channel_run(encoder, channel);
> -#else
> -        run_end = i + decode_run(encoder);
> -#endif
>  
>          for (; i < run_end; i++) {
>              cur_row[i].a = cur_row[i - 1].a;

I would also extend the rationale. The name of this macro is quite bad but
it changes the image encoding so for compatibility we cannot change it now
that easily.

Acked-by: Frediano Ziglio <fziglio at redhat.com>

Code compile to the same binary.

Frediano


More information about the Spice-devel mailing list