Bug 246789

Summary: multimedia/ffmpeg: add the ability to apply any combination of SVT patches: SVTAV1, SVTHEVC and SVTVP9
Product: Ports & Packages Reporter: VVD <vvd>
Component: Individual Port(s)Assignee: freebsd-multimedia (Nobody) <multimedia>
Status: Closed FIXED    
Severity: Affects Some People CC: cem, jbeich, multimedia, tcberner
Priority: --- Flags: tcberner: maintainer-feedback+
vvd: maintainer-feedback? (jbeich)
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Add the ability to apply any combination of SVT patches: SVTAV1, SVTHEVC and SVTVP9
vvd: maintainer-approval? (jbeich)
Alternative patch
none
Alternative patch vvd: maintainer-approval?

Description VVD 2020-05-27 20:37:03 UTC
Created attachment 214935 [details]
Add the ability to apply any combination of SVT patches: SVTAV1, SVTHEVC and SVTVP9

Tested on 12.1 amd64.
Comment 1 Conrad Meyer freebsd_committer 2020-06-08 22:07:11 UTC
I can't speak to the patch machinery, but I would really like to be able to enable SVTHEVC and SVTAV1 at the same time.  Thank you for submitting the patch, VVD.
Comment 2 VVD 2020-06-10 15:44:00 UTC
2 weeks left…
Who can commit?
Comment 3 Tobias C. Berner freebsd_committer 2020-06-10 15:55:20 UTC
Moin moin 

The whole thing looks a bit overly complicated to me. Could anyone elaborate why this is necessary, and we cannot have a simple, single patch for this? 



mfg Tobias
Comment 4 VVD 2020-06-10 16:08:50 UTC
(In reply to Tobias C. Berner from comment #3)
Every SVT option depends on separate port: multimedia/svt-av1, multimedia/svt-hevc, multimedia/svt-vp9.
Comment 5 Conrad Meyer freebsd_committer 2020-06-10 16:25:17 UTC
The *patches* add options to the GNU autotools 'configure' script for each dependency.  The plugins can be configured disabled if the corresponding port OPTION is disabled.  I think this could be a simplified single patch, without removing OPTION flexibility.

You would just always apply the patch, but add:

SVTAV1_CONFIGURE_ENABLE= libsvtav1
SVTHEVC_CONFIGURE_ENABLE=libsvthevc
SVTVP9_CONFIGURE_ENABLE= libsvtvp9
Comment 6 Conrad Meyer freebsd_committer 2020-06-10 16:26:08 UTC
(*_CONFIGURE_ENABLE features are disabled if the port OPTION is disabled.)
Comment 7 Tobias C. Berner freebsd_committer 2020-06-10 17:00:12 UTC
As the patches are directly from upstream, and not "processed" as I assumed previously, I can live with multiple patches :)

But I would prefer to have them just always applied, without any need for the big if'fery that if that is possible.
Comment 8 VVD 2020-06-10 17:25:41 UTC
Created attachment 215424 [details]
Alternative patch

Did you said about this way?
Comment 9 Tobias C. Berner freebsd_committer 2020-06-10 17:31:23 UTC
(In reply to VVD from comment #8)
Yes exactly! That looks way more maintainable to me.
Comment 10 VVD 2020-06-13 16:37:16 UTC
Created attachment 215520 [details]
Alternative patch

Fixed PATCH_SITES and upstream updated patches.
Comment 11 commit-hook freebsd_committer 2020-06-13 17:15:21 UTC
A commit references this bug:

Author: tcberner
Date: Sat Jun 13 17:14:48 UTC 2020
New revision: 538687
URL: https://svnweb.freebsd.org/changeset/ports/538687

Log:
  multimedia/ffmpeg: add the ability to have SVTAV1, SVTHEVC and SVTVP9 option on simultaneously

  - make it possible to have all three SVT options on simultaneously
  - always patch in support for all variants
  - use the patched in configure flag for feature toggling

  PR:		246789
  Submitted by:	VVD <vvd@unislabs.com>

Changes:
  head/multimedia/ffmpeg/Makefile
  head/multimedia/ffmpeg/distinfo
Comment 12 Tobias C. Berner freebsd_committer 2020-06-13 17:15:30 UTC
Committed. Thank you very much for both supplying the patches, and then working on them :)
Comment 13 Conrad Meyer freebsd_committer 2020-06-13 17:36:48 UTC
Thank you, VVD and Tobias!