All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Kshitij Suri <kshitij.suri@nutanix.com>
Cc: soham.ghosh@nutanix.com, thuth@redhat.com,
	prerna.saxena@nutanix.com, armbru@redhat.com,
	qemu-devel@nongnu.org, kraxel@redhat.com,
	prachatos.mitra@nutanix.com, eblake@redhat.com,
	dgilbert@redhat.com
Subject: Re: [PATCH 1/2] Replacing CONFIG_VNC_PNG with CONFIG_PNG
Date: Fri, 25 Feb 2022 19:12:34 +0000	[thread overview]
Message-ID: <YhkqIvI/a5So6g8Y@redhat.com> (raw)
In-Reply-To: <20220225115830.177899-1-kshitij.suri@nutanix.com>

On Fri, Feb 25, 2022 at 11:58:29AM +0000, Kshitij Suri wrote:
> Libpng is only detected if VNC is enabled currently. This patch adds a
> generalised png option in the meson build which is aimed to replace use of
> CONFIG_VNC_PNG with CONFIG_PNG.
> 
> Signed-off-by: Kshitij Suri <kshitij.suri@nutanix.com>
> ---
>  meson.build        | 10 +++++-----
>  meson_options.txt  |  4 ++--
>  ui/vnc-enc-tight.c | 18 +++++++++---------
>  ui/vnc.c           |  4 ++--
>  ui/vnc.h           |  2 +-
>  5 files changed, 19 insertions(+), 19 deletions(-)


> diff --git a/ui/vnc-enc-tight.c b/ui/vnc-enc-tight.c
> index cebd35841a..14396e9f83 100644
> --- a/ui/vnc-enc-tight.c
> +++ b/ui/vnc-enc-tight.c
> @@ -32,7 +32,7 @@
>     INT32 definitions between jmorecfg.h (included by jpeglib.h) and
>     Win32 basetsd.h (included by windows.h). */
>  
> -#ifdef CONFIG_VNC_PNG
> +#if defined(CONFIG_VNC) && defined(CONFIG_PNG)

This (and every repeated instance) can be just

  #ifdef CONFIG_PNG

because the entire file is skipped by the build system
if CONFIG_VNC isn't defined.

>  /* The following define is needed by pngconf.h. Otherwise it won't compile,
>     because setjmp.h was already included by qemu-common.h. */
>  #define PNG_SKIP_SETJMP_CHECK
> @@ -95,7 +95,7 @@ static const struct {
>  };
>  #endif
>  
> -#ifdef CONFIG_VNC_PNG
> +#if defined(CONFIG_VNC) && defined(CONFIG_PNG)
>  static const struct {
>      int png_zlib_level, png_filters;
>  } tight_png_conf[] = {
> @@ -919,7 +919,7 @@ static int send_full_color_rect(VncState *vs, int x, int y, int w, int h)
>      int stream = 0;
>      ssize_t bytes;
>  
> -#ifdef CONFIG_VNC_PNG
> +#if defined(CONFIG_VNC) && defined(CONFIG_PNG)
>      if (tight_can_send_png_rect(vs, w, h)) {
>          return send_png_rect(vs, x, y, w, h, NULL);
>      }
> @@ -966,7 +966,7 @@ static int send_mono_rect(VncState *vs, int x, int y,
>      int stream = 1;
>      int level = tight_conf[vs->tight->compression].mono_zlib_level;
>  
> -#ifdef CONFIG_VNC_PNG
> +#if defined(CONFIG_VNC) && defined(CONFIG_PNG)
>      if (tight_can_send_png_rect(vs, w, h)) {
>          int ret;
>          int bpp = vs->client_pf.bytes_per_pixel * 8;
> @@ -1020,7 +1020,7 @@ static int send_mono_rect(VncState *vs, int x, int y,
>  struct palette_cb_priv {
>      VncState *vs;
>      uint8_t *header;
> -#ifdef CONFIG_VNC_PNG
> +#if defined(CONFIG_VNC) && defined(CONFIG_PNG)
>      png_colorp png_palette;
>  #endif
>  };
> @@ -1082,7 +1082,7 @@ static int send_palette_rect(VncState *vs, int x, int y,
>      int colors;
>      ssize_t bytes;
>  
> -#ifdef CONFIG_VNC_PNG
> +#if defined(CONFIG_VNC) && defined(CONFIG_PNG)
>      if (tight_can_send_png_rect(vs, w, h)) {
>          return send_png_rect(vs, x, y, w, h, palette);
>      }
> @@ -1233,7 +1233,7 @@ static int send_jpeg_rect(VncState *vs, int x, int y, int w, int h, int quality)
>  /*
>   * PNG compression stuff.
>   */
> -#ifdef CONFIG_VNC_PNG
> +#if defined(CONFIG_VNC) && defined(CONFIG_PNG)
>  static void write_png_palette(int idx, uint32_t pix, void *opaque)
>  {
>      struct palette_cb_priv *priv = opaque;
> @@ -1379,7 +1379,7 @@ static int send_png_rect(VncState *vs, int x, int y, int w, int h,
>      buffer_reset(&vs->tight->png);
>      return 1;
>  }
> -#endif /* CONFIG_VNC_PNG */
> +#endif /*(CONFIG_VNC && CONFIG_PNG) */
>  
>  static void vnc_tight_start(VncState *vs)
>  {
> @@ -1706,7 +1706,7 @@ void vnc_tight_clear(VncState *vs)
>  #ifdef CONFIG_VNC_JPEG
>      buffer_free(&vs->tight->jpeg);
>  #endif
> -#ifdef CONFIG_VNC_PNG
> +#if defined(CONFIG_VNC) && defined(CONFIG_PNG)
>      buffer_free(&vs->tight->png);
>  #endif
>  }
> diff --git a/ui/vnc.c b/ui/vnc.c
> index 3ccd33dedc..1bf3790997 100644
> --- a/ui/vnc.c
> +++ b/ui/vnc.c
> @@ -2165,7 +2165,7 @@ static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings)
>              vs->features |= VNC_FEATURE_TIGHT_MASK;
>              vs->vnc_encoding = enc;
>              break;
> -#ifdef CONFIG_VNC_PNG
> +#if defined(CONFIG_VNC) && defined(CONFIG_PNG)
>          case VNC_ENCODING_TIGHT_PNG:
>              vs->features |= VNC_FEATURE_TIGHT_PNG_MASK;
>              vs->vnc_encoding = enc;
> @@ -3248,7 +3248,7 @@ static void vnc_connect(VncDisplay *vd, QIOChannelSocket *sioc,
>  #ifdef CONFIG_VNC_JPEG
>      buffer_init(&vs->tight->jpeg,     "vnc-tight-jpeg/%p", sioc);
>  #endif
> -#ifdef CONFIG_VNC_PNG
> +#if defined(CONFIG_VNC) && defined(CONFIG_PNG)
>      buffer_init(&vs->tight->png,      "vnc-tight-png/%p", sioc);
>  #endif
>      buffer_init(&vs->zlib.zlib,      "vnc-zlib/%p", sioc);
> diff --git a/ui/vnc.h b/ui/vnc.h
> index a7149831f9..0cabcc2654 100644
> --- a/ui/vnc.h
> +++ b/ui/vnc.h
> @@ -201,7 +201,7 @@ typedef struct VncTight {
>  #ifdef CONFIG_VNC_JPEG
>      Buffer jpeg;
>  #endif
> -#ifdef CONFIG_VNC_PNG
> +#if defined(CONFIG_VNC) && defined(CONFIG_PNG)
>      Buffer png;
>  #endif
>      int levels[4];
> -- 
> 2.22.3
> 
> 

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



  parent reply	other threads:[~2022-02-25 19:13 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-25 11:58 [PATCH 1/2] Replacing CONFIG_VNC_PNG with CONFIG_PNG Kshitij Suri
2022-02-25 11:58 ` [PATCH 2/2] Added parameter to take screenshot with screendump as PNG Kshitij Suri
2022-02-25 19:07   ` Eric Blake
2022-02-25 19:17     ` Kshitij Suri
2022-02-25 19:12 ` Daniel P. Berrangé [this message]
2022-02-25 19:20   ` [PATCH 1/2] Replacing CONFIG_VNC_PNG with CONFIG_PNG Kshitij Suri

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YhkqIvI/a5So6g8Y@redhat.com \
    --to=berrange@redhat.com \
    --cc=armbru@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=eblake@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=kshitij.suri@nutanix.com \
    --cc=prachatos.mitra@nutanix.com \
    --cc=prerna.saxena@nutanix.com \
    --cc=qemu-devel@nongnu.org \
    --cc=soham.ghosh@nutanix.com \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.