[Spice-devel] [PATCH 1/2] channel-display-gst: Prefer playbin3 to playbin (v2)

2023-10-01 Thread Vivek Kasireddy
From: Jin Chung Teng If playbin3 is available (checked in Gstreamer registry), it makes sense to prefer it given the major improvements and features it offers including the capability to handle higher bitrates. v2: (Frediano) - Cache the playbin3 is available check - Keep the playbin name for pl

[Spice-devel] [PATCH 2/2] gstreamer-encoder: Use a h/w based encoder with Intel GPUs if possible (v3)

2023-10-01 Thread Vivek Kasireddy
Once it is determined that an Intel GPU is available/active (after looking into udev's database), we try to see if there is a h/w based encoder (element) available (in Gstreamer's registry cache) for the user selected video codec. In other words, if we find that the Intel Media SDK Gstreamer plugin

[Spice-devel] [PATCH 2/2] channel-display-gst: Use h/w based decoders with Intel GPUs if possible (v3)

2023-10-01 Thread Vivek Kasireddy
We first try to detect if an Intel GPU is available (by looking into udev's database) and then probe Gstreamer's registry cache to see if there is h/w based decoder (element) available for the incoming video codec format. If both these conditions are satisfied (i.e, Intel Media SDK Gstreamer plugin

[Spice-devel] [PATCH] common: Add a udev helper to identify GPU Vendor (v2)

2023-10-01 Thread Vivek Kasireddy
Given that libudev is widely available on many Linux distros, we can use the relevant APIs to iterate over all the devices associated with the drm subsystem to figure out if a specific vendor GPU is available or not. This capability (identifying GPU Vendor) is useful to determine whether to launch

[Spice-devel] [PATCH 1/2] gstreamer-encoder: Use an env var to override converter format (v2)

2023-10-01 Thread Vivek Kasireddy
If we use the x264enc encoder to encode a stream, then videoconvert would convert the BGRx data into Y444, which is the preferred format for x264enc. However, some decoders particularly the ones that are h/w based cannot work with Y444 if it was the format used by the encoder. Therefore, to address

[Spice-devel] [PATCH 0/2] spice/gstreamer: Use h/w based encoders/decoders with Intel GPUs if possible (v3)

2023-10-01 Thread Vivek Kasireddy
This patch series includes a patch for Spice (server) to automatically select h/w based encoder elements and another one for Spice-gtk (client) to automatically select h/w based decoder elements with Intel GPUs when these two conditions are met: - An Intel GPU is available and is active - The relev