Il giorno ven 15 set 2023 alle ore 01:33 Vivek Kasireddy <vivek.kasireddy@xxxxxxxxx> ha scritto: > > From: Hazwan Arif Mazlan <hazwan.arif.mazlan@xxxxxxxxx> > > Using NV12 as the output format for the videoconvert element would > allow us to pair a s/w based encoder with a h/w based decoder for > decoding the stream as most h/w based decoders only accept NV12 as > the input format given its popularity. > I don't fully understand the rationale. Yes, the h/w codecs usually would convert this to NV12 however should not this be done by gstreamer instead? Surely YUV conversion is useful but what if a software conversion would like to use Y444 instead? With NV12 you would lose image quality. Isn't gstreamer supposed to come out with the best combination? Maybe it would be easier to have a more complete pipeline string instead specified for each codec? > Cc: Frediano Ziglio <freddy77@xxxxxxxxx> > Cc: Dongwon Kim <dongwon.kim@xxxxxxxxx> > Signed-off-by: Hazwan Arif Mazlan <hazwan.arif.mazlan@xxxxxxxxx> > Signed-off-by: Jin Chung Teng <jin.chung.teng@xxxxxxxxx> > Signed-off-by: Vivek Kasireddy <vivek.kasireddy@xxxxxxxxx> > --- > server/gstreamer-encoder.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/server/gstreamer-encoder.c b/server/gstreamer-encoder.c > index d8af91f1..057509b5 100644 > --- a/server/gstreamer-encoder.c > +++ b/server/gstreamer-encoder.c > @@ -918,7 +918,7 @@ static gboolean create_pipeline(SpiceGstEncoder *encoder) > #ifdef HAVE_GSTREAMER_0_10 > const gchar *converter = "ffmpegcolorspace"; > #else > - const gchar *converter = "videoconvert"; > + const gchar *converter = "videoconvert ! video/x-raw,format=NV12"; > #endif > const gchar* gstenc_name = get_gst_codec_name(encoder); > if (!gstenc_name) { Frediano