[Spice-devel] [PATCH spice-server v3] glz-encode: Remove obsolete reference segment
Uri Lublin
uril at redhat.com
Mon Aug 12 09:43:02 UTC 2019
On 8/12/19 12:39 PM, Frediano Ziglio wrote:
> The GLZ code is basically LZ code (in spice-common) sharing image
> segments between multiple images.
> The code for RLE check in LZ (common/lz_compress_tmpl.c) is dealing
> with both RLE and dictionary matches being:
>
> if (!distance) {
> /* zero distance means a run */
> PIXEL x = *ref;
> while ((ip < ip_bound) && (ref < ref_limit)) { // TODO: maybe separate a run from
> // the same seg or from different
> // ones in order to spare
> // ref < ref_limit
>
> in GLZ that part was copied to RLE part removing the need for the
> second segment ("ref"). However the comment and setting ref variables
> were not removed. Remove the old code to avoid confusions.
>
> This also remove a Covscan warning as ref_limit was set not not used
> (reported by Uri Lublin).
> The warning was:
>
> CLANG warning: "Value stored to 'ref_limit' is never read"
>
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
Ack.
> ---
> Changes since v2:
> - better reference to spice-common code
Thanks,
Uri
>
> Changes since v1:
> - Covscan is not Coverity
> ---
> server/glz-encode.tmpl.c | 10 +++-------
> 1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/server/glz-encode.tmpl.c b/server/glz-encode.tmpl.c
> index 48bab50bc..92deb0e12 100644
> --- a/server/glz-encode.tmpl.c
> +++ b/server/glz-encode.tmpl.c
> @@ -276,19 +276,15 @@ static void FNAME(compress_seg)(Encoder *encoder, uint32_t seg_idx, PIXEL *from,
>
> if (LZ_EXPECT_CONDITIONAL(ip > (PIXEL *)(seg->lines))) {
> if (SAME_PIXEL(ip[-1], ip[0]) && SAME_PIXEL(ip[0], ip[1]) && SAME_PIXEL(ip[1], ip[2])) {
> - PIXEL x;
> + PIXEL x = ip[2];
> +
> pix_dist = 1;
> image_dist = 0;
>
> ip += 3;
> - ref = anchor + 2;
> - ref_limit = (PIXEL *)(seg->lines_end);
> len = 3;
>
> - x = *ref;
> -
> - while (ip < ip_bound) { // TODO: maybe separate a run from the same seg or from
> - // different ones in order to spare ref < ref_limit
> + while (ip < ip_bound) {
> if (!SAME_PIXEL(*ip, x)) {
> ip++;
> break;
>
More information about the Spice-devel
mailing list