Re: [PATCH spice-server v3] glz-encode: Remove obsolete reference segment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>

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;


_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]