[Spice-devel] [spice-common] Some steps toward quic_tmpl.c and quic_rgb_tmpl.c 'unification'
Christophe Fergeau
cfergeau at redhat.com
Thu Jul 20 14:00:48 UTC 2017
On Wed, Jul 05, 2017 at 10:27:18AM -0400, Frediano Ziglio wrote:
> >
> > Hey,
> >
> > This is a v2 of the initial 2 patches, but looking a bit closer at the quic
> > code led me down a rabbit hole ;) We currently have 2 different quic
> > implementations using the preprocessor as a template engine. These 2
> > implementations are quic_tmpl.c which handles 1 byte and 4 bytes images,
> > and the quic_rgb_tmpl.c which handles 24bpp/32bpp/16bpp images.
> >
>
> Looks like this more than a series is a set of chained series dealing with
> 1- compiler problems
> 2- typos
> 3- removal obsolete stuff
> 4- code reuse/unification
>
> I think 1) and 2) could be integrated straight forward. 3) requires
> mostly a team agreement that I don't think is hard to have, Quic is used
> only by Spice, already superseded by other encoding so I don't see any
> point keeping old dead code branches dealing with different settings.
Here is an attempt at classifying things, but they are mostly in order
in the series I sent already. I'd rather not resend separate series
when they have been unchanged since the first sending.
~~~~
quic: Use #define rather than static const int
quic: Use upper-case for constant names
These 2 patches are 1) in your list, and fix a compilation issue, so it would
be nice to get them in sooner rather than later ;)
~~~~
quic: Fix "corelate" typo
Typo fix, 2)
~~~~
quic: Remove configurable RLE_PRED
quic: Remove configurable PRED
quic: Get rid of QUIC_RGB #define
quic: Get rid of RLE_STAT #define
quic: Get rid of RLE #define
Removal of obsolete stuff (3). We cannot change some of these anyways (I
tested PRED) as they would change the on-wire protocol. client and
server have to agree on the value of PRED to use, otherwise connection
won't work.
~~~~
quic: Factor common code
quic: Introduce CommonState *state variable in templates
quic: Use i == 0 rather than !i
quic: s/decorrelate_drow/correlate_row
quic: Add macros to make quic_tmpl.c much closer to quic_rgb_tmpl.c
quic: Remove unused argument in uncompress_row{0,}
quic: Use channel->correlate_row in macros
quic: Remove undocumented 'no-inline' hack
quic: Add test case for compression/decompression
These remaining ones are 4) could indeed break things, but they are
mostly mechanical, so hopefully not too hard to review (even without an
extensive test case). I can resend them separately later if they feel
too risky at the moment.
Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20170720/cf0e8a0b/attachment-0001.sig>
More information about the Spice-devel
mailing list