[Spice-commits] server/glz-encode.tmpl.c

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Aug 12 09:48:36 UTC 2019


 server/glz-encode.tmpl.c |   10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

New commits:
commit 461288534fc58d794e2c10f780fca43f1f352985
Author: Frediano Ziglio <fziglio at redhat.com>
Date:   Mon Aug 12 08:08:50 2019 +0100

    glz-encode: Remove obsolete reference segment
    
    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>
    Acked-by: Uri Lublin <uril at redhat.com>

diff --git a/server/glz-encode.tmpl.c b/server/glz-encode.tmpl.c
index 48bab50b..92deb0e1 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-commits mailing list