On Fri, Apr 18, 2025 at 01:29:50PM +0200, Dietmar Maurer wrote:

....could at lesat explain what the chosen encoders are..

> Signed-off-by: Dietmar Maurer <diet...@proxmox.com>
> ---
>  ui/vnc-enc-h264.c | 22 ++++++++++++++++++----
>  1 file changed, 18 insertions(+), 4 deletions(-)
> 
> diff --git a/ui/vnc-enc-h264.c b/ui/vnc-enc-h264.c
> index 0f89cafbf6..840674dbdb 100644
> --- a/ui/vnc-enc-h264.c
> +++ b/ui/vnc-enc-h264.c
> @@ -29,15 +29,17 @@
>  
>  static char *get_available_encoder(const char *encoder_list)
>  {
> +    char *ret = NULL;
> +    char **encoder_array = NULL;
> +
>      g_assert(encoder_list != NULL);
>  
>      if (!strcmp(encoder_list, "")) {
>          /* use default list */
> -        encoder_list = "x264enc openh264enc";
> +        encoder_list = "nvh264enc vaapih264enc x264enc openh264enc";
>      }
>  
> -    char *ret = NULL;
> -    char **encoder_array = g_strsplit(encoder_list, " ", -1);
> +    encoder_array = g_strsplit(encoder_list, " ", -1);
>  
>      int i = 0;
>      do {
> @@ -69,7 +71,19 @@ static GstElement *create_encoder(const char *encoder_name)
>          return NULL;
>      }
>  
> -    if (!strcmp(encoder_name, "x264enc")) {
> +    if (!strcmp(encoder_name, "nvh264enc")) {
> +        g_object_set(
> +            encoder,
> +            "preset", 8,         /* p1 - fastest */
> +            "multi-pass", 1,     /* multipass disabled */
> +            "tune", 2,           /* low latency */
> +            "zerolatency", true, /* low latency */
> +            /* avoid access unit delimiters (Nal Unit Type 9) - not required 
> */
> +            "aud", false,
> +            NULL);
> +    } else if (!strcmp(encoder_name, "vaapih264enc")) {
> +        g_object_set(encoder, "tune", 1, NULL); /* high compression */
> +    } else if (!strcmp(encoder_name, "x264enc")) {
>          g_object_set(
>              encoder,
>              "tune", 4, /* zerolatency */

Feels like this patch could jsut be folded into patch 4 that first
introduces this method.

> -- 
> 2.39.5
> 
> 

With 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 :|


Reply via email to