diff mbox series

[bug#65668] gnu: gst-plugins-bad: Remove the svt-hevc input.

Message ID 3e0b2b90b037404da7bf9be8932f9b0d69c1a39a.1693537692.git.maxim.cournoyer@gmail.com
State New
Headers show
Series [bug#65668] gnu: gst-plugins-bad: Remove the svt-hevc input. | expand

Commit Message

Maxim Cournoyer Sept. 1, 2023, 3:08 a.m. UTC
* gnu/packages/gstreamer.scm (gst-plugins-bad)
[inputs]: Remove svt-hevc; add comment.
---
 gnu/packages/gstreamer.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)


base-commit: d6966b8a5b4f2ddda2bc685b9642e7a1c2cbe17c
prerequisite-patch-id: c9372a1255e3bfb4f2e820f4e7c9706e3bf04203
prerequisite-patch-id: 5cbcf4b4ec5ee0db003b10898a2197c6b741973e
prerequisite-patch-id: 0a763f65a4b5042a187bd4aa039e80a3c173015d
prerequisite-patch-id: 71a9ea33b991aa2829aef26c51a3e892d34ab4e1

Comments

Liliana Marie Prikler Sept. 1, 2023, 4:21 a.m. UTC | #1
Am Donnerstag, dem 31.08.2023 um 23:08 -0400 schrieb Maxim Cournoyer:
> * gnu/packages/gstreamer.scm (gst-plugins-bad)
> [inputs]: Remove svt-hevc; add comment.
> ---
>  gnu/packages/gstreamer.scm | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
> index 86886c025f..f38d2157bd 100644
> --- a/gnu/packages/gstreamer.scm
> +++ b/gnu/packages/gstreamer.scm
> @@ -849,7 +849,9 @@ (define-public gst-plugins-bad
>      (inputs
>       (append
>        (if (target-x86?) (list mediasdk) '())
> -      (if (target-x86-64?) (list svt-hevc) '())
> +      ;; Note: svt-hevc cannot be used, as it would break the
> package for
> +      ;; older x86_64 CPUs such as Core 2 Duo that lack AVX2 (see:
> +      ;;
> https://github.com/OpenVisualCloud/SVT-HEVC/issues/573#issuecomment-680678144
> ).
>        (list bluez
>              bzip2
>              cairo
I think you should put that comment above the commented existing line
rather than deleting it outright.  We should also look into building
svt-hevc without those CPU extensions; perhaps using tuning instead.

The comment could itself be shortened to 
  svt-hevc is broken on older x86_64 CPUs [such as…]
  see also <URL>
but you do you in terms of phrasing :)

Cheers
Maxim Cournoyer Sept. 2, 2023, 1:51 a.m. UTC | #2
Hi Liliana,

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

> Am Donnerstag, dem 31.08.2023 um 23:08 -0400 schrieb Maxim Cournoyer:
>> * gnu/packages/gstreamer.scm (gst-plugins-bad)
>> [inputs]: Remove svt-hevc; add comment.
>> ---
>>  gnu/packages/gstreamer.scm | 4 +++-
>>  1 file changed, 3 insertions(+), 1 deletion(-)
>> 
>> diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
>> index 86886c025f..f38d2157bd 100644
>> --- a/gnu/packages/gstreamer.scm
>> +++ b/gnu/packages/gstreamer.scm
>> @@ -849,7 +849,9 @@ (define-public gst-plugins-bad
>>      (inputs
>>       (append
>>        (if (target-x86?) (list mediasdk) '())
>> -      (if (target-x86-64?) (list svt-hevc) '())
>> +      ;; Note: svt-hevc cannot be used, as it would break the
>> package for
>> +      ;; older x86_64 CPUs such as Core 2 Duo that lack AVX2 (see:
>> +      ;;
>> https://github.com/OpenVisualCloud/SVT-HEVC/issues/573#issuecomment-680678144
>> ).
>>        (list bluez
>>              bzip2
>>              cairo
> I think you should put that comment above the commented existing line
> rather than deleting it outright.  We should also look into building
> svt-hevc without those CPU extensions; perhaps using tuning instead.

It's not possible to build svt-hevc without those extensions: they are
depended upon.  Because it can't be used, I think it makes sense to not
leave dead code (since it's not going to be resolved in the future and
re-enabled).

> The comment could itself be shortened to 
>   svt-hevc is broken on older x86_64 CPUs [such as…]
>   see also <URL>
> but you do you in terms of phrasing :)

:-)  I've moved things a bit.  Is it a 'LGTM' from you?
Liliana Marie Prikler Sept. 2, 2023, 4:59 a.m. UTC | #3
Am Freitag, dem 01.09.2023 um 21:51 -0400 schrieb Maxim Cournoyer:
> Hi Liliana,
> 
> Liliana Marie Prikler <liliana.prikler@gmail.com> writes:
> 
> > Am Donnerstag, dem 31.08.2023 um 23:08 -0400 schrieb Maxim
> > Cournoyer:
> > > * gnu/packages/gstreamer.scm (gst-plugins-bad)
> > > [inputs]: Remove svt-hevc; add comment.
> > > ---
> > >  gnu/packages/gstreamer.scm | 4 +++-
> > >  1 file changed, 3 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/gnu/packages/gstreamer.scm
> > > b/gnu/packages/gstreamer.scm
> > > index 86886c025f..f38d2157bd 100644
> > > --- a/gnu/packages/gstreamer.scm
> > > +++ b/gnu/packages/gstreamer.scm
> > > @@ -849,7 +849,9 @@ (define-public gst-plugins-bad
> > >      (inputs
> > >       (append
> > >        (if (target-x86?) (list mediasdk) '())
> > > -      (if (target-x86-64?) (list svt-hevc) '())
> > > +      ;; Note: svt-hevc cannot be used, as it would break the
> > > package for
> > > +      ;; older x86_64 CPUs such as Core 2 Duo that lack AVX2
> > > (see:
> > > +      ;;
> > > https://github.com/OpenVisualCloud/SVT-HEVC/issues/573#issuecomment-680678144
> > > ).
> > >        (list bluez
> > >              bzip2
> > >              cairo
> > I think you should put that comment above the commented existing
> > line rather than deleting it outright.  We should also look into
> > building svt-hevc without those CPU extensions; perhaps using
> > tuning instead.
> 
> It's not possible to build svt-hevc without those extensions: they
> are depended upon.  Because it can't be used, I think it makes sense
> to not leave dead code (since it's not going to be resolved in the
> future and re-enabled).
Looking at the code of svt-hevc, these additional libraries appear to
be just adding versions of the methods already implemented in C.

You might want to look into commenting the following lines

add_subdirectory(ASM_SSE2)
add_subdirectory(ASM_SSSE3)
add_subdirectory(ASM_SSE4_1)
add_subdirectory(ASM_AVX2)

HTH

> > The comment could itself be shortened to 
> >   svt-hevc is broken on older x86_64 CPUs [such as…]
> >   see also <URL>
> > but you do you in terms of phrasing :)
> 
> :-)  I've moved things a bit.  Is it a 'LGTM' from you?
Well, I'd rather keep the svt-hevc issue above open than concluding it
cannot be done, but otherwise, yes, LGTM.

Cheers
Maxim Cournoyer Sept. 3, 2023, 2:49 p.m. UTC | #4
Hi Liliana,

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

[...]

>> It's not possible to build svt-hevc without those extensions: they
>> are depended upon.  Because it can't be used, I think it makes sense
>> to not leave dead code (since it's not going to be resolved in the
>> future and re-enabled).
> Looking at the code of svt-hevc, these additional libraries appear to
> be just adding versions of the methods already implemented in C.
>
> You might want to look into commenting the following lines
>
> add_subdirectory(ASM_SSE2)
> add_subdirectory(ASM_SSSE3)
> add_subdirectory(ASM_SSE4_1)
> add_subdirectory(ASM_AVX2)

From my understanding and per upstream comments linked earlier, svt-hevc
is all about implementing some video codec using latest Intel
technologies.  The project synopsis on Github reads:

--8<---------------cut here---------------start------------->8--- SVT
HEVC encoder. Scalable Video Technology (SVT) is a software-based video
coding technology that is highly optimized for Intel® Xeon® processors
--8<---------------cut here---------------end--------------->8---

So I don't think it can be made to work (at least usefully) on older
processors, and it's explicitly an upstream non-goal.

[...]

> Well, I'd rather keep the svt-hevc issue above open than concluding it
> cannot be done, but otherwise, yes, LGTM.

I think it's safe to conclude that it cannot be done, given what I've
written above.  Does it make sense?
Maxim Cournoyer Sept. 6, 2023, 3:47 a.m. UTC | #5
Hi,

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

[...]

>> Well, I'd rather keep the svt-hevc issue above open than concluding it
>> cannot be done, but otherwise, yes, LGTM.
>
> I think it's safe to conclude that it cannot be done, given what I've
> written above.  Does it make sense?

I've now installed the change; closing.
diff mbox series

Patch

diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 86886c025f..f38d2157bd 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -849,7 +849,9 @@  (define-public gst-plugins-bad
     (inputs
      (append
       (if (target-x86?) (list mediasdk) '())
-      (if (target-x86-64?) (list svt-hevc) '())
+      ;; Note: svt-hevc cannot be used, as it would break the package for
+      ;; older x86_64 CPUs such as Core 2 Duo that lack AVX2 (see:
+      ;; https://github.com/OpenVisualCloud/SVT-HEVC/issues/573#issuecomment-680678144).
       (list bluez
             bzip2
             cairo