Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Sep 2020 00:46:24 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r548688 - in head: astro/siril multimedia/aegisub multimedia/aegisub/files multimedia/ffms2 multimedia/x264
Message-ID:  <202009150046.08F0kONx069735@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Tue Sep 15 00:46:24 2020
New Revision: 548688
URL: https://svnweb.freebsd.org/changeset/ports/548688

Log:
  multimedia/ffms2: update to 2.40
  
  Changes:	https://github.com/FFMS/ffms2/releases/tag/2.40
  Reported by:	GitHub (watch releases)

Added:
  head/multimedia/aegisub/files/patch-ffms-2.40   (contents, props changed)
Modified:
  head/astro/siril/Makefile   (contents, props changed)
  head/multimedia/aegisub/Makefile   (contents, props changed)
  head/multimedia/ffms2/Makefile   (contents, props changed)
  head/multimedia/ffms2/distinfo   (contents, props changed)
  head/multimedia/x264/Makefile   (contents, props changed)

Modified: head/astro/siril/Makefile
==============================================================================
--- head/astro/siril/Makefile	Mon Sep 14 23:56:44 2020	(r548687)
+++ head/astro/siril/Makefile	Tue Sep 15 00:46:24 2020	(r548688)
@@ -2,7 +2,7 @@
 
 PORTNAME=	siril
 DISTVERSION=	0.9.12
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	astro graphics
 MASTER_SITES=	https://free-astro.org/download/
 

Modified: head/multimedia/aegisub/Makefile
==============================================================================
--- head/multimedia/aegisub/Makefile	Mon Sep 14 23:56:44 2020	(r548687)
+++ head/multimedia/aegisub/Makefile	Tue Sep 15 00:46:24 2020	(r548688)
@@ -3,7 +3,7 @@
 
 PORTNAME=	aegisub
 PORTVERSION=	3.2.2
-PORTREVISION=	46
+PORTREVISION=	47
 CATEGORIES=	multimedia
 MASTER_SITES=	http://ftp.aegisub.org/pub/archives/releases/source/ \
 		ftp://ftp.aegisub.org/pub/archives/releases/source/ \

Added: head/multimedia/aegisub/files/patch-ffms-2.40
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/aegisub/files/patch-ffms-2.40	Tue Sep 15 00:46:24 2020	(r548688)
@@ -0,0 +1,397 @@
+https://github.com/Aegisub/Aegisub/commit/ebc76c8a1168
+https://github.com/Aegisub/Aegisub/commit/1aa9215e7fc3
+
+src/video_provider_ffmpegsource.cpp:81:38: error: use of undeclared identifier 'FFMS_CS_BT470BG'
+                        FFMS_SetInputFormatV(VideoSource, FFMS_CS_BT470BG, CR, FFMS_GetPixFmt(""), nullptr);
+                                                          ^
+src/video_provider_ffmpegsource.cpp:106:8: error: use of undeclared identifier 'FFMS_CS_RGB'
+                case FFMS_CS_RGB:
+                     ^
+src/video_provider_ffmpegsource.cpp:108:8: error: use of undeclared identifier 'FFMS_CS_BT709'
+                case FFMS_CS_BT709:
+                     ^
+src/video_provider_ffmpegsource.cpp:110:8: error: use of undeclared identifier 'FFMS_CS_FCC'
+                case FFMS_CS_FCC:
+                     ^
+src/video_provider_ffmpegsource.cpp:112:8: error: use of undeclared identifier 'FFMS_CS_BT470BG'
+                case FFMS_CS_BT470BG:
+                     ^
+src/video_provider_ffmpegsource.cpp:113:8: error: use of undeclared identifier 'FFMS_CS_SMPTE170M'
+                case FFMS_CS_SMPTE170M:
+                     ^
+src/video_provider_ffmpegsource.cpp:115:8: error: use of undeclared identifier 'FFMS_CS_SMPTE240M'
+                case FFMS_CS_SMPTE240M:
+                     ^
+src/video_provider_ffmpegsource.cpp:211:69: error: use of undeclared identifier 'FFMS_GetSourceType'; did you mean 'FFMS_GetTrackType'?
+        if (FFMS_GetVersion() < ((2 << 24) | (17 << 16) | (2 << 8) | 1) && FFMS_GetSourceType(Index) == FFMS_SOURCE_LAVF)
+                                                                           ^~~~~~~~~~~~~~~~~~
+                                                                           FFMS_GetTrackType
+/usr/local/include/ffms.h:430:15: note: 'FFMS_GetTrackType' declared here
+FFMS_API(int) FFMS_GetTrackType(FFMS_Track *T);
+              ^
+src/video_provider_ffmpegsource.cpp:211:88: error: no viable conversion from 'agi::scoped_holder<FFMS_Index *, void (*)(FFMS_Index *)>' (aka 'scoped_holder<FFMS_Index *, void (*)(FFMS_Index *)>') to 'FFMS_Track *'
+        if (FFMS_GetVersion() < ((2 << 24) | (17 << 16) | (2 << 8) | 1) && FFMS_GetSourceType(Index) == FFMS_SOURCE_LAVF)
+                                                                                              ^~~~~
+libaegisub/include/libaegisub/scoped_ptr.h:31:2: note: candidate function
+        operator T() const { return value; }
+        ^
+/usr/local/include/ffms.h:430:45: note: passing argument to parameter 'T' here
+FFMS_API(int) FFMS_GetTrackType(FFMS_Track *T);
+                                            ^
+src/video_provider_ffmpegsource.cpp:211:98: error: use of undeclared identifier 'FFMS_SOURCE_LAVF'
+        if (FFMS_GetVersion() < ((2 << 24) | (17 << 16) | (2 << 8) | 1) && FFMS_GetSourceType(Index) == FFMS_SOURCE_LAVF)
+                                                                                                        ^
+src/video_provider_ffmpegsource.cpp:243:12: error: use of undeclared identifier 'FFMS_CS_UNSPECIFIED'; did you mean 'FFMS_CR_UNSPECIFIED'?
+        if (CS == FFMS_CS_UNSPECIFIED)
+                  ^~~~~~~~~~~~~~~~~~~
+                  FFMS_CR_UNSPECIFIED
+/usr/local/include/ffms.h:220:5: note: 'FFMS_CR_UNSPECIFIED' declared here
+    FFMS_CR_UNSPECIFIED = 0,
+    ^
+src/video_provider_ffmpegsource.cpp:244:40: error: use of undeclared identifier 'FFMS_CS_BT709'
+                CS = Width > 1024 || Height >= 600 ? FFMS_CS_BT709 : FFMS_CS_BT470BG;
+                                                     ^
+src/video_provider_ffmpegsource.cpp:244:56: error: use of undeclared identifier 'FFMS_CS_BT470BG'
+                CS = Width > 1024 || Height >= 600 ? FFMS_CS_BT709 : FFMS_CS_BT470BG;
+                                                                     ^
+src/video_provider_ffmpegsource.cpp:248:12: error: use of undeclared identifier 'FFMS_CS_RGB'
+        if (CS != FFMS_CS_RGB && CS != FFMS_CS_BT470BG && ColorSpace != colormatrix && (colormatrix == "TV.601" || OPT_GET("Video/Force BT.601")->GetBool())) {
+                  ^
+src/video_provider_ffmpegsource.cpp:248:33: error: use of undeclared identifier 'FFMS_CS_BT470BG'
+        if (CS != FFMS_CS_RGB && CS != FFMS_CS_BT470BG && ColorSpace != colormatrix && (colormatrix == "TV.601" || OPT_GET("Video/Force BT.601")->GetBool())) {
+                                       ^
+src/video_provider_ffmpegsource.cpp:249:41: error: use of undeclared identifier 'FFMS_CS_BT470BG'
+                if (FFMS_SetInputFormatV(VideoSource, FFMS_CS_BT470BG, CR, FFMS_GetPixFmt(""), &ErrInfo))
+                                                      ^
+src/video_provider_ffmpegsource.cpp:251:40: error: use of undeclared identifier 'FFMS_CS_BT470BG'
+                ColorSpace = colormatrix_description(FFMS_CS_BT470BG, CR);
+                                                     ^
+src/ffmpegsource_common.cpp:101:11: error: use of undeclared identifier 'FFMS_DoIndexing'
+                Index = FFMS_DoIndexing(Indexer, Trackmask, FFMS_TRACKMASK_NONE,
+                        ^
+17 errors generated.
+
+--- src/audio_provider_ffmpegsource.cpp.orig	2014-12-08 00:07:09 UTC
++++ src/audio_provider_ffmpegsource.cpp
+@@ -91,18 +91,20 @@ void FFmpegSourceAudioProvider::LoadAudio(agi::fs::pat
+ 	}
+ 
+ 	std::map<int, std::string> TrackList = GetTracksOfType(Indexer, FFMS_TYPE_AUDIO);
+-	if (TrackList.empty())
+-		throw agi::AudioDataNotFound("no audio tracks found");
+ 
+ 	// initialize the track number to an invalid value so we can detect later on
+ 	// whether the user actually had to choose a track or not
+ 	int TrackNumber = -1;
+ 	if (TrackList.size() > 1) {
+-		TrackNumber = AskForTrackSelection(TrackList, FFMS_TYPE_AUDIO);
+-		// if it's still -1 here, user pressed cancel
+-		if (TrackNumber == -1)
++		auto Selection = AskForTrackSelection(TrackList, FFMS_TYPE_AUDIO);
++		if (Selection == TrackSelection::None)
+ 			throw agi::UserCancelException("audio loading canceled by user");
++		TrackNumber = static_cast<int>(Selection);
+ 	}
++	else if (TrackList.size() == 1)
++		TrackNumber = TrackList.begin()->first;
++	else
++		throw agi::AudioDataNotFound("no audio tracks found");
+ 
+ 	// generate a name for the cache file
+ 	agi::fs::path CacheName = GetCacheFilename(filename);
+@@ -114,24 +116,13 @@ void FFmpegSourceAudioProvider::LoadAudio(agi::fs::pat
+ 	if (Index && FFMS_IndexBelongsToFile(Index, filename.string().c_str(), &ErrInfo))
+ 		Index = nullptr;
+ 
+-	// index valid but track number still not set?
+ 	if (Index) {
+-		// track number not set? just grab the first track
+-		if (TrackNumber < 0)
+-			TrackNumber = FFMS_GetFirstTrackOfType(Index, FFMS_TYPE_AUDIO, &ErrInfo);
+-		if (TrackNumber < 0)
+-			throw agi::AudioDataNotFound(std::string("Couldn't find any audio tracks: ") + ErrInfo.Buffer);
+-
+-		// index is valid and track number is now set,
+-		// but do we have indexing info for the desired audio track?
++		// we already have an index, but the desired track may not have been
++		// indexed, and if it wasn't we need to reindex
+ 		FFMS_Track *TempTrackData = FFMS_GetTrackFromIndex(Index, TrackNumber);
+ 		if (FFMS_GetNumFrames(TempTrackData) <= 0)
+ 			Index = nullptr;
+ 	}
+-	// no valid index exists and the file only has one audio track, index it
+-	else if (TrackNumber < 0)
+-		TrackNumber = FFMS_TRACKMASK_ALL;
+-	// else: do nothing (keep track mask as it is)
+ 
+ 	// reindex if the error handling mode has changed
+ 	FFMS_IndexErrorHandling ErrorHandling = GetErrorHandlingMode();
+@@ -142,17 +133,10 @@ void FFmpegSourceAudioProvider::LoadAudio(agi::fs::pat
+ 
+ 	// moment of truth
+ 	if (!Index) {
+-		int TrackMask;
+-		if (OPT_GET("Provider/FFmpegSource/Index All Tracks")->GetBool() || TrackNumber == FFMS_TRACKMASK_ALL)
+-			TrackMask = FFMS_TRACKMASK_ALL;
+-		else
+-			TrackMask = (1 << TrackNumber);
+-
++		TrackSelection TrackMask = static_cast<TrackSelection>(TrackNumber);
++		if (OPT_GET("Provider/FFmpegSource/Index All Tracks")->GetBool())
++			TrackMask = TrackSelection::All;
+ 		Index = DoIndexing(Indexer, CacheName, TrackMask, ErrorHandling);
+-
+-		// if tracknumber still isn't set we need to set it now
+-		if (TrackNumber == FFMS_TRACKMASK_ALL)
+-			TrackNumber = FFMS_GetFirstTrackOfType(Index, FFMS_TYPE_AUDIO, &ErrInfo);
+ 	}
+ 	else
+ 		FFMS_CancelIndexing(Indexer);
+--- src/ffmpegsource_common.cpp.orig	2014-12-08 00:07:09 UTC
++++ src/ffmpegsource_common.cpp
+@@ -80,7 +80,10 @@ FFmpegSourceProvider::FFmpegSourceProvider(agi::Backgr
+ /// @param Indexer		A pointer to the indexer object representing the file to be indexed
+ /// @param CacheName    The filename of the output index file
+ /// @param Trackmask    A binary mask of the track numbers to index
+-FFMS_Index *FFmpegSourceProvider::DoIndexing(FFMS_Indexer *Indexer, agi::fs::path const& CacheName, int Trackmask, FFMS_IndexErrorHandling IndexEH) {
++FFMS_Index *FFmpegSourceProvider::DoIndexing(FFMS_Indexer *Indexer,
++	                                         agi::fs::path const& CacheName,
++	                                         TrackSelection Track,
++	                                         FFMS_IndexErrorHandling IndexEH) {
+ 	char FFMSErrMsg[1024];
+ 	FFMS_ErrorInfo ErrInfo;
+ 	ErrInfo.Buffer		= FFMSErrMsg;
+@@ -98,8 +101,22 @@ FFMS_Index *FFmpegSourceProvider::DoIndexing(FFMS_Inde
+ 			ps->SetProgress(Current, Total);
+ 			return ps->IsCancelled();
+ 		};
+-		Index = FFMS_DoIndexing(Indexer, Trackmask, FFMS_TRACKMASK_NONE,
++#if FFMS_VERSION >= ((2 << 24) | (21 << 16) | (0 << 8) | 0)
++		if (Track == TrackSelection::All)
++			FFMS_TrackTypeIndexSettings(Indexer, FFMS_TYPE_AUDIO, 1, 0);
++		else if (Track != TrackSelection::None)
++			FFMS_TrackIndexSettings(Indexer, static_cast<int>(Track), 1, 0);
++		FFMS_SetProgressCallback(Indexer, callback, ps);
++		Index = FFMS_DoIndexing2(Indexer, IndexEH, &ErrInfo);
++#else
++		int Trackmask = 0;
++		if (Track == TrackSelection::All)
++			Trackmask = std::numeric_limits<int>::max();
++		else if (Track != TrackSelection::None)
++			Trackmask = 1 << static_cast<int>(Track);
++		Index = FFMS_DoIndexing(Indexer, Trackmask, 0,
+ 			nullptr, nullptr, IndexEH, callback, ps, &ErrInfo);
++#endif
+ 	});
+ 
+ 	if (Index == nullptr)
+@@ -119,21 +136,24 @@ std::map<int, std::string> FFmpegSourceProvider::GetTr
+ 	std::map<int,std::string> TrackList;
+ 	int NumTracks = FFMS_GetNumTracksI(Indexer);
+ 
++	// older versions of ffms2 can't index audio tracks past 31
++#if FFMS_VERSION < ((2 << 24) | (21 << 16) | (0 << 8) | 0)
++	if (Type == FFMS_TYPE_AUDIO)
++		NumTracks = std::min(NumTracks, std::numeric_limits<int>::digits);
++#endif
++
+ 	for (int i=0; i<NumTracks; i++) {
+ 		if (FFMS_GetTrackTypeI(Indexer, i) == Type) {
+-			const char *CodecName = FFMS_GetCodecNameI(Indexer, i);
+-			if (CodecName)
+-				TrackList.insert(std::pair<int,std::string>(i, CodecName));
++			if (auto CodecName = FFMS_GetCodecNameI(Indexer, i))
++				TrackList[i] = CodecName;
+ 		}
+ 	}
+ 	return TrackList;
+ }
+ 
+-/// @brief Ask user for which track he wants to load
+-/// @param TrackList	A std::map with the track numbers as keys and codec names as values
+-/// @param Type			The track type to ask about
+-/// @return				Returns the track number chosen (an integer >= 0) on success, or a negative integer if the user cancelled.
+-int FFmpegSourceProvider::AskForTrackSelection(const std::map<int, std::string> &TrackList, FFMS_TrackType Type) {
++FFmpegSourceProvider::TrackSelection
++FFmpegSourceProvider::AskForTrackSelection(const std::map<int, std::string> &TrackList,
++                                           FFMS_TrackType Type) {
+ 	std::vector<int> TrackNumbers;
+ 	wxArrayString Choices;
+ 
+@@ -148,8 +168,8 @@ int FFmpegSourceProvider::AskForTrackSelection(const s
+ 		Choices);
+ 
+ 	if (Choice < 0)
+-		return Choice;
+-	return TrackNumbers[Choice];
++		return TrackSelection::None;
++	return static_cast<TrackSelection>(TrackNumbers[Choice]);
+ }
+ 
+ /// @brief Set ffms2 log level according to setting in config.dat
+--- src/ffmpegsource_common.h.orig	2014-12-08 00:07:09 UTC
++++ src/ffmpegsource_common.h
+@@ -42,11 +42,6 @@
+ 
+ namespace agi { class BackgroundRunner; }
+ 
+-/// Index all tracks
+-#define FFMS_TRACKMASK_ALL		-1
+-/// Index no tracks
+-#define FFMS_TRACKMASK_NONE		0
+-
+ /// @class FFmpegSourceProvider
+ /// @brief Base class for FFMS2 source providers; contains common functions etc
+ class FFmpegSourceProvider {
+@@ -57,24 +52,18 @@ class FFmpegSourceProvider {
+ public:
+ 	FFmpegSourceProvider(agi::BackgroundRunner *br);
+ 
+-	/// Logging level constants from avutil/log.h
+-	enum FFMS_LogLevel {
+-		/// nothing printed
+-		FFMS_LOG_QUIET		= -8,
+-		FFMS_LOG_PANIC		= 0,
+-		FFMS_LOG_FATAL		= 8,
+-		FFMS_LOG_ERROR		= 16,
+-		FFMS_LOG_WARNING	= 24,
+-		FFMS_LOG_INFO		= 32,
+-		FFMS_LOG_VERBOSE	= 40,
+-		FFMS_LOG_DEBUG		= 48,
++	enum class TrackSelection : int {
++		None = -1,
++		All = -2
+ 	};
+ 
+ 	void CleanCache();
+ 
+-	FFMS_Index *DoIndexing(FFMS_Indexer *Indexer, agi::fs::path const& Cachename, int Trackmask, FFMS_IndexErrorHandling IndexEH);
++	FFMS_Index *DoIndexing(FFMS_Indexer *Indexer, agi::fs::path const& Cachename,
++		                   TrackSelection Track,
++		                   FFMS_IndexErrorHandling IndexEH);
+ 	std::map<int, std::string> GetTracksOfType(FFMS_Indexer *Indexer, FFMS_TrackType Type);
+-	int AskForTrackSelection(const std::map<int, std::string>& TrackList, FFMS_TrackType Type);
++	TrackSelection AskForTrackSelection(const std::map<int, std::string>& TrackList, FFMS_TrackType Type);
+ 	agi::fs::path GetCacheFilename(agi::fs::path const& filename);
+ 	void SetLogLevel();
+ 	FFMS_IndexErrorHandling GetErrorHandlingMode();
+--- src/video_provider_ffmpegsource.cpp.orig	2014-12-08 00:07:09 UTC
++++ src/video_provider_ffmpegsource.cpp
+@@ -44,6 +44,23 @@
+ #include <libaegisub/make_unique.h>
+ 
+ namespace {
++typedef enum AGI_ColorSpaces {
++	AGI_CS_RGB = 0,
++	AGI_CS_BT709 = 1,
++	AGI_CS_UNSPECIFIED = 2,
++	AGI_CS_FCC = 4,
++	AGI_CS_BT470BG = 5,
++	AGI_CS_SMPTE170M = 6,
++	AGI_CS_SMPTE240M = 7,
++	AGI_CS_YCOCG = 8,
++	AGI_CS_BT2020_NCL = 9,
++	AGI_CS_BT2020_CL = 10,
++	AGI_CS_SMPTE2085 = 11,
++	AGI_CS_CHROMATICITY_DERIVED_NCL = 12,
++	AGI_CS_CHROMATICITY_DERIVED_CL = 13,
++	AGI_CS_ICTCP = 14
++} AGI_ColorSpaces;
++
+ /// @class FFmpegSourceVideoProvider
+ /// @brief Implements video loading through the FFMS library.
+ class FFmpegSourceVideoProvider final : public VideoProvider, FFmpegSourceProvider {
+@@ -78,7 +95,7 @@ class FFmpegSourceVideoProvider final : public VideoPr
+ 		if (matrix == RealColorSpace)
+ 			FFMS_SetInputFormatV(VideoSource, CS, CR, FFMS_GetPixFmt(""), nullptr);
+ 		else if (matrix == "TV.601")
+-			FFMS_SetInputFormatV(VideoSource, FFMS_CS_BT470BG, CR, FFMS_GetPixFmt(""), nullptr);
++			FFMS_SetInputFormatV(VideoSource, AGI_CS_BT470BG, CR, FFMS_GetPixFmt(""), nullptr);
+ 		else
+ 			return;
+ 		ColorSpace = matrix;
+@@ -103,16 +120,16 @@ std::string colormatrix_description(int cs, int cr) {
+ 	std::string str = cr == FFMS_CR_JPEG ? "PC" : "TV";
+ 
+ 	switch (cs) {
+-		case FFMS_CS_RGB:
++		case AGI_CS_RGB:
+ 			return "None";
+-		case FFMS_CS_BT709:
++		case AGI_CS_BT709:
+ 			return str + ".709";
+-		case FFMS_CS_FCC:
++		case AGI_CS_FCC:
+ 			return str + ".FCC";
+-		case FFMS_CS_BT470BG:
+-		case FFMS_CS_SMPTE170M:
++		case AGI_CS_BT470BG:
++		case AGI_CS_SMPTE170M:
+ 			return str + ".601";
+-		case FFMS_CS_SMPTE240M:
++		case AGI_CS_SMPTE240M:
+ 			return str + ".240M";
+ 		default:
+ 			throw VideoOpenError("Unknown video color space");
+@@ -149,14 +166,12 @@ void FFmpegSourceVideoProvider::LoadVideo(agi::fs::pat
+ 	if (TrackList.size() <= 0)
+ 		throw VideoNotSupported("no video tracks found");
+ 
+-	// initialize the track number to an invalid value so we can detect later on
+-	// whether the user actually had to choose a track or not
+ 	int TrackNumber = -1;
+ 	if (TrackList.size() > 1) {
+-		TrackNumber = AskForTrackSelection(TrackList, FFMS_TYPE_VIDEO);
+-		// if it's still -1 here, user pressed cancel
+-		if (TrackNumber == -1)
++		auto Selection = AskForTrackSelection(TrackList, FFMS_TYPE_VIDEO);
++		if (Selection == TrackSelection::None)
+ 			throw agi::UserCancelException("video loading cancelled by user");
++		TrackNumber = static_cast<int>(Selection);
+ 	}
+ 
+ 	// generate a name for the cache file
+@@ -180,9 +195,9 @@ void FFmpegSourceVideoProvider::LoadVideo(agi::fs::pat
+ 
+ 	// moment of truth
+ 	if (!Index) {
+-		int TrackMask = FFMS_TRACKMASK_NONE;
++		auto TrackMask = TrackSelection::None;
+ 		if (OPT_GET("Provider/FFmpegSource/Index All Tracks")->GetBool() || OPT_GET("Video/Open Audio")->GetBool())
+-			TrackMask = FFMS_TRACKMASK_ALL;
++			TrackMask = TrackSelection::All;
+ 		Index = DoIndexing(Indexer, CacheName, TrackMask, GetErrorHandlingMode());
+ 	}
+ 	else {
+@@ -208,8 +223,10 @@ void FFmpegSourceVideoProvider::LoadVideo(agi::fs::pat
+ 
+ 	// set thread count
+ 	int Threads = OPT_GET("Provider/Video/FFmpegSource/Decoding Threads")->GetInt();
++#if FFMS_VERSION < ((2 << 24) | (30 << 16) | (0 << 8) | 0)
+ 	if (FFMS_GetVersion() < ((2 << 24) | (17 << 16) | (2 << 8) | 1) && FFMS_GetSourceType(Index) == FFMS_SOURCE_LAVF)
+ 		Threads = 1;
++#endif
+ 
+ 	// set seekmode
+ 	// TODO: give this its own option?
+@@ -240,15 +257,15 @@ void FFmpegSourceVideoProvider::LoadVideo(agi::fs::pat
+ 	CS = TempFrame->ColorSpace;
+ 	CR = TempFrame->ColorRange;
+ 
+-	if (CS == FFMS_CS_UNSPECIFIED)
+-		CS = Width > 1024 || Height >= 600 ? FFMS_CS_BT709 : FFMS_CS_BT470BG;
++	if (CS == AGI_CS_UNSPECIFIED)
++		CS = Width > 1024 || Height >= 600 ? AGI_CS_BT709 : AGI_CS_BT470BG;
+ 	RealColorSpace = ColorSpace = colormatrix_description(CS, CR);
+ 
+ #if FFMS_VERSION >= ((2 << 24) | (17 << 16) | (1 << 8) | 0)
+-	if (CS != FFMS_CS_RGB && CS != FFMS_CS_BT470BG && ColorSpace != colormatrix && (colormatrix == "TV.601" || OPT_GET("Video/Force BT.601")->GetBool())) {
+-		if (FFMS_SetInputFormatV(VideoSource, FFMS_CS_BT470BG, CR, FFMS_GetPixFmt(""), &ErrInfo))
++	if (CS != AGI_CS_RGB && CS != AGI_CS_BT470BG && ColorSpace != colormatrix && (colormatrix == "TV.601" || OPT_GET("Video/Force BT.601")->GetBool())) {
++		if (FFMS_SetInputFormatV(VideoSource, AGI_CS_BT470BG, CR, FFMS_GetPixFmt(""), &ErrInfo))
+ 			throw VideoOpenError(std::string("Failed to set input format: ") + ErrInfo.Buffer);
+-		ColorSpace = colormatrix_description(FFMS_CS_BT470BG, CR);
++		ColorSpace = colormatrix_description(AGI_CS_BT470BG, CR);
+ 	}
+ #endif
+ 

Modified: head/multimedia/ffms2/Makefile
==============================================================================
--- head/multimedia/ffms2/Makefile	Mon Sep 14 23:56:44 2020	(r548687)
+++ head/multimedia/ffms2/Makefile	Tue Sep 15 00:46:24 2020	(r548688)
@@ -1,8 +1,7 @@
 # $FreeBSD$
 
 PORTNAME=	ffms2
-DISTVERSION=	2.23
-PORTREVISION=	11
+DISTVERSION=	2.40
 CATEGORIES=	multimedia
 
 MAINTAINER=	jbeich@FreeBSD.org
@@ -17,7 +16,7 @@ LIB_DEPENDS=	libavcodec.so:multimedia/ffmpeg
 USE_GITHUB=	yes
 GH_ACCOUNT=	FFMS
 
-USES=		compiler:c++11-lib gmake libtool pathfix pkgconfig
+USES=		autoreconf compiler:c++11-lib gmake libtool pathfix pkgconfig
 EXCLUDE=	VSHelper.h VSScript.h VapourSynth.h
 EXTRACT_AFTER_ARGS=${EXCLUDE:S,^,--exclude ,}
 GNU_CONFIGURE=	yes
@@ -29,10 +28,13 @@ DATADIR=	${PREFIX}/lib/vapoursynth
 
 OPTIONS_DEFINE=	DOCS
 
+pre-configure:
+	@${MKDIR} ${WRKSRC}/src/config # from autogen.sh
+
 post-patch:
 	@${REINPLACE_CMD} -e '/^dist_doc_DATA/s,=,& \
 			doc/${PORTNAME}-vapoursynth.md,' \
-		${WRKSRC}/Makefile.in
+		${WRKSRC}/Makefile.am
 
 post-install:
 	${MKDIR} ${STAGEDIR}${DATADIR}

Modified: head/multimedia/ffms2/distinfo
==============================================================================
--- head/multimedia/ffms2/distinfo	Mon Sep 14 23:56:44 2020	(r548687)
+++ head/multimedia/ffms2/distinfo	Tue Sep 15 00:46:24 2020	(r548688)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1476819885
-SHA256 (FFMS-ffms2-2.23_GH0.tar.gz) = b09b2aa2b1c6f87f94a0a0dd8284b3c791cbe77f0f3df57af99ddebcd15273ed
-SIZE (FFMS-ffms2-2.23_GH0.tar.gz) = 488940
+TIMESTAMP = 1598095686
+SHA256 (FFMS-ffms2-2.40_GH0.tar.gz) = 82e95662946f3d6e1b529eadbd72bed196adfbc41368b2d50493efce6e716320
+SIZE (FFMS-ffms2-2.40_GH0.tar.gz) = 140356

Modified: head/multimedia/x264/Makefile
==============================================================================
--- head/multimedia/x264/Makefile	Mon Sep 14 23:56:44 2020	(r548687)
+++ head/multimedia/x264/Makefile	Tue Sep 15 00:46:24 2020	(r548688)
@@ -18,7 +18,7 @@
 
 PORTNAME=	x264
 PORTVERSION=	0.${X264_BUILD}.${X264_REV}
-PORTREVISION?=	0
+PORTREVISION?=	1
 CATEGORIES=	multimedia
 MASTER_SITES=	https://samples.mplayerhq.hu/yuv4mpeg2/:pgo
 DIST_SUBDIR=	x264



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202009150046.08F0kONx069735>