public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2015-08-21 12:53 Alexis Ballier
  0 siblings, 0 replies; 22+ messages in thread
From: Alexis Ballier @ 2015-08-21 12:53 UTC (permalink / raw
  To: gentoo-commits

commit:     e5d449792f9b4c68bfef57d552872764f624527e
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 21 12:52:57 2015 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Fri Aug 21 12:52:57 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e5d44979

media-libs/mlt: remove old.

Package-Manager: portage-2.2.20.1

 media-libs/mlt/Manifest                            |   2 -
 media-libs/mlt/files/mlt-0.7.2-ruby-link.patch     |  18 --
 .../mlt/files/mlt-0.8.2-av_codec_is_encoder.patch  |  32 ----
 media-libs/mlt/mlt-0.8.2.ebuild                    | 176 --------------------
 media-libs/mlt/mlt-0.8.8.ebuild                    | 181 ---------------------
 5 files changed, 409 deletions(-)

diff --git a/media-libs/mlt/Manifest b/media-libs/mlt/Manifest
index 405dcd6..066e75d 100644
--- a/media-libs/mlt/Manifest
+++ b/media-libs/mlt/Manifest
@@ -1,4 +1,2 @@
-DIST mlt-0.8.2.tar.gz 1161293 SHA256 36c743d2abc68ce737ac526507fc2caf71b3d6a53a2bf31d22e8193a8b899577 SHA512 ab71018e5a188b95d91b4aceeb4ca0dfc59d0dd981ec3e4fa220b91ce812e2c98ebad1d51998005c6bc98999c7478444c8bfd398d61bd2084ff732a1638ca6aa WHIRLPOOL 4d72efbffd2f7c77041065c948c18ccbb4a65eb7f4ec7209ccde15e142fee84c70324390bc921c0302c30ad7673336c8cf00be8c710154fe31c8a3063987622b
-DIST mlt-0.8.8.tar.gz 1108652 SHA256 cc0e1cdb97a1cd59811a74553b5d3fbff590eb859c475253e188de1069ff9654 SHA512 d29d982632dec14e4397db602688816e06f095b1831514a816bc7640d574a04d3d56cc16240ea0a01229887e95c80891b87c5df981063cb2d6a14b50ff67589f WHIRLPOOL 6e5665e5b4c9471d252faea7073cfd21580e31b55941ba51a415783d79bec3d857fcd01f111da25e24551a3f03a728390e17ab9b127e1bd0977bac94c83162a5
 DIST mlt-0.9.0.tar.gz 1167943 SHA256 f20c6a9c9acaed3da84c601bf9293b2d148168386e5be2bc55651a75f95c1cc9 SHA512 631ab41ee6e3673c712f784b9c02b567a5e3b982d49eabe032ef20e89be9424cf9ce6d97fe6906f03b0ac082544316ba8524ae041d017aeac009ab9b98d457d9 WHIRLPOOL b39e78837f2f2785721315ac174d106e33bafd2dd55b8883b254a39dc98f664be29ce3e84413d2ba55f881bb42ca10c36a9117de00b1a5efc3dff8577a6a29af
 DIST mlt-0.9.8.tar.gz 1263364 SHA256 1214d6ad7fd1c3d36f0b1e64fd1c8d8a7ab6290e8452396003e79d58c0d21074 SHA512 2f3db19cbff8bdd11c53fe835fcc1c32d775ead061b2e225466376be98c622cdd18e67f66becda503a57725ac9a296bc48aae4c3ae1111ed09ba878f61fd1e10 WHIRLPOOL 615323613eeee9ea80f8d6727a05129a9dc32097a8c2bf41cb818843fa8d47885744c1534fd7d26817262f60404e4caa12ea67ae9b3f59984874981865ee9148

diff --git a/media-libs/mlt/files/mlt-0.7.2-ruby-link.patch b/media-libs/mlt/files/mlt-0.7.2-ruby-link.patch
deleted file mode 100644
index c0427c1..0000000
--- a/media-libs/mlt/files/mlt-0.7.2-ruby-link.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-The build system tries to link to installed system libraries first, which 
-fails because the ABI has changed...
-
-diff -ruN mlt-0.7.2.orig/src/swig/ruby/build mlt-0.7.2/src/swig/ruby/build
---- mlt-0.7.2.orig/src/swig/ruby/build	2011-05-02 07:59:12.000000000 +0200
-+++ mlt-0.7.2/src/swig/ruby/build	2011-10-30 16:21:01.000000000 +0100
-@@ -5,8 +5,10 @@
-   exit 0
- end
- system( "ln -sf ../mlt.i" )
-+system( "ln -sf ../../framework/libmlt.so" )
-+system( "ln -sf ../../mlt++/libmlt++.so" )
- system( "swig -c++ -ruby -I../../mlt++ -I../.. mlt.i" )
- $CFLAGS += " -I../.."
--$LDFLAGS += " -L../../mlt++ -lmlt++"
-+$LIBS += " -lmlt++ -lmlt -lstdc++"
- create_makefile('mlt')
- system( "make" )

diff --git a/media-libs/mlt/files/mlt-0.8.2-av_codec_is_encoder.patch b/media-libs/mlt/files/mlt-0.8.2-av_codec_is_encoder.patch
deleted file mode 100644
index 3d0ba1c..0000000
--- a/media-libs/mlt/files/mlt-0.8.2-av_codec_is_encoder.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-AVCodec.encode has been renamed recently is ffmpeg, causing mlt to fail to build.
-Starting from libavcodec 54.7 we have av_codec_is_encoder available publicly so
-use this instead.
-
-Index: mlt-0.8.2/src/modules/avformat/consumer_avformat.c
-===================================================================
---- mlt-0.8.2.orig/src/modules/avformat/consumer_avformat.c
-+++ mlt-0.8.2/src/modules/avformat/consumer_avformat.c
-@@ -238,7 +238,11 @@ static int consumer_start( mlt_consumer
- 		mlt_properties_set_data( doc, "audio_codecs", codecs, 0, NULL, NULL );
- 		while ( ( codec = av_codec_next( codec ) ) )
- #if LIBAVCODEC_VERSION_INT >= ((54<<16)+(0<<8)+0)
-+#if LIBAVCODEC_VERSION_INT >= ((54<<16)+(7<<8)+0)
-+			if ( av_codec_is_encoder(codec) && codec->type == CODEC_TYPE_AUDIO )
-+#else
- 			if ( ( codec->encode || codec->encode2 ) && codec->type == CODEC_TYPE_AUDIO )
-+#endif
- #else
- 			if ( codec->encode && codec->type == CODEC_TYPE_AUDIO )
- #endif
-@@ -262,7 +266,11 @@ static int consumer_start( mlt_consumer
- 		mlt_properties_set_data( doc, "video_codecs", codecs, 0, NULL, NULL );
- 		while ( ( codec = av_codec_next( codec ) ) )
- #if LIBAVCODEC_VERSION_INT >= ((54<<16)+(0<<8)+0)
-+#if LIBAVCODEC_VERSION_INT >= ((54<<16)+(7<<8)+0)
-+			if ( av_codec_is_encoder(codec) && codec->type == CODEC_TYPE_VIDEO )
-+#else
- 			if ( (codec->encode || codec->encode2) && codec->type == CODEC_TYPE_VIDEO )
-+#endif
- #else
- 			if ( codec->encode && codec->type == CODEC_TYPE_VIDEO )
- #endif

diff --git a/media-libs/mlt/mlt-0.8.2.ebuild b/media-libs/mlt/mlt-0.8.2.ebuild
deleted file mode 100644
index 75572e0..0000000
--- a/media-libs/mlt/mlt-0.8.2.ebuild
+++ /dev/null
@@ -1,176 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=4
-PYTHON_DEPEND="python? 2:2.6"
-inherit eutils toolchain-funcs multilib python
-
-DESCRIPTION="An open source multimedia framework, designed and developed for television broadcasting"
-HOMEPAGE="http://www.mltframework.org/"
-SRC_URI="mirror://sourceforge/mlt/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux"
-IUSE="compressed-lumas dv debug ffmpeg frei0r gtk jack kde libsamplerate melt
-cpu_flags_x86_mmx qt4 quicktime rtaudio sdl cpu_flags_x86_sse cpu_flags_x86_sse2 vorbis xine xml lua python ruby vdpau" # java perl php tcl
-IUSE="${IUSE} kernel_linux"
-
-#rtaudio will use OSS on non linux OSes
-RDEPEND="ffmpeg? ( virtual/ffmpeg[vdpau?] )
-	dv? ( >=media-libs/libdv-0.104 )
-	xml? ( >=dev-libs/libxml2-2.5 )
-	vorbis? ( >=media-libs/libvorbis-1.1.2 )
-	sdl? ( >=media-libs/libsdl-1.2.10[X,opengl]
-		 >=media-libs/sdl-image-1.2.4 )
-	libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
-	jack? ( >=media-sound/jack-audio-connection-kit-0.121.3
-		media-libs/ladspa-sdk
-		>=dev-libs/libxml2-2.5 )
-	frei0r? ( media-plugins/frei0r-plugins )
-	gtk? ( x11-libs/gtk+:2
-		media-libs/libexif
-		x11-libs/pango )
-	quicktime? ( media-libs/libquicktime )
-	rtaudio? ( kernel_linux? ( media-libs/alsa-lib ) )
-	xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
-	qt4? ( dev-qt/qtgui:4 dev-qt/qtsvg:4 media-libs/libexif )
-	!media-libs/mlt++
-	lua? ( >=dev-lang/lua-5.1.4-r4 )
-	ruby? ( dev-lang/ruby )"
-#	sox? ( media-sound/sox )
-#	java? ( >=virtual/jre-1.5 )
-#	perl? ( dev-lang/perl )
-#	php? ( dev-lang/php )
-#	tcl? ( dev-lang/tcl:0 )
-
-SWIG_DEPEND=">=dev-lang/swig-2.0"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-	compressed-lumas? ( || ( media-gfx/imagemagick[png]
-			media-gfx/graphicsmagick[imagemagick,png] ) )
-	lua? ( ${SWIG_DEPEND} virtual/pkgconfig )
-	python? ( ${SWIG_DEPEND} )
-	ruby? ( ${SWIG_DEPEND} )"
-#	java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 )
-#	perl? ( ${SWIG_DEPEND} )
-#	php? ( ${SWIG_DEPEND} )
-#	tcl? ( ${SWIG_DEPEND} )
-
-pkg_setup() {
-	python_set_active_version 2
-	python_pkg_setup
-}
-
-src_prepare() {
-	epatch "${FILESDIR}"/${PN}-0.7.2-ruby-link.patch
-	epatch "${FILESDIR}"/${PN}-0.8.2-av_codec_is_encoder.patch
-
-	# respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
-	for x in python lua; do
-		sed -i "/mlt.so/s: -lmlt++ :& ${CFLAGS} ${LDFLAGS} :" src/swig/$x/build || die
-	done
-	sed -i "/^LDFLAGS/s: += :& ${LDFLAGS} :" src/swig/ruby/build || die
-}
-
-src_configure() {
-	tc-export CC CXX
-
-	local myconf="--enable-gpl
-		--enable-motion-est
-		--disable-swfdec
-		$(use_enable debug)
-		$(use_enable dv)
-		$(use_enable cpu_flags_x86_sse sse)
-		$(use_enable cpu_flags_x86_sse2 sse2)
-		$(use_enable gtk gtk2)
-		$(use_enable vorbis)
-		$(use_enable sdl)
-		$(use_enable jack jackrack)
-		$(use_enable ffmpeg avformat)
-		$(use_enable frei0r)
-		$(use_enable melt)
-		$(use_enable libsamplerate resample)
-		$(use_enable rtaudio)
-		$(use vdpau && echo ' --avformat-vdpau')
-		$(use_enable xml)
-		$(use_enable xine)
-		$(use_enable kde kdenlive)
-		$(use_enable qt4 qimage)
-		--disable-sox"
-		#$(use_enable sox)  FIXME
-
-	use ffmpeg && myconf="${myconf} --avformat-swscale"
-
-	(use quicktime && use dv) ||  myconf="${myconf} --disable-kino"
-
-	use compressed-lumas && myconf="${myconf} --luma-compress"
-
-	( use x86 || use amd64 ) && \
-		myconf="${myconf} $(use_enable cpu_flags_x86_mmx mmx)" ||
-		myconf="${myconf} --disable-mmx"
-
-	use melt || sed -i -e "s;src/melt;;" Makefile
-
-	# TODO: add swig language bindings
-	# see also http://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
-
-	local swig_lang
-	# TODO: java perl php tcl
-	for i in lua python ruby ; do
-		use $i && swig_lang="${swig_lang} $i"
-	done
-	[ -z "${swig_lang}" ] && swig_lang="none"
-
-	econf ${myconf} --swig-languages="${swig_lang}"
-	sed -i -e s/^OPT/#OPT/ "${S}/config.mak"
-}
-
-src_install() {
-	emake DESTDIR="${D}" install || die
-	dodoc AUTHORS ChangeLog NEWS README docs/*.txt
-
-	dodir /usr/share/${PN}
-	insinto /usr/share/${PN}
-	doins -r demo
-
-	docinto swig
-
-	# Install SWIG bindings
-	if use lua; then
-		cd "${S}"/src/swig/lua
-		exeinto $(pkg-config --variable INSTALL_CMOD lua)
-		doexe mlt.so || die
-		dodoc play.lua
-	fi
-
-	if use python; then
-		cd "${S}"/src/swig/python
-		insinto $(python_get_sitedir)
-		doins mlt.py || die
-		exeinto $(python_get_sitedir)
-		doexe _mlt.so || die
-		dodoc play.py
-	fi
-
-	if use ruby; then
-		cd "${S}"/src/swig/ruby
-		exeinto $("${EPREFIX}"/usr/bin/ruby -r rbconfig -e 'print Config::CONFIG["sitearchdir"]')
-		doexe mlt.so || die
-		dodoc play.rb thumbs.rb
-	fi
-	# TODO: java perl php tcl
-}
-
-pkg_postinst() {
-	if use python; then
-		python_mod_optimize mlt.py
-	fi
-}
-
-pkg_postrm() {
-	if use python; then
-		python_mod_cleanup mlt.py
-	fi
-}

diff --git a/media-libs/mlt/mlt-0.8.8.ebuild b/media-libs/mlt/mlt-0.8.8.ebuild
deleted file mode 100644
index e57aa3c..0000000
--- a/media-libs/mlt/mlt-0.8.8.ebuild
+++ /dev/null
@@ -1,181 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=4
-PYTHON_DEPEND="python? 2:2.6"
-inherit eutils toolchain-funcs multilib python
-
-DESCRIPTION="An open source multimedia framework, designed and developed for television broadcasting"
-HOMEPAGE="http://www.mltframework.org/"
-SRC_URI="mirror://sourceforge/mlt/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
-IUSE="compressed-lumas dv debug ffmpeg frei0r gtk jack kde kdenlive libsamplerate melt
-cpu_flags_x86_mmx qt4 quicktime rtaudio sdl cpu_flags_x86_sse cpu_flags_x86_sse2 vorbis xine xml lua python ruby vdpau" # java perl php tcl
-IUSE="${IUSE} kernel_linux"
-
-#rtaudio will use OSS on non linux OSes
-RDEPEND="ffmpeg? ( virtual/ffmpeg[vdpau?] )
-	dv? ( >=media-libs/libdv-0.104 )
-	xml? ( >=dev-libs/libxml2-2.5 )
-	vorbis? ( >=media-libs/libvorbis-1.1.2 )
-	sdl? ( >=media-libs/libsdl-1.2.10[X,opengl]
-		 >=media-libs/sdl-image-1.2.4 )
-	libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
-	jack? ( >=media-sound/jack-audio-connection-kit-0.121.3
-		media-libs/ladspa-sdk
-		>=dev-libs/libxml2-2.5 )
-	frei0r? ( media-plugins/frei0r-plugins )
-	gtk? ( x11-libs/gtk+:2
-		media-libs/libexif
-		x11-libs/pango )
-	quicktime? ( media-libs/libquicktime )
-	rtaudio? ( kernel_linux? ( media-libs/alsa-lib ) )
-	xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
-	qt4? ( dev-qt/qtgui:4
-		dev-qt/qtsvg:4
-		media-libs/libexif )
-	kde? ( kde-base/kdelibs:4
-		media-libs/libexif )
-	!media-libs/mlt++
-	lua? ( >=dev-lang/lua-5.1.4-r4 )
-	ruby? ( dev-lang/ruby )"
-#	sox? ( media-sound/sox )
-#	java? ( >=virtual/jre-1.5 )
-#	perl? ( dev-lang/perl )
-#	php? ( dev-lang/php )
-#	tcl? ( dev-lang/tcl:0 )
-
-SWIG_DEPEND=">=dev-lang/swig-2.0"
-DEPEND="${RDEPEND}
-	virtual/pkgconfig
-	compressed-lumas? ( || ( media-gfx/imagemagick[png]
-			media-gfx/graphicsmagick[imagemagick,png] ) )
-	lua? ( ${SWIG_DEPEND} virtual/pkgconfig )
-	python? ( ${SWIG_DEPEND} )
-	ruby? ( ${SWIG_DEPEND} )"
-#	java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 )
-#	perl? ( ${SWIG_DEPEND} )
-#	php? ( ${SWIG_DEPEND} )
-#	tcl? ( ${SWIG_DEPEND} )
-
-pkg_setup() {
-	python_set_active_version 2
-	python_pkg_setup
-}
-
-src_prepare() {
-	epatch "${FILESDIR}"/${PN}-0.8.6-ruby-link.patch
-
-	# respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
-	for x in python lua; do
-		sed -i "/mlt.so/s: -lmlt++ :& ${CFLAGS} ${LDFLAGS} :" src/swig/$x/build || die
-	done
-	sed -i "/^LDFLAGS/s: += :& ${LDFLAGS} :" src/swig/ruby/build || die
-
-	epatch_user
-}
-
-src_configure() {
-	tc-export CC CXX
-
-	local myconf="--enable-gpl
-		--enable-gpl3
-		--enable-motion-est
-		--disable-swfdec
-		$(use_enable debug)
-		$(use_enable dv)
-		$(use_enable cpu_flags_x86_sse sse)
-		$(use_enable cpu_flags_x86_sse2 sse2)
-		$(use_enable gtk gtk2)
-		$(use_enable vorbis)
-		$(use_enable sdl)
-		$(use_enable jack jackrack)
-		$(use_enable ffmpeg avformat)
-		$(use_enable frei0r)
-		$(use_enable melt)
-		$(use_enable libsamplerate resample)
-		$(use_enable rtaudio)
-		$(use vdpau && echo ' --avformat-vdpau')
-		$(use_enable xml)
-		$(use_enable xine)
-		$(use_enable kdenlive)
-		$(use_enable qt4 qimage)
-		--disable-sox"
-		#$(use_enable sox)  FIXME
-
-	use ffmpeg && myconf="${myconf} --avformat-swscale"
-	use kde || myconf="${myconf} --without-kde"
-	(use quicktime && use dv) ||  myconf="${myconf} --disable-kino"
-	use compressed-lumas && myconf="${myconf} --luma-compress"
-
-	( use x86 || use amd64 ) && \
-		myconf="${myconf} $(use_enable cpu_flags_x86_mmx mmx)" ||
-		myconf="${myconf} --disable-mmx"
-
-	use melt || sed -i -e "s;src/melt;;" Makefile
-
-	# TODO: add swig language bindings
-	# see also http://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
-
-	local swig_lang
-	# TODO: java perl php tcl
-	for i in lua python ruby ; do
-		use $i && swig_lang="${swig_lang} $i"
-	done
-	[ -z "${swig_lang}" ] && swig_lang="none"
-
-	econf ${myconf} --swig-languages="${swig_lang}"
-	sed -i -e s/^OPT/#OPT/ "${S}/config.mak"
-}
-
-src_install() {
-	emake DESTDIR="${D}" install || die
-	dodoc AUTHORS ChangeLog NEWS README docs/*.txt
-
-	dodir /usr/share/${PN}
-	insinto /usr/share/${PN}
-	doins -r demo
-
-	docinto swig
-
-	# Install SWIG bindings
-	if use lua; then
-		cd "${S}"/src/swig/lua
-		exeinto $(pkg-config --variable INSTALL_CMOD lua)
-		doexe mlt.so || die
-		dodoc play.lua
-	fi
-
-	if use python; then
-		cd "${S}"/src/swig/python
-		insinto $(python_get_sitedir)
-		doins mlt.py || die
-		exeinto $(python_get_sitedir)
-		doexe _mlt.so || die
-		dodoc play.py
-	fi
-
-	if use ruby; then
-		cd "${S}"/src/swig/ruby
-		exeinto $("${EPREFIX}"/usr/bin/ruby -r rbconfig -e 'print Config::CONFIG["sitearchdir"]')
-		doexe mlt.so || die
-		dodoc play.rb thumbs.rb
-	fi
-	# TODO: java perl php tcl
-}
-
-pkg_postinst() {
-	if use python; then
-		python_mod_optimize mlt.py
-	fi
-}
-
-pkg_postrm() {
-	if use python; then
-		python_mod_cleanup mlt.py
-	fi
-}


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2016-02-15 15:42 Alexis Ballier
  0 siblings, 0 replies; 22+ messages in thread
From: Alexis Ballier @ 2016-02-15 15:42 UTC (permalink / raw
  To: gentoo-commits

commit:     6db4ebee4b21954964b55da918a0b59d2d96ccee
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 15 15:42:19 2016 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Mon Feb 15 15:42:31 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6db4ebee

media-libs/mlt: backport upstream fix to build with ffmpeg 3, bug #574796

Package-Manager: portage-2.2.27
Signed-off-by: Alexis Ballier <aballier <AT> gentoo.org>

 media-libs/mlt/files/mlt-0.9.8-ffmpeg3.patch | 500 +++++++++++++++++++++++++++
 media-libs/mlt/mlt-0.9.8-r2.ebuild           |   3 +-
 2 files changed, 502 insertions(+), 1 deletion(-)

diff --git a/media-libs/mlt/files/mlt-0.9.8-ffmpeg3.patch b/media-libs/mlt/files/mlt-0.9.8-ffmpeg3.patch
new file mode 100644
index 0000000..ef89fbb
--- /dev/null
+++ b/media-libs/mlt/files/mlt-0.9.8-ffmpeg3.patch
@@ -0,0 +1,500 @@
+commit 97c2dd0de4f578ad40d547eddf78fcb1e4a008a4
+Author: Dan Dennedy <dan@dennedy.org>
+Date:   Sat Sep 5 13:06:21 2015 -0700
+
+    Fix avformat build against FFmpeg and Libav master.
+    
+    This drops support for FFmpeg v1.0; requires at least v1.1. Still works
+    with Libav v9.
+    CPU flags are no longer required/used by libswscale. They are detected
+    at runtime automatically.
+
+diff --git a/src/modules/avformat/consumer_avformat.c b/src/modules/avformat/consumer_avformat.c
+index ef8b153..7947c47 100644
+--- a/src/modules/avformat/consumer_avformat.c
++++ b/src/modules/avformat/consumer_avformat.c
+@@ -439,18 +439,18 @@ static void apply_properties( void *obj, mlt_properties properties, int flags )
+ 	}
+ }
+ 
+-static enum PixelFormat pick_pix_fmt( mlt_image_format img_fmt )
++static enum AVPixelFormat pick_pix_fmt( mlt_image_format img_fmt )
+ {
+ 	switch ( img_fmt )
+ 	{
+ 	case mlt_image_rgb24:
+-		return PIX_FMT_RGB24;
++		return AV_PIX_FMT_RGB24;
+ 	case mlt_image_rgb24a:
+-		return PIX_FMT_RGBA;
++		return AV_PIX_FMT_RGBA;
+ 	case mlt_image_yuv420p:
+-		return PIX_FMT_YUV420P;
++		return AV_PIX_FMT_YUV420P;
+ 	default:
+-		return PIX_FMT_YUYV422;
++		return AV_PIX_FMT_YUYV422;
+ 	}
+ }
+ 
+@@ -798,7 +798,7 @@ static AVStream *add_video_stream( mlt_consumer consumer, AVFormatContext *oc, A
+ 		st->time_base = c->time_base;
+ 
+ 		// Default to the codec's first pix_fmt if possible.
+-		c->pix_fmt = pix_fmt? av_get_pix_fmt( pix_fmt ) : codec? codec->pix_fmts[0] : PIX_FMT_YUV420P;
++		c->pix_fmt = pix_fmt? av_get_pix_fmt( pix_fmt ) : codec? codec->pix_fmts[0] : AV_PIX_FMT_YUV420P;
+ 		
+ 		switch ( colorspace )
+ 		{
+@@ -1032,7 +1032,7 @@ static int open_video( mlt_properties properties, AVFormatContext *oc, AVStream
+ 
+ 	if( codec && codec->pix_fmts )
+ 	{
+-		const enum PixelFormat *p = codec->pix_fmts;
++		const enum AVPixelFormat *p = codec->pix_fmts;
+ 		for( ; *p!=-1; p++ )
+ 		{
+ 			if( *p == video_enc->pix_fmt )
+@@ -1791,12 +1791,6 @@ static void *consumer_thread( void *arg )
+ 
+ 						// Do the colour space conversion
+ 						int flags = SWS_BICUBIC;
+-#ifdef USE_MMX
+-						flags |= SWS_CPU_CAPS_MMX;
+-#endif
+-#ifdef USE_SSE
+-						flags |= SWS_CPU_CAPS_MMX2;
+-#endif
+ 						struct SwsContext *context = sws_getContext( width, height, pick_pix_fmt( img_fmt ),
+ 							width, height, c->pix_fmt, flags, NULL, NULL, NULL);
+ 						sws_scale( context, (const uint8_t* const*) video_avframe->data, video_avframe->linesize, 0, height,
+@@ -1808,9 +1802,9 @@ static void *consumer_thread( void *arg )
+ 						// Apply the alpha if applicable
+ 						if ( !mlt_properties_get( properties, "mlt_image_format" ) ||
+ 						     strcmp( mlt_properties_get( properties, "mlt_image_format" ), "rgb24a" ) )
+-						if ( c->pix_fmt == PIX_FMT_RGBA ||
+-						     c->pix_fmt == PIX_FMT_ARGB ||
+-						     c->pix_fmt == PIX_FMT_BGRA )
++						if ( c->pix_fmt == AV_PIX_FMT_RGBA ||
++						     c->pix_fmt == AV_PIX_FMT_ARGB ||
++						     c->pix_fmt == AV_PIX_FMT_BGRA )
+ 						{
+ 							uint8_t *alpha = mlt_frame_get_alpha_mask( frame );
+ 							register int n;
+@@ -1844,8 +1838,6 @@ static void *consumer_thread( void *arg )
+ 						av_init_packet(&pkt);
+ 
+ 						// Set frame interlace hints
+-						c->coded_frame->interlaced_frame = !mlt_properties_get_int( frame_properties, "progressive" );
+-						c->coded_frame->top_field_first = mlt_properties_get_int( frame_properties, "top_field_first" );
+ 						if ( mlt_properties_get_int( frame_properties, "progressive" ) )
+ 							c->field_order = AV_FIELD_PROGRESSIVE;
+ 						else
+diff --git a/src/modules/avformat/filter_avcolour_space.c b/src/modules/avformat/filter_avcolour_space.c
+index f70fd08..910de0c 100644
+--- a/src/modules/avformat/filter_avcolour_space.c
++++ b/src/modules/avformat/filter_avcolour_space.c
+@@ -47,17 +47,17 @@ static int convert_mlt_to_av_cs( mlt_image_format format )
+ 	switch( format )
+ 	{
+ 		case mlt_image_rgb24:
+-			value = PIX_FMT_RGB24;
++			value = AV_PIX_FMT_RGB24;
+ 			break;
+ 		case mlt_image_rgb24a:
+ 		case mlt_image_opengl:
+-			value = PIX_FMT_RGBA;
++			value = AV_PIX_FMT_RGBA;
+ 			break;
+ 		case mlt_image_yuv422:
+-			value = PIX_FMT_YUYV422;
++			value = AV_PIX_FMT_YUYV422;
+ 			break;
+ 		case mlt_image_yuv420p:
+-			value = PIX_FMT_YUV420P;
++			value = AV_PIX_FMT_YUV420P;
+ 			break;
+ 		default:
+ 			mlt_log_error( NULL, "[filter avcolor_space] Invalid format %s\n",
+@@ -123,16 +123,10 @@ static int av_convert_image( uint8_t *out, uint8_t *in, int out_fmt, int in_fmt,
+ 	int flags = SWS_BICUBIC | SWS_ACCURATE_RND;
+ 	int error = -1;
+ 
+-	if ( out_fmt == PIX_FMT_YUYV422 )
++	if ( out_fmt == AV_PIX_FMT_YUYV422 )
+ 		flags |= SWS_FULL_CHR_H_INP;
+ 	else
+ 		flags |= SWS_FULL_CHR_H_INT;
+-#ifdef USE_MMX
+-	flags |= SWS_CPU_CAPS_MMX;
+-#endif
+-#ifdef USE_SSE
+-	flags |= SWS_CPU_CAPS_MMX2;
+-#endif
+ 
+ 	avpicture_fill( &input, in, in_fmt, width, height );
+ 	avpicture_fill( &output, out, out_fmt, width, height );
+@@ -141,7 +135,7 @@ static int av_convert_image( uint8_t *out, uint8_t *in, int out_fmt, int in_fmt,
+ 	if ( context )
+ 	{
+ 		// libswscale wants the RGB colorspace to be SWS_CS_DEFAULT, which is = SWS_CS_ITU601.
+-		if ( out_fmt == PIX_FMT_RGB24 || out_fmt == PIX_FMT_RGBA )
++		if ( out_fmt == AV_PIX_FMT_RGB24 || out_fmt == AV_PIX_FMT_RGBA )
+ 			dst_colorspace = 601;
+ 		error = set_luma_transfer( context, src_colorspace, dst_colorspace, use_full_range );
+ 		sws_scale( context, (const uint8_t* const*) input.data, input.linesize, 0, height,
+@@ -326,7 +320,7 @@ mlt_filter filter_avcolour_space_init( void *arg )
+ 		int *width = (int*) arg;
+ 		if ( *width > 0 )
+ 		{
+-			struct SwsContext *context = sws_getContext( *width, *width, PIX_FMT_RGB32, 64, 64, PIX_FMT_RGB32, SWS_BILINEAR, NULL, NULL, NULL);
++			struct SwsContext *context = sws_getContext( *width, *width, AV_PIX_FMT_RGB32, 64, 64, AV_PIX_FMT_RGB32, SWS_BILINEAR, NULL, NULL, NULL);
+ 			if ( context )
+ 				sws_freeContext( context );
+ 			else
+diff --git a/src/modules/avformat/filter_avdeinterlace.c b/src/modules/avformat/filter_avdeinterlace.c
+index 9c0189e..91c435c 100644
+--- a/src/modules/avformat/filter_avdeinterlace.c
++++ b/src/modules/avformat/filter_avdeinterlace.c
+@@ -234,28 +234,28 @@ static int mlt_avpicture_deinterlace(AVPicture *dst, const AVPicture *src,
+ {
+     int i;
+ 
+-    if (pix_fmt != PIX_FMT_YUV420P &&
+-        pix_fmt != PIX_FMT_YUV422P &&
+-        pix_fmt != PIX_FMT_YUYV422 &&
+-        pix_fmt != PIX_FMT_YUV444P &&
+-	pix_fmt != PIX_FMT_YUV411P)
++    if (pix_fmt != AV_PIX_FMT_YUV420P &&
++        pix_fmt != AV_PIX_FMT_YUV422P &&
++        pix_fmt != AV_PIX_FMT_YUYV422 &&
++        pix_fmt != AV_PIX_FMT_YUV444P &&
++	pix_fmt != AV_PIX_FMT_YUV411P)
+         return -1;
+     if ((width & 3) != 0 || (height & 3) != 0)
+         return -1;
+ 
+-	if ( pix_fmt != PIX_FMT_YUYV422 )
++	if ( pix_fmt != AV_PIX_FMT_YUYV422 )
+ 	{
+       for(i=0;i<3;i++) {
+           if (i == 1) {
+               switch(pix_fmt) {
+-              case PIX_FMT_YUV420P:
++              case AV_PIX_FMT_YUV420P:
+                   width >>= 1;
+                   height >>= 1;
+                   break;
+-              case PIX_FMT_YUV422P:
++              case AV_PIX_FMT_YUV422P:
+                   width >>= 1;
+                   break;
+-              case PIX_FMT_YUV411P:
++              case AV_PIX_FMT_YUV411P:
+                   width >>= 2;
+                   break;
+               default:
+@@ -312,8 +312,8 @@ static int filter_get_image( mlt_frame frame, uint8_t **image, mlt_image_format
+ 		AVPicture *output = mlt_pool_alloc( sizeof( AVPicture ) );
+ 
+ 		// Fill the picture
+-		avpicture_fill( output, *image, PIX_FMT_YUYV422, *width, *height );
+-		mlt_avpicture_deinterlace( output, output, PIX_FMT_YUYV422, *width, *height );
++		avpicture_fill( output, *image, AV_PIX_FMT_YUYV422, *width, *height );
++		mlt_avpicture_deinterlace( output, output, AV_PIX_FMT_YUYV422, *width, *height );
+ 
+ 		// Free the picture
+ 		mlt_pool_release( output );
+diff --git a/src/modules/avformat/filter_swscale.c b/src/modules/avformat/filter_swscale.c
+index b8213a3..37c156d 100644
+--- a/src/modules/avformat/filter_swscale.c
++++ b/src/modules/avformat/filter_swscale.c
+@@ -37,17 +37,17 @@ static inline int convert_mlt_to_av_cs( mlt_image_format format )
+ 	switch( format )
+ 	{
+ 		case mlt_image_rgb24:
+-			value = PIX_FMT_RGB24;
++			value = AV_PIX_FMT_RGB24;
+ 			break;
+ 		case mlt_image_rgb24a:
+ 		case mlt_image_opengl:
+-			value = PIX_FMT_RGBA;
++			value = AV_PIX_FMT_RGBA;
+ 			break;
+ 		case mlt_image_yuv422:
+-			value = PIX_FMT_YUYV422;
++			value = AV_PIX_FMT_YUYV422;
+ 			break;
+ 		case mlt_image_yuv420p:
+-			value = PIX_FMT_YUV420P;
++			value = AV_PIX_FMT_YUV420P;
+ 			break;
+ 		default:
+ 			fprintf( stderr, "Invalid format...\n" );
+@@ -108,12 +108,6 @@ static int filter_scale( mlt_frame frame, uint8_t **image, mlt_image_format *for
+ 			// XXX: we only know how to rescale packed formats
+ 			return 1;
+ 	}
+-#ifdef USE_MMX
+-	interp |= SWS_CPU_CAPS_MMX;
+-#endif
+-#ifdef USE_SSE
+-	interp |= SWS_CPU_CAPS_MMX2;
+-#endif
+ 
+ 	// Convert the pixel formats
+ 	int avformat = convert_mlt_to_av_cs( *format );
+@@ -148,7 +142,7 @@ static int filter_scale( mlt_frame frame, uint8_t **image, mlt_image_format *for
+ 			uint8_t *alpha = mlt_frame_get_alpha( frame );
+ 			if ( alpha )
+ 			{
+-				avformat = PIX_FMT_GRAY8;
++				avformat = AV_PIX_FMT_GRAY8;
+ 				struct SwsContext *context = sws_getContext( iwidth, iheight, avformat, owidth, oheight, avformat, interp, NULL, NULL, NULL);
+ 				avpicture_fill( &input, alpha, avformat, iwidth, iheight );
+ 				outbuf = mlt_pool_alloc( owidth * oheight );
+@@ -182,7 +176,7 @@ mlt_filter filter_swscale_init( mlt_profile profile, void *arg )
+ 		int *width = (int*) arg;
+ 		if ( *width > 0 )
+ 		{
+-			struct SwsContext *context = sws_getContext( *width, *width, PIX_FMT_RGB32, 64, 64, PIX_FMT_RGB32, SWS_BILINEAR, NULL, NULL, NULL);
++			struct SwsContext *context = sws_getContext( *width, *width, AV_PIX_FMT_RGB32, 64, 64, AV_PIX_FMT_RGB32, SWS_BILINEAR, NULL, NULL, NULL);
+ 			if ( context )
+ 				sws_freeContext( context );
+ 			else
+diff --git a/src/modules/avformat/producer_avformat.c b/src/modules/avformat/producer_avformat.c
+index 3495e2a..55e326d 100644
+--- a/src/modules/avformat/producer_avformat.c
++++ b/src/modules/avformat/producer_avformat.c
+@@ -33,6 +33,7 @@
+ #include <libavutil/pixdesc.h>
+ #include <libavutil/dict.h>
+ #include <libavutil/opt.h>
++#include <libavutil/channel_layout.h>
+ 
+ #ifdef VDPAU
+ #  include <libavcodec/vdpau.h>
+@@ -504,21 +505,21 @@ static char* parse_url( mlt_profile profile, const char* URL, AVInputFormat **fo
+ 	return result;
+ }
+ 
+-static enum PixelFormat pick_pix_fmt( enum PixelFormat pix_fmt )
++static enum AVPixelFormat pick_pix_fmt( enum AVPixelFormat pix_fmt )
+ {
+ 	switch ( pix_fmt )
+ 	{
+-	case PIX_FMT_ARGB:
+-	case PIX_FMT_RGBA:
+-	case PIX_FMT_ABGR:
+-	case PIX_FMT_BGRA:
+-		return PIX_FMT_RGBA;
++	case AV_PIX_FMT_ARGB:
++	case AV_PIX_FMT_RGBA:
++	case AV_PIX_FMT_ABGR:
++	case AV_PIX_FMT_BGRA:
++		return AV_PIX_FMT_RGBA;
+ #if defined(FFUDIV) && (LIBSWSCALE_VERSION_INT >= ((2<<16)+(5<<8)+102))
+ 	case AV_PIX_FMT_BAYER_RGGB16LE:
+-		return PIX_FMT_RGB24;
++		return AV_PIX_FMT_RGB24;
+ #endif
+ 	default:
+-		return PIX_FMT_YUV422P;
++		return AV_PIX_FMT_YUV422P;
+ 	}
+ }
+ 
+@@ -976,26 +977,26 @@ static int set_luma_transfer( struct SwsContext *context, int src_colorspace,
+ 		brightness, contrast, saturation );
+ }
+ 
+-static mlt_image_format pick_image_format( enum PixelFormat pix_fmt )
++static mlt_image_format pick_image_format( enum AVPixelFormat pix_fmt )
+ {
+ 	switch ( pix_fmt )
+ 	{
+-	case PIX_FMT_ARGB:
+-	case PIX_FMT_RGBA:
+-	case PIX_FMT_ABGR:
+-	case PIX_FMT_BGRA:
++	case AV_PIX_FMT_ARGB:
++	case AV_PIX_FMT_RGBA:
++	case AV_PIX_FMT_ABGR:
++	case AV_PIX_FMT_BGRA:
+ 		return mlt_image_rgb24a;
+-	case PIX_FMT_YUV420P:
+-	case PIX_FMT_YUVJ420P:
+-	case PIX_FMT_YUVA420P:
++	case AV_PIX_FMT_YUV420P:
++	case AV_PIX_FMT_YUVJ420P:
++	case AV_PIX_FMT_YUVA420P:
+ 		return mlt_image_yuv420p;
+-	case PIX_FMT_RGB24:
+-	case PIX_FMT_BGR24:
+-	case PIX_FMT_GRAY8:
+-	case PIX_FMT_MONOWHITE:
+-	case PIX_FMT_MONOBLACK:
+-	case PIX_FMT_RGB8:
+-	case PIX_FMT_BGR8:
++	case AV_PIX_FMT_RGB24:
++	case AV_PIX_FMT_BGR24:
++	case AV_PIX_FMT_GRAY8:
++	case AV_PIX_FMT_MONOWHITE:
++	case AV_PIX_FMT_MONOBLACK:
++	case AV_PIX_FMT_RGB8:
++	case AV_PIX_FMT_BGR8:
+ #if defined(FFUDIV) && (LIBSWSCALE_VERSION_INT >= ((2<<16)+(5<<8)+102))
+ 	case AV_PIX_FMT_BAYER_RGGB16LE:
+ 		return mlt_image_rgb24;
+@@ -1071,21 +1072,14 @@ static int convert_image( producer_avformat self, AVFrame *frame, uint8_t *buffe
+ 	mlt_profile profile = mlt_service_profile( MLT_PRODUCER_SERVICE( self->parent ) );
+ 	int result = self->yuv_colorspace;
+ 
+-#ifdef USE_MMX
+-	flags |= SWS_CPU_CAPS_MMX;
+-#endif
+-#ifdef USE_SSE
+-	flags |= SWS_CPU_CAPS_MMX2;
+-#endif
+-
+ 	mlt_log_debug( MLT_PRODUCER_SERVICE(self->parent), "%s @ %dx%d space %d->%d\n",
+ 		mlt_image_format_name( *format ),
+ 		width, height, self->yuv_colorspace, profile->colorspace );
+ 
+ 	// extract alpha from planar formats
+-	if ( ( pix_fmt == PIX_FMT_YUVA420P
++	if ( ( pix_fmt == AV_PIX_FMT_YUVA420P
+ #if defined(FFUDIV)
+-			|| pix_fmt == PIX_FMT_YUVA444P
++			|| pix_fmt == AV_PIX_FMT_YUVA444P
+ #endif
+ 			) &&
+ 		*format != mlt_image_rgb24a && *format != mlt_image_opengl &&
+@@ -1110,10 +1104,10 @@ static int convert_image( producer_avformat self, AVFrame *frame, uint8_t *buffe
+ 		// avformat with no filters and explicitly requested.
+ #if defined(FFUDIV) && (LIBAVFORMAT_VERSION_INT >= ((55<<16)+(48<<8)+100))
+ 		struct SwsContext *context = sws_getContext(width, height, src_pix_fmt,
+-			width, height, PIX_FMT_YUV420P, flags, NULL, NULL, NULL);
++			width, height, AV_PIX_FMT_YUV420P, flags, NULL, NULL, NULL);
+ #else
+ 		struct SwsContext *context = sws_getContext( width, height, pix_fmt,
+-					width, height, self->full_luma ? PIX_FMT_YUVJ420P : PIX_FMT_YUV420P,
++					width, height, self->full_luma ? AV_PIX_FMT_YUVJ420P : AV_PIX_FMT_YUV420P,
+ 					flags, NULL, NULL, NULL);
+ #endif
+ 
+@@ -1133,9 +1127,9 @@ static int convert_image( producer_avformat self, AVFrame *frame, uint8_t *buffe
+ 	else if ( *format == mlt_image_rgb24 )
+ 	{
+ 		struct SwsContext *context = sws_getContext( width, height, src_pix_fmt,
+-			width, height, PIX_FMT_RGB24, flags | SWS_FULL_CHR_H_INT, NULL, NULL, NULL);
++			width, height, AV_PIX_FMT_RGB24, flags | SWS_FULL_CHR_H_INT, NULL, NULL, NULL);
+ 		AVPicture output;
+-		avpicture_fill( &output, buffer, PIX_FMT_RGB24, width, height );
++		avpicture_fill( &output, buffer, AV_PIX_FMT_RGB24, width, height );
+ 		// libswscale wants the RGB colorspace to be SWS_CS_DEFAULT, which is = SWS_CS_ITU601.
+ 		set_luma_transfer( context, self->yuv_colorspace, 601, self->full_luma, 0 );
+ 		sws_scale( context, (const uint8_t* const*) frame->data, frame->linesize, 0, height,
+@@ -1145,9 +1139,9 @@ static int convert_image( producer_avformat self, AVFrame *frame, uint8_t *buffe
+ 	else if ( *format == mlt_image_rgb24a || *format == mlt_image_opengl )
+ 	{
+ 		struct SwsContext *context = sws_getContext( width, height, src_pix_fmt,
+-			width, height, PIX_FMT_RGBA, flags | SWS_FULL_CHR_H_INT, NULL, NULL, NULL);
++			width, height, AV_PIX_FMT_RGBA, flags | SWS_FULL_CHR_H_INT, NULL, NULL, NULL);
+ 		AVPicture output;
+-		avpicture_fill( &output, buffer, PIX_FMT_RGBA, width, height );
++		avpicture_fill( &output, buffer, AV_PIX_FMT_RGBA, width, height );
+ 		// libswscale wants the RGB colorspace to be SWS_CS_DEFAULT, which is = SWS_CS_ITU601.
+ 		set_luma_transfer( context, self->yuv_colorspace, 601, self->full_luma, 0 );
+ 		sws_scale( context, (const uint8_t* const*) frame->data, frame->linesize, 0, height,
+@@ -1158,13 +1152,13 @@ static int convert_image( producer_avformat self, AVFrame *frame, uint8_t *buffe
+ 	{
+ #if defined(FFUDIV) && (LIBAVFORMAT_VERSION_INT >= ((55<<16)+(48<<8)+100))
+ 		struct SwsContext *context = sws_getContext( width, height, src_pix_fmt,
+-			width, height, PIX_FMT_YUYV422, flags | SWS_FULL_CHR_H_INP, NULL, NULL, NULL);
++			width, height, AV_PIX_FMT_YUYV422, flags | SWS_FULL_CHR_H_INP, NULL, NULL, NULL);
+ #else
+ 		struct SwsContext *context = sws_getContext( width, height, pix_fmt,
+-			width, height, PIX_FMT_YUYV422, flags | SWS_FULL_CHR_H_INP, NULL, NULL, NULL);
++			width, height, AV_PIX_FMT_YUYV422, flags | SWS_FULL_CHR_H_INP, NULL, NULL, NULL);
+ #endif
+ 		AVPicture output;
+-		avpicture_fill( &output, buffer, PIX_FMT_YUYV422, width, height );
++		avpicture_fill( &output, buffer, AV_PIX_FMT_YUYV422, width, height );
+ 		if ( !set_luma_transfer( context, self->yuv_colorspace, profile->colorspace, self->full_luma, 0 ) )
+ 			result = profile->colorspace;
+ 		sws_scale( context, (const uint8_t* const*) frame->data, frame->linesize, 0, height,
+@@ -1297,12 +1291,11 @@ static int producer_get_image( mlt_frame frame, uint8_t **buffer, mlt_image_form
+ 	double delay = mlt_properties_get_double( properties, "video_delay" );
+ 
+ 	// Seek if necessary
+-	const char *interp = mlt_properties_get( frame_properties, "rescale.interp" );
+-	int preseek = must_decode
++	int preseek = must_decode && codec_context->has_b_frames;
+ #if defined(FFUDIV)
+-		&& ( interp && strcmp( interp, "nearest" ) )
++	const char *interp = mlt_properties_get( frame_properties, "rescale.interp" );
++	preseek = preseek && interp && strcmp( interp, "nearest" );
+ #endif
+-		&& codec_context->has_b_frames;
+ 	int paused = seek_video( self, position, req_position, preseek );
+ 
+ 	// Seek might have reopened the file
+@@ -1310,10 +1303,10 @@ static int producer_get_image( mlt_frame frame, uint8_t **buffer, mlt_image_form
+ 	stream = context->streams[ self->video_index ];
+ 	codec_context = stream->codec;
+ 	if ( *format == mlt_image_none || *format == mlt_image_glsl ||
+-			codec_context->pix_fmt == PIX_FMT_ARGB ||
+-			codec_context->pix_fmt == PIX_FMT_RGBA ||
+-			codec_context->pix_fmt == PIX_FMT_ABGR ||
+-			codec_context->pix_fmt == PIX_FMT_BGRA )
++			codec_context->pix_fmt == AV_PIX_FMT_ARGB ||
++			codec_context->pix_fmt == AV_PIX_FMT_RGBA ||
++			codec_context->pix_fmt == AV_PIX_FMT_ABGR ||
++			codec_context->pix_fmt == AV_PIX_FMT_BGRA )
+ 		*format = pick_image_format( codec_context->pix_fmt );
+ #if defined(FFUDIV) && (LIBSWSCALE_VERSION_INT >= ((2<<16)+(5<<8)+102))
+ 	else if ( codec_context->pix_fmt == AV_PIX_FMT_BAYER_RGGB16LE ) {
+@@ -1346,7 +1339,7 @@ static int producer_get_image( mlt_frame frame, uint8_t **buffer, mlt_image_form
+ 				picture.linesize[1] = codec_context->width / 2;
+ 				picture.linesize[2] = codec_context->width / 2;
+ 				yuv_colorspace = convert_image( self, (AVFrame*) &picture, *buffer,
+-					PIX_FMT_YUV420P, format, *width, *height, &alpha );
++					AV_PIX_FMT_YUV420P, format, *width, *height, &alpha );
+ 			}
+ 			else
+ #endif
+@@ -1539,7 +1532,7 @@ static int producer_get_image( mlt_frame frame, uint8_t **buffer, mlt_image_form
+ 							VdpStatus status = vdp_surface_get_bits( render->surface, dest_format, planes, pitches );
+ 							if ( status == VDP_STATUS_OK )
+ 							{
+-								yuv_colorspace = convert_image( self, self->video_frame, *buffer, PIX_FMT_YUV420P,
++								yuv_colorspace = convert_image( self, self->video_frame, *buffer, AV_PIX_FMT_YUV420P,
+ 									format, *width, *height, &alpha );
+ 								mlt_properties_set_int( frame_properties, "colorspace", yuv_colorspace );
+ 							}
+diff --git a/src/modules/avformat/vdpau.c b/src/modules/avformat/vdpau.c
+index 719db1c..4f2e6b9 100644
+--- a/src/modules/avformat/vdpau.c
++++ b/src/modules/avformat/vdpau.c
+@@ -136,9 +136,9 @@ static int vdpau_init( producer_avformat self )
+ 	return success;
+ }
+ 
+-static enum PixelFormat vdpau_get_format( struct AVCodecContext *s, const enum PixelFormat *fmt )
++static enum AVPixelFormat vdpau_get_format( struct AVCodecContext *s, const enum AVPixelFormat *fmt )
+ {
+-	return PIX_FMT_VDPAU_H264;
++	return AV_PIX_FMT_VDPAU_H264;
+ }
+ 
+ static int vdpau_get_buffer( AVCodecContext *codec_context, AVFrame *frame )
+@@ -240,7 +240,7 @@ static int vdpau_decoder_init( producer_avformat self )
+ 	self->video_codec->release_buffer = vdpau_release_buffer;
+ 	self->video_codec->draw_horiz_band = vdpau_draw_horiz;
+ 	self->video_codec->slice_flags = SLICE_FLAG_CODED_ORDER | SLICE_FLAG_ALLOW_FIELD;
+-	self->video_codec->pix_fmt = PIX_FMT_VDPAU_H264;
++	self->video_codec->pix_fmt = AV_PIX_FMT_VDPAU_H264;
+ 	
+ 	VdpDecoderProfile profile = VDP_DECODER_PROFILE_H264_HIGH;
+ 	uint32_t max_references = self->video_codec->refs;

diff --git a/media-libs/mlt/mlt-0.9.8-r2.ebuild b/media-libs/mlt/mlt-0.9.8-r2.ebuild
index 248d021..8251f54 100644
--- a/media-libs/mlt/mlt-0.9.8-r2.ebuild
+++ b/media-libs/mlt/mlt-0.9.8-r2.ebuild
@@ -92,7 +92,8 @@ pkg_setup() {
 }
 
 src_prepare() {
-	epatch "${FILESDIR}"/${PN}-0.9.8-ruby-link.patch
+	epatch "${FILESDIR}"/${PN}-0.9.8-ruby-link.patch \
+		"${FILESDIR}/${P}-ffmpeg3.patch"
 
 	# respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
 	for x in python lua; do


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2016-05-11 18:06 Michael Palimaka
  0 siblings, 0 replies; 22+ messages in thread
From: Michael Palimaka @ 2016-05-11 18:06 UTC (permalink / raw
  To: gentoo-commits

commit:     a467a6fb1a263c339781200f0708a76935fbeede
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Wed May 11 18:05:44 2016 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Wed May 11 18:06:38 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a467a6fb

media-libs/mlt: version bump

Package-Manager: portage-2.2.28

 media-libs/mlt/Manifest                        |   1 +
 media-libs/mlt/files/mlt-6.2.0-ruby-link.patch |  18 ++
 media-libs/mlt/mlt-6.2.0.ebuild                | 218 +++++++++++++++++++++++++
 3 files changed, 237 insertions(+)

diff --git a/media-libs/mlt/Manifest b/media-libs/mlt/Manifest
index 066e75d..dc39b38 100644
--- a/media-libs/mlt/Manifest
+++ b/media-libs/mlt/Manifest
@@ -1,2 +1,3 @@
 DIST mlt-0.9.0.tar.gz 1167943 SHA256 f20c6a9c9acaed3da84c601bf9293b2d148168386e5be2bc55651a75f95c1cc9 SHA512 631ab41ee6e3673c712f784b9c02b567a5e3b982d49eabe032ef20e89be9424cf9ce6d97fe6906f03b0ac082544316ba8524ae041d017aeac009ab9b98d457d9 WHIRLPOOL b39e78837f2f2785721315ac174d106e33bafd2dd55b8883b254a39dc98f664be29ce3e84413d2ba55f881bb42ca10c36a9117de00b1a5efc3dff8577a6a29af
 DIST mlt-0.9.8.tar.gz 1263364 SHA256 1214d6ad7fd1c3d36f0b1e64fd1c8d8a7ab6290e8452396003e79d58c0d21074 SHA512 2f3db19cbff8bdd11c53fe835fcc1c32d775ead061b2e225466376be98c622cdd18e67f66becda503a57725ac9a296bc48aae4c3ae1111ed09ba878f61fd1e10 WHIRLPOOL 615323613eeee9ea80f8d6727a05129a9dc32097a8c2bf41cb818843fa8d47885744c1534fd7d26817262f60404e4caa12ea67ae9b3f59984874981865ee9148
+DIST mlt-6.2.0.tar.gz 1314506 SHA256 dd2ee742e89620de78a259790f92a7cadad67f0e0a6c1ea7ed932f96fb739fff SHA512 a36ee9c0684511dfa83e08027671d7c6f2c19741cc0504a12d19b4f859c596ca3457108785fa8d7321f5ba83f9498b9be26abb0d857b86743d0ec61e6fb2745b WHIRLPOOL a1554d58d7373711b8e99a185e0e57807ba438f1647480971feec26f6b7123af1c811a6219311d69444277e6ac1da95a1d7c8d351271dd0e3a80913028dba3fc

diff --git a/media-libs/mlt/files/mlt-6.2.0-ruby-link.patch b/media-libs/mlt/files/mlt-6.2.0-ruby-link.patch
new file mode 100644
index 0000000..35341b4
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.2.0-ruby-link.patch
@@ -0,0 +1,18 @@
+The build system tries to link to installed system libraries first, which
+fails because the ABI has changed...
+
+--- a/src/swig/ruby/build
++++ b/src/swig/ruby/build
+@@ -5,9 +5,11 @@
+   exit 0
+ end
+ system( "ln -sf ../mlt.i" )
++system( "ln -sf ../../framework/libmlt.so" )
++system( "ln -sf ../../mlt++/libmlt++.so" )
+ system( "swig -c++ -ruby -I../../mlt++ -I../.. mlt.i" )
+ $CFLAGS = $CFLAGS.to_s + " -I../.. " + (ENV.has_key?('CXXFLAGS')? ENV['CXXFLAGS'] : '')
+ $CXXFLAGS = $CXXFLAGS.to_s + " -I../.. " + (ENV.has_key?('CXXFLAGS')? ENV['CXXFLAGS'] : '')
+-$LDFLAGS = $LDFLAGS.to_s + " -L../../mlt++ -lmlt++"
++$LIBS += " -lmlt++ -lmlt -lstdc++"
+ create_makefile('mlt')
+ system( "make V=1" )

diff --git a/media-libs/mlt/mlt-6.2.0.ebuild b/media-libs/mlt/mlt-6.2.0.ebuild
new file mode 100644
index 0000000..663b866
--- /dev/null
+++ b/media-libs/mlt/mlt-6.2.0.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+USE_RUBY="ruby20"
+inherit eutils toolchain-funcs multilib python-single-r1 ruby-single
+
+DESCRIPTION="Open source multimedia framework for television broadcasting"
+HOMEPAGE="http://www.mltframework.org/"
+SRC_URI="https://github.com/mltframework/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="compressed-lumas debug ffmpeg fftw frei0r gtk jack kde kdenlive libav libsamplerate melt opengl
+cpu_flags_x86_mmx qt4 qt5 rtaudio sdl cpu_flags_x86_sse cpu_flags_x86_sse2 xine xml lua python ruby vdpau"
+# java perl php tcl vidstab
+IUSE="${IUSE} kernel_linux"
+
+#rtaudio will use OSS on non linux OSes
+COMMON_DEPEND="
+	ffmpeg? (
+		libav? ( media-video/libav:0=[vdpau?] )
+		!libav? ( media-video/ffmpeg:0=[vdpau?] )
+	)
+	xml? ( >=dev-libs/libxml2-2.5 )
+	sdl? ( >=media-libs/libsdl-1.2.10[X,opengl,video]
+		 >=media-libs/sdl-image-1.2.4 )
+	libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
+	jack? ( >=media-sound/jack-audio-connection-kit-0.121.3
+		media-libs/ladspa-sdk
+		>=dev-libs/libxml2-2.5 )
+	fftw? ( sci-libs/fftw:3.0= )
+	frei0r? ( media-plugins/frei0r-plugins )
+	gtk? ( x11-libs/gtk+:2
+		media-libs/libexif
+		x11-libs/pango )
+	opengl? ( media-video/movit )
+	rtaudio? ( kernel_linux? ( media-libs/alsa-lib ) )
+	xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtsvg:5
+		dev-qt/qtwidgets:5
+		dev-qt/qtxml:5
+		media-libs/libexif
+		x11-libs/libX11
+		opengl? ( dev-qt/qtopengl:5 )
+	)
+	qt4? (
+		dev-qt/qtcore:4
+		dev-qt/qtgui:4
+		dev-qt/qtsvg:4
+		media-libs/libexif
+		x11-libs/libX11
+		opengl? ( dev-qt/qtopengl:4 )
+	)
+	kde? ( kde-base/kdelibs:4 )
+	lua? ( >=dev-lang/lua-5.1.4-r4:= )
+	ruby? ( ${RUBY_DEPS} )"
+#	sox? ( media-sound/sox )
+#	java? ( >=virtual/jre-1.5 )
+#	perl? ( dev-lang/perl )
+#	php? ( dev-lang/php )
+#	tcl? ( dev-lang/tcl:0= )
+#	vidstab? ( media-libs/libvidstab )
+SWIG_DEPEND=">=dev-lang/swig-2.0"
+DEPEND="${COMMON_DEPEND}
+	virtual/pkgconfig
+	compressed-lumas? ( || ( media-gfx/imagemagick[png]
+			media-gfx/graphicsmagick[imagemagick,png] ) )
+	lua? ( ${SWIG_DEPEND} virtual/pkgconfig )
+	python? ( ${SWIG_DEPEND} ${PYTHON_DEPS} )
+	ruby? ( ${SWIG_DEPEND} )"
+#	java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 )
+#	perl? ( ${SWIG_DEPEND} )
+#	php? ( ${SWIG_DEPEND} )
+#	tcl? ( ${SWIG_DEPEND} )
+RDEPEND="${COMMON_DEPEND}
+	!media-libs/mlt++
+"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+	qt5? ( !qt4 ) kde? ( qt4 )
+"
+
+pkg_setup() {
+	use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+
+	epatch "${FILESDIR}"/${PN}-6.2.0-ruby-link.patch
+
+	# respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
+	for x in python lua; do
+		sed -i "/mlt.so/s: -lmlt++ :& ${CFLAGS} ${LDFLAGS} :" src/swig/$x/build || die
+	done
+	sed -i "/^LDFLAGS/s: += :& ${LDFLAGS} :" src/swig/ruby/build || die
+
+	default
+}
+
+src_configure() {
+	tc-export CC CXX
+
+	local myconf="--enable-gpl
+		--enable-gpl3
+		--enable-motion-est
+e		--target-arch=$(tc-arch)
+		--disable-swfdec
+		$(use_enable debug)
+		$(use compressed-lumas && echo ' --luma-compress')
+		$(use_enable cpu_flags_x86_sse sse)
+		$(use_enable cpu_flags_x86_sse2 sse2)
+		$(use_enable gtk gtk2)
+		$(use_enable sdl)
+		$(use_enable jack jackrack)
+		$(use_enable ffmpeg avformat)
+		$(use ffmpeg && echo ' --avformat-swscale')
+		$(use_enable fftw plus)
+		$(use_enable frei0r)
+		$(use_enable melt)
+		$(use_enable opengl)
+		$(use_enable libsamplerate resample)
+		$(use_enable rtaudio)
+		$(use vdpau && echo ' --avformat-vdpau')
+		$(use_enable xml)
+		$(use_enable xine)
+		$(use_enable kdenlive)
+		--disable-sox"
+		#$(use_enable sox) FIXME
+
+	# kde means kde4 at this point
+	if use qt5 ; then
+		myconf+=" --enable-qt
+			--qt-includedir=$(pkg-config Qt5Core --variable=includedir)
+			--qt-libdir=$(pkg-config Qt5Core --variable=libdir)"
+	elif use qt4 ; then
+		# pkg-config QtCore does not give us qt4 parent include dir
+		local qtinclude=$(pkg-config QtCore --variable=includedir)
+		[[ ${qtinclude} == *QtCore ]] && qtinclude=$(dirname ${qtinclude})
+		myconf+=" --enable-qt $(use_with kde)
+			--qt-includedir=${qtinclude}
+			--qt-libdir=$(pkg-config QtCore --variable=libdir)"
+	else
+		myconf+=" --disable-qt"
+	fi
+
+	if use x86 || use amd64 ; then
+		myconf+=" $(use_enable cpu_flags_x86_mmx mmx)"
+	else
+		myconf+=" --disable-mmx"
+	fi
+
+	if ! use melt; then
+		sed -i -e "s;src/melt;;" Makefile || die
+	fi
+
+	# TODO: add swig language bindings
+	# see also http://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
+
+	local swig_lang
+	# TODO: java perl php tcl
+	for i in lua python ruby ; do
+		use $i && swig_lang="${swig_lang} $i"
+	done
+	[ -z "${swig_lang}" ] && swig_lang="none"
+
+	econf ${myconf} --swig-languages="${swig_lang}"
+
+	sed -i -e s/^OPT/#OPT/ "${S}/config.mak" || die
+	if use qt5 || use qt4 ; then
+		if ! use opengl ; then
+			sed -i -e "/^USE_QT_OPENGL/ s/^/#/" "${S}/src/modules/qt/config.mak" || die
+		fi
+	fi
+}
+
+src_install() {
+	emake DESTDIR="${D}" install
+	dodoc AUTHORS ChangeLog NEWS README docs/*.txt
+
+	dodir /usr/share/${PN}
+	insinto /usr/share/${PN}
+	doins -r demo
+
+	docinto swig
+
+	# Install SWIG bindings
+	if use lua; then
+		cd "${S}"/src/swig/lua || die
+		exeinto $(pkg-config --variable INSTALL_CMOD lua)
+		doexe mlt.so
+		dodoc play.lua
+	fi
+
+	if use python; then
+		cd "${S}"/src/swig/python || die
+		insinto $(python_get_sitedir)
+		doins mlt.py
+		exeinto $(python_get_sitedir)
+		doexe _mlt.so
+		dodoc play.py
+		python_optimize
+	fi
+
+	if use ruby; then
+		cd "${S}"/src/swig/ruby || die
+		exeinto $("${EPREFIX}"/usr/bin/ruby -r rbconfig -e 'print Config::CONFIG["sitearchdir"]')
+		doexe mlt.so
+		dodoc play.rb thumbs.rb
+	fi
+	# TODO: java perl php tcl
+}


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2017-10-28 12:17 Andreas Sturmlechner
  0 siblings, 0 replies; 22+ messages in thread
From: Andreas Sturmlechner @ 2017-10-28 12:17 UTC (permalink / raw
  To: gentoo-commits

commit:     f24748fc142e1a02eea3423e22c239133f909deb
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 28 11:56:32 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Oct 28 12:17:15 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f24748fc

media-libs/mlt: Fix build w/ opencv-3.3

Thanks-to: Serge Gavrilov <serge <AT> pdmi.ras.ru>
Gentoo-bug: https://bugs.gentoo.org/631714
Package-Manager: Portage-2.3.13, Repoman-2.3.4

 media-libs/mlt/files/mlt-6.4.1-opencv-3.3.patch | 33 +++++++++++++++++++++++++
 media-libs/mlt/mlt-6.4.1-r3.ebuild              |  1 +
 2 files changed, 34 insertions(+)

diff --git a/media-libs/mlt/files/mlt-6.4.1-opencv-3.3.patch b/media-libs/mlt/files/mlt-6.4.1-opencv-3.3.patch
new file mode 100644
index 00000000000..0a3732da2e3
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.4.1-opencv-3.3.patch
@@ -0,0 +1,33 @@
+From 622ff3acf6256739bd547ade1ceca0e6df5022e6 Mon Sep 17 00:00:00 2001
+From: BoboopTeam <BoboopTeam@users.noreply.github.com>
+Date: Thu, 7 Sep 2017 22:14:48 +0200
+Subject: [PATCH] module: opencv: Remove deleted cv::Tracker::create()
+
+This static method is no longer present in OpenCV API, this workaround should fix compilation against OpenCV 3.3.0 and newer
+---
+ src/modules/opencv/filter_opencv_tracker.cpp | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/src/modules/opencv/filter_opencv_tracker.cpp b/src/modules/opencv/filter_opencv_tracker.cpp
+index 48ffb56b..3cfc07d2 100644
+--- a/src/modules/opencv/filter_opencv_tracker.cpp
++++ b/src/modules/opencv/filter_opencv_tracker.cpp
+@@ -111,11 +111,15 @@ static void analyze( mlt_filter filter, cv::Mat cvFrame, private_data* data, int
+ 		data->algo = mlt_properties_get( filter_properties, "algo" );
+                 if ( data->algo == NULL || !strcmp(data->algo, "" ) )
+                 {
+-			data->tracker = cv::Tracker::create( "KCF" );
++			data->tracker = cv::TrackerKCF::create();
++		}
++		else if (!strcmp(data->algo, "MIL" ))
++		{
++			data->tracker = cv::TrackerMIL::create();
+ 		}
+ 		else
+-                {
+-			data->tracker = cv::Tracker::create( data->algo );
++		{
++			data->tracker = cv::TrackerBoosting::create();
+ 		}
+ 
+ 		// Discard previous results

diff --git a/media-libs/mlt/mlt-6.4.1-r3.ebuild b/media-libs/mlt/mlt-6.4.1-r3.ebuild
index 0e847602b09..68c20792d6f 100644
--- a/media-libs/mlt/mlt-6.4.1-r3.ebuild
+++ b/media-libs/mlt/mlt-6.4.1-r3.ebuild
@@ -86,6 +86,7 @@ RDEPEND="${COMMON_DEPEND}
 PATCHES=(
 	"${FILESDIR}"/${PN}-6.2.0-ruby-link.patch
 	"${FILESDIR}"/${P}-libebur128-unbundle.patch
+	"${FILESDIR}"/${P}-opencv-3.3.patch
 )
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2017-11-15 23:45 Andreas Sturmlechner
  0 siblings, 0 replies; 22+ messages in thread
From: Andreas Sturmlechner @ 2017-11-15 23:45 UTC (permalink / raw
  To: gentoo-commits

commit:     3a9f7bedd4083a1808be16cadc82aa961ec983bf
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 31 18:58:14 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Nov 15 23:35:29 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a9f7bed

media-libs/mlt: Add patches to drop bogus Qt5OpenGL DEPEND

Package-Manager: Portage-2.3.13, Repoman-2.3.4

 media-libs/mlt/files/mlt-6.4.1-qtopengl-1.patch |  33 ++++
 media-libs/mlt/files/mlt-6.4.1-qtopengl-2.patch |  61 +++++++
 media-libs/mlt/mlt-6.4.1-r5.ebuild              | 218 ++++++++++++++++++++++++
 3 files changed, 312 insertions(+)

diff --git a/media-libs/mlt/files/mlt-6.4.1-qtopengl-1.patch b/media-libs/mlt/files/mlt-6.4.1-qtopengl-1.patch
new file mode 100644
index 00000000000..c00e8d05615
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.4.1-qtopengl-1.patch
@@ -0,0 +1,33 @@
+From d2a04ae77a6b2c82a2e12b9fb631beb8f825946d Mon Sep 17 00:00:00 2001
+From: Alberto Villa <avilla@FreeBSD.org>
+Date: Sat, 24 Dec 2016 05:07:54 +0100
+Subject: [PATCH] Move Qt OpenGL include(s) to Qt 4 specific code
+
+Only Qt 4 code references those files (QMutex and QWaitCondition are
+not OpenGL files, but still they're only useful in Qt 4 code).
+---
+ src/modules/qt/consumer_qglsl.cpp | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/src/modules/qt/consumer_qglsl.cpp b/src/modules/qt/consumer_qglsl.cpp
+index 74840602..ca0cf383 100644
+--- a/src/modules/qt/consumer_qglsl.cpp
++++ b/src/modules/qt/consumer_qglsl.cpp
+@@ -20,13 +20,14 @@
+ #include "common.h"
+ #include <framework/mlt.h>
+ #include <QApplication>
+-#include <QGLWidget>
+-#include <QMutex>
+-#include <QWaitCondition>
+ #include <QtGlobal>
+ 
+ #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
+ 
++#include <QGLWidget>
++#include <QMutex>
++#include <QWaitCondition>
++
+ class GLWidget : public QGLWidget
+ {
+ private:

diff --git a/media-libs/mlt/files/mlt-6.4.1-qtopengl-2.patch b/media-libs/mlt/files/mlt-6.4.1-qtopengl-2.patch
new file mode 100644
index 00000000000..5f98f12bbb1
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.4.1-qtopengl-2.patch
@@ -0,0 +1,61 @@
+From 6ba6cab570d824641f63c66b355ba28f0721811f Mon Sep 17 00:00:00 2001
+From: Alberto Villa <avilla@FreeBSD.org>
+Date: Sat, 24 Dec 2016 05:10:20 +0100
+Subject: [PATCH] Avoid looking for Qt5OpenGL module
+
+The OpenGL-related code needed by qimage was moved to Qt5Gui, which
+allows to safely remove the dependency on Qt 5 builds.
+
+Build tested on FreeBSD.
+---
+ src/modules/qt/configure | 20 +-------------------
+ 1 file changed, 1 insertion(+), 19 deletions(-)
+
+diff --git a/src/modules/qt/configure b/src/modules/qt/configure
+index 24803baf..7475dc09 100755
+--- a/src/modules/qt/configure
++++ b/src/modules/qt/configure
+@@ -107,14 +107,6 @@ else
+ 		then
+ 			echo QTCXXFLAGS=-I$qt_includedir -I$qt_includedir/QtCore -I$qt_includedir/QtGui -I$qt_includedir/QtXml -I$qt_includedir/QtSvg -I$qt_includedir/QtWidgets >> config.mak
+ 			echo QTLIBS=-Wl,-rpath-link,"$qt_libdir" -L"$qt_libdir" -lQt5Core -lQt5Gui -lQt5Xml -lQt5Svg -lQt5Widgets >> config.mak
+-			if [ -f "$qt_libdir/libQt5OpenGL.so" ] || [ -f "$qt_libdir/libQt5OpenGL.a" ]
+-			then
+-				echo QTCXXFLAGS+=-I$qt_includedir/QtOpenGL >> config.mak
+-				echo QTLIBS+=-lQt5OpenGL >> config.mak
+-			else
+-				echo "- Qt5OpenGL not found: disabling"
+-				without_opengl=true
+-			fi
+ 		# Qt5 on OS X
+ 		elif [ -d "$qt_libdir/QtWidgets.framework" ]
+ 		then
+@@ -123,11 +115,10 @@ else
+ 				-I$qt_includedir/QtGui -I$qt_libdir/QtGui.framework/Headers \
+ 				-I$qt_includedir/QtXml -I$qt_libdir/QtXml.framework/Headers \
+ 				-I$qt_includedir/QtSvg -I$qt_libdir/QtSvg.framework/Headers \
+-				-I$qt_includedir/QtOpenGL -I$qt_libdir/QtOpenGL.framework/Headers \
+ 				-I$qt_includedir/QtWidgets -I$qt_libdir/QtWidgets.framework/Headers \
+ 				>> config.mak
+ 			echo QTLIBS=-F"$qt_libdir" -framework QtCore -framework QtGui -framework \
+-				QtXml -framework QtSvg -framework QtOpenGL -framework QtWidgets >> config.mak
++				QtXml -framework QtSvg -framework QtWidgets >> config.mak
+ 		# Qt4 on OS X
+ 		elif [ -d "$qt_libdir/QtGui.framework" ]
+ 		then
+@@ -151,15 +142,6 @@ else
+ 			without_kde=true
+ 			echo QTCXXFLAGS=$(pkg-config --cflags Qt5Core Qt5Gui Qt5Xml Qt5Svg Qt5Widgets) >> config.mak
+ 			echo QTLIBS=$(pkg-config --libs Qt5Core Qt5Gui Qt5Xml Qt5Svg Qt5Widgets) >> config.mak
+-			pkg-config --exists 'Qt5OpenGL'
+-			if [ $? -eq 0 ]
+-			then
+-				echo QTCXXFLAGS+=$(pkg-config --cflags Qt5OpenGL) >> config.mak
+-				echo QTLIBS+=$(pkg-config --libs Qt5OpenGL) >> config.mak
+-			else
+-				echo "- Qt5OpenGL not found: disabling"
+-				without_opengl=true
+-			fi
+ 		else
+ 			pkg-config --exists 'QtGui >= 4'
+ 			if [ $? -eq 0 ]

diff --git a/media-libs/mlt/mlt-6.4.1-r5.ebuild b/media-libs/mlt/mlt-6.4.1-r5.ebuild
new file mode 100644
index 00000000000..05105d0264d
--- /dev/null
+++ b/media-libs/mlt/mlt-6.4.1-r5.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+# this ebuild currently only supports installing ruby bindings for a single ruby version
+# so USE_RUBY must contain only a single value (the latest stable) as the ebuild calls
+# /usr/bin/${USE_RUBY} directly
+USE_RUBY="ruby22"
+inherit eutils flag-o-matic multilib python-single-r1 ruby-single toolchain-funcs
+
+DESCRIPTION="Open source multimedia framework for television broadcasting"
+HOMEPAGE="https://www.mltframework.org/"
+SRC_URI="https://github.com/mltframework/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="compressed-lumas cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 debug ffmpeg fftw frei0r
+gtk jack kdenlive libav libsamplerate lua melt opencv opengl python qt5 rtaudio ruby sdl vdpau xine xml"
+# java perl php tcl vidstab
+IUSE="${IUSE} kernel_linux"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+#rtaudio will use OSS on non linux OSes
+COMMON_DEPEND="
+	>=media-libs/libebur128-1.2.2
+	ffmpeg? (
+		libav? ( media-video/libav:0=[vdpau?] )
+		!libav? ( media-video/ffmpeg:0=[vdpau?] )
+	)
+	fftw? ( sci-libs/fftw:3.0= )
+	frei0r? ( media-plugins/frei0r-plugins )
+	gtk? (
+		media-libs/libexif
+		x11-libs/gtk+:2
+		x11-libs/pango
+	)
+	jack? (
+		>=dev-libs/libxml2-2.5
+		media-libs/ladspa-sdk
+		>=media-sound/jack-audio-connection-kit-0.121.3
+	)
+	libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
+	lua? ( >=dev-lang/lua-5.1.4-r4:= )
+	opencv? ( >=media-libs/opencv-3.2.0:= )
+	opengl? ( media-video/movit )
+	python? ( ${PYTHON_DEPS} )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtsvg:5
+		dev-qt/qtwidgets:5
+		dev-qt/qtxml:5
+		media-libs/libexif
+		x11-libs/libX11
+	)
+	rtaudio? (
+		media-libs/rtaudio
+		kernel_linux? ( media-libs/alsa-lib )
+	)
+	ruby? ( ${RUBY_DEPS} )
+	sdl? (
+		>=media-libs/libsdl-1.2.10[X,opengl,video]
+		>=media-libs/sdl-image-1.2.4
+	)
+	xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
+	xml? ( >=dev-libs/libxml2-2.5 )"
+#	java? ( >=virtual/jre-1.5 )
+#	perl? ( dev-lang/perl )
+#	php? ( dev-lang/php )
+#	sox? ( media-sound/sox )
+#	tcl? ( dev-lang/tcl:0= )
+#	vidstab? ( media-libs/libvidstab )
+SWIG_DEPEND=">=dev-lang/swig-2.0"
+DEPEND="${COMMON_DEPEND}
+	virtual/pkgconfig
+	compressed-lumas? ( virtual/imagemagick-tools[png] )
+	lua? ( ${SWIG_DEPEND} virtual/pkgconfig )
+	python? ( ${SWIG_DEPEND} )
+	ruby? ( ${SWIG_DEPEND} )"
+#	java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 )
+#	perl? ( ${SWIG_DEPEND} )
+#	php? ( ${SWIG_DEPEND} )
+#	tcl? ( ${SWIG_DEPEND} )
+RDEPEND="${COMMON_DEPEND}
+	!media-libs/mlt++
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-6.2.0-ruby-link.patch
+	"${FILESDIR}"/${P}-libebur128-unbundle.patch
+	"${FILESDIR}"/${P}-opencv-3.3.patch
+	"${FILESDIR}"/${P}-glibc226-{1,2}.patch
+	"${FILESDIR}"/${P}-qtopengl-{1,2}.patch
+)
+
+pkg_setup() {
+	use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	default
+
+	# respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
+	for x in python lua; do
+		sed -i "/mlt.so/s: -lmlt++ :& ${CFLAGS} ${LDFLAGS} :" src/swig/$x/build || die
+	done
+	sed -i "/^LDFLAGS/s: += :& ${LDFLAGS} :" src/swig/ruby/build || die
+
+	sed -i -e "s/env ruby/${USE_RUBY}/" src/swig/ruby/* || die
+}
+
+src_configure() {
+	tc-export CC CXX
+
+	# bug 589848
+	append-cxxflags -std=c++11
+
+	local myconf="--enable-gpl
+		--enable-gpl3
+		--enable-motion-est
+		--target-arch=$(tc-arch)
+		--disable-kde
+		--disable-swfdec
+		$(use_enable debug)
+		$(use compressed-lumas && echo ' --luma-compress')
+		$(use_enable cpu_flags_x86_sse sse)
+		$(use_enable cpu_flags_x86_sse2 sse2)
+		$(use_enable gtk gtk2)
+		$(use_enable sdl)
+		$(use_enable jack jackrack)
+		$(use_enable ffmpeg avformat)
+		$(use ffmpeg && echo ' --avformat-swscale')
+		$(use_enable fftw plus)
+		$(use_enable frei0r)
+		$(use_enable melt)
+		$(use_enable opencv)
+		$(use_enable opengl)
+		$(use_enable libsamplerate resample)
+		$(use_enable rtaudio)
+		$(use vdpau && echo ' --avformat-vdpau')
+		$(use_enable xml)
+		$(use_enable xine)
+		$(use_enable kdenlive)
+		--disable-sox"
+		#$(use_enable sox) FIXME
+
+	if use qt5 ; then
+		myconf+=" --enable-qt
+			--qt-includedir=$(pkg-config Qt5Core --variable=includedir)
+			--qt-libdir=$(pkg-config Qt5Core --variable=libdir)"
+	else
+		myconf+=" --disable-qt"
+	fi
+
+	if use x86 || use amd64 ; then
+		myconf+=" $(use_enable cpu_flags_x86_mmx mmx)"
+	else
+		myconf+=" --disable-mmx"
+	fi
+
+	if ! use melt; then
+		sed -i -e "s;src/melt;;" Makefile || die
+	fi
+
+	# TODO: add swig language bindings
+	# see also https://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
+
+	local swig_lang
+	# TODO: java perl php tcl
+	for i in lua python ruby ; do
+		use $i && swig_lang="${swig_lang} $i"
+	done
+	[ -z "${swig_lang}" ] && swig_lang="none"
+
+	econf ${myconf} --swig-languages="${swig_lang}"
+
+	sed -i -e s/^OPT/#OPT/ "${S}/config.mak" || die
+}
+
+src_install() {
+	emake DESTDIR="${D}" install
+	dodoc AUTHORS ChangeLog NEWS README docs/*.txt
+
+	dodir /usr/share/${PN}
+	insinto /usr/share/${PN}
+	doins -r demo
+
+	docinto swig
+
+	# Install SWIG bindings
+	if use lua; then
+		cd "${S}"/src/swig/lua || die
+		exeinto $(pkg-config --variable INSTALL_CMOD lua)
+		doexe mlt.so
+		dodoc play.lua
+	fi
+
+	if use python; then
+		cd "${S}"/src/swig/python || die
+		insinto $(python_get_sitedir)
+		doins mlt.py
+		exeinto $(python_get_sitedir)
+		doexe _mlt.so
+		dodoc play.py
+		python_optimize
+	fi
+
+	if use ruby; then
+		cd "${S}"/src/swig/ruby || die
+		exeinto $("${EPREFIX}"/usr/bin/${USE_RUBY} -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')
+		doexe mlt.so
+		dodoc play.rb thumbs.rb
+	fi
+	# TODO: java perl php tcl
+}


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2018-07-22 21:50 Andreas Sturmlechner
  0 siblings, 0 replies; 22+ messages in thread
From: Andreas Sturmlechner @ 2018-07-22 21:50 UTC (permalink / raw
  To: gentoo-commits

commit:     271efb8ca6181d5a68dd4744ff11d77ab96aa451
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 22 20:23:31 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jul 22 21:49:16 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=271efb8c

media-libs/mlt: Fix crash with kdenlivetitle

Package-Manager: Portage-2.3.43, Repoman-2.3.10

 .../mlt/files/mlt-6.6.0-kdenlivetitle-crash.patch  | 22 ++++++++++++++++++++++
 media-libs/mlt/mlt-6.6.0-r1.ebuild                 |  1 +
 2 files changed, 23 insertions(+)

diff --git a/media-libs/mlt/files/mlt-6.6.0-kdenlivetitle-crash.patch b/media-libs/mlt/files/mlt-6.6.0-kdenlivetitle-crash.patch
new file mode 100644
index 00000000000..b65a63d8766
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.6.0-kdenlivetitle-crash.patch
@@ -0,0 +1,22 @@
+From 95f7f7bc104ec35ed3c909e52d928313fd35a48c Mon Sep 17 00:00:00 2001
+From: Jean-Baptiste Mardelle <jb@kdenlive.org>
+Date: Mon, 19 Mar 2018 09:20:49 +0100
+Subject: [PATCH] Fix crash with kdenlivetile caused by wrong malloc size
+
+---
+ src/modules/qt/producer_kdenlivetitle.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/modules/qt/producer_kdenlivetitle.c b/src/modules/qt/producer_kdenlivetitle.c
+index 67508aa33..4dc5d9c6b 100644
+--- a/src/modules/qt/producer_kdenlivetitle.c
++++ b/src/modules/qt/producer_kdenlivetitle.c
+@@ -41,7 +41,7 @@ void read_xml(mlt_properties properties)
+ 			goto error;
+ 		rewind (f);
+ 
+-		char *infile = (char*) mlt_pool_alloc(lSize);
++		char *infile = (char*) mlt_pool_alloc(lSize + 1);
+ 		if ( infile )
+ 		{
+ 			size = fread(infile,1,lSize,f);

diff --git a/media-libs/mlt/mlt-6.6.0-r1.ebuild b/media-libs/mlt/mlt-6.6.0-r1.ebuild
index c5eed698d08..b1d9cfe31b2 100644
--- a/media-libs/mlt/mlt-6.6.0-r1.ebuild
+++ b/media-libs/mlt/mlt-6.6.0-r1.ebuild
@@ -100,6 +100,7 @@ PATCHES=(
 	"${FILESDIR}"/${P}-libav-{1,2,3}.patch
 	"${FILESDIR}"/${P}-png-segfault.patch
 	"${FILESDIR}"/${P}-gif-encoding.patch
+	"${FILESDIR}"/${P}-kdenlivetitle-crash.patch
 )
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2018-07-22 21:50 Andreas Sturmlechner
  0 siblings, 0 replies; 22+ messages in thread
From: Andreas Sturmlechner @ 2018-07-22 21:50 UTC (permalink / raw
  To: gentoo-commits

commit:     8bfd2dd303ef226be7ccd0081832afb92b4a41eb
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 22 19:48:33 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jul 22 21:49:15 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8bfd2dd3

media-libs/mlt: Fix libav build errors

Package-Manager: Portage-2.3.43, Repoman-2.3.10

 media-libs/mlt/files/mlt-6.6.0-libav-1.patch | 39 ++++++++++++++++++++++++++++
 media-libs/mlt/files/mlt-6.6.0-libav-2.patch | 31 ++++++++++++++++++++++
 media-libs/mlt/files/mlt-6.6.0-libav-3.patch | 23 ++++++++++++++++
 media-libs/mlt/mlt-6.6.0-r1.ebuild           |  5 +++-
 4 files changed, 97 insertions(+), 1 deletion(-)

diff --git a/media-libs/mlt/files/mlt-6.6.0-libav-1.patch b/media-libs/mlt/files/mlt-6.6.0-libav-1.patch
new file mode 100644
index 00000000000..6dc5a73c7fe
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.6.0-libav-1.patch
@@ -0,0 +1,39 @@
+From bd59735b4f97ae9dff864debdecc2318b0cb8f94 Mon Sep 17 00:00:00 2001
+From: Dan Dennedy <dan@dennedy.org>
+Date: Mon, 12 Feb 2018 12:21:19 -0800
+Subject: [PATCH] Fix compile error with libav.
+
+---
+ src/modules/avformat/producer_avformat.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/modules/avformat/producer_avformat.c b/src/modules/avformat/producer_avformat.c
+index 214c8b325..7de997cc2 100644
+--- a/src/modules/avformat/producer_avformat.c
++++ b/src/modules/avformat/producer_avformat.c
+@@ -1,6 +1,6 @@
+ /*
+  * producer_avformat.c -- avformat producer
+- * Copyright (C) 2003-2017 Meltytech, LLC
++ * Copyright (C) 2003-2018 Meltytech, LLC
+  *
+  * This library is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public
+@@ -1266,7 +1266,7 @@ static int pick_av_pixel_format( int *pix_fmt )
+ 	return 0;
+ }
+ 
+-#if LIBSWSCALE_VERSION_INT >= AV_VERSION_INT( 3, 1, 101 )
++#if defined(FFUDIV) && LIBSWSCALE_VERSION_INT >= AV_VERSION_INT( 3, 1, 101 )
+ struct sliced_pix_fmt_conv_t
+ {
+ 	int width, height, slice_w;
+@@ -1461,7 +1461,7 @@ static int convert_image( producer_avformat self, AVFrame *frame, uint8_t *buffe
+ 		sws_freeContext( context );
+ 	}
+ 	else
+-#if LIBSWSCALE_VERSION_INT >= AV_VERSION_INT( 3, 1, 101 )
++#if defined(FFUDIV) && LIBSWSCALE_VERSION_INT >= AV_VERSION_INT( 3, 1, 101 )
+ 	{
+ 		int i, c;
+ 		struct sliced_pix_fmt_conv_t ctx =

diff --git a/media-libs/mlt/files/mlt-6.6.0-libav-2.patch b/media-libs/mlt/files/mlt-6.6.0-libav-2.patch
new file mode 100644
index 00000000000..d29cabec704
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.6.0-libav-2.patch
@@ -0,0 +1,31 @@
+From 56e3affe1ff425d979ea9f2a5e086d769852c3fc Mon Sep 17 00:00:00 2001
+From: Dan Dennedy <dan@dennedy.org>
+Date: Fri, 16 Feb 2018 09:55:29 -0800
+Subject: [PATCH] Fix compile error with libav.
+
+---
+ src/modules/avformat/producer_avformat.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/modules/avformat/producer_avformat.c b/src/modules/avformat/producer_avformat.c
+index 7de997cc2..2fafd00e8 100644
+--- a/src/modules/avformat/producer_avformat.c
++++ b/src/modules/avformat/producer_avformat.c
+@@ -1266,7 +1266,7 @@ static int pick_av_pixel_format( int *pix_fmt )
+ 	return 0;
+ }
+ 
+-#if defined(FFUDIV) && LIBSWSCALE_VERSION_INT >= AV_VERSION_INT( 3, 1, 101 )
++#if defined(FFUDIV) && (LIBSWSCALE_VERSION_INT >= ((3<<16)+(1<<8)+101))
+ struct sliced_pix_fmt_conv_t
+ {
+ 	int width, height, slice_w;
+@@ -1461,7 +1461,7 @@ static int convert_image( producer_avformat self, AVFrame *frame, uint8_t *buffe
+ 		sws_freeContext( context );
+ 	}
+ 	else
+-#if defined(FFUDIV) && LIBSWSCALE_VERSION_INT >= AV_VERSION_INT( 3, 1, 101 )
++#if defined(FFUDIV) && (LIBSWSCALE_VERSION_INT >= ((3<<16)+(1<<8)+101))
+ 	{
+ 		int i, c;
+ 		struct sliced_pix_fmt_conv_t ctx =

diff --git a/media-libs/mlt/files/mlt-6.6.0-libav-3.patch b/media-libs/mlt/files/mlt-6.6.0-libav-3.patch
new file mode 100644
index 00000000000..fdbd5ef271f
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.6.0-libav-3.patch
@@ -0,0 +1,23 @@
+From 53181a4e4629e2cd22c6f5d16a459aa843f4bd65 Mon Sep 17 00:00:00 2001
+From: Dan Dennedy <dan@dennedy.org>
+Date: Fri, 23 Feb 2018 10:04:47 -0800
+Subject: [PATCH] Fix compile error with libav.
+
+---
+ src/modules/avformat/consumer_avformat.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/modules/avformat/consumer_avformat.c b/src/modules/avformat/consumer_avformat.c
+index 6deb76df5..ba5c900c7 100644
+--- a/src/modules/avformat/consumer_avformat.c
++++ b/src/modules/avformat/consumer_avformat.c
+@@ -1647,7 +1647,9 @@ static void *consumer_thread( void *arg )
+ 			enc_ctx->audio_avframe->format = c->sample_fmt;
+ 			enc_ctx->audio_avframe->nb_samples = enc_ctx->audio_input_frame_size;
+ 			enc_ctx->audio_avframe->channel_layout = c->channel_layout;
++#if LIBAVCODEC_VERSION_INT >= ((57<<16)+(96<<8)) && LIBAVCODEC_VERSION_MICRO >= 100
+ 			enc_ctx->audio_avframe->channels = c->channels;
++#endif
+ 		} else {
+ 			mlt_log_error( MLT_CONSUMER_SERVICE(consumer), "failed to allocate audio AVFrame\n" );
+ 			mlt_events_fire( properties, "consumer-fatal-error", NULL );

diff --git a/media-libs/mlt/mlt-6.6.0-r1.ebuild b/media-libs/mlt/mlt-6.6.0-r1.ebuild
index 6fcd43e0423..3e57dbb3e1e 100644
--- a/media-libs/mlt/mlt-6.6.0-r1.ebuild
+++ b/media-libs/mlt/mlt-6.6.0-r1.ebuild
@@ -95,7 +95,10 @@ RDEPEND="${COMMON_DEPEND}
 
 DOCS=( AUTHORS ChangeLog NEWS README docs/{framework,melt,mlt{++,-xml}}.txt )
 
-PATCHES=( "${FILESDIR}"/${P}-vorbis-ffmpeg-3.4.patch )
+PATCHES=(
+	"${FILESDIR}"/${P}-vorbis-ffmpeg-3.4.patch
+	"${FILESDIR}"/${P}-libav-{1,2,3}.patch
+)
 
 pkg_setup() {
 	use python && python-single-r1_pkg_setup


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2018-07-22 21:50 Andreas Sturmlechner
  0 siblings, 0 replies; 22+ messages in thread
From: Andreas Sturmlechner @ 2018-07-22 21:50 UTC (permalink / raw
  To: gentoo-commits

commit:     9d08e036fc964ca46457d1784c244fb6b34b6284
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 22 20:11:37 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jul 22 21:49:15 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d08e036

media-libs/mlt: Fix png 8-bit segfault

Package-Manager: Portage-2.3.43, Repoman-2.3.10

 media-libs/mlt/files/mlt-6.6.0-png-segfault.patch | 36 +++++++++++++++++++++++
 media-libs/mlt/mlt-6.6.0-r1.ebuild                |  1 +
 2 files changed, 37 insertions(+)

diff --git a/media-libs/mlt/files/mlt-6.6.0-png-segfault.patch b/media-libs/mlt/files/mlt-6.6.0-png-segfault.patch
new file mode 100644
index 00000000000..c93458a8273
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.6.0-png-segfault.patch
@@ -0,0 +1,36 @@
+From e013fd7c2f49b40a1b482d712d531329d538da88 Mon Sep 17 00:00:00 2001
+From: Brian Matherly <code@brianmatherly.com>
+Date: Wed, 31 Jan 2018 20:57:42 -0600
+Subject: [PATCH] Fix segmentation fault when using qimage png producer #296
+
+---
+ src/modules/qt/qimage_wrapper.cpp | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/src/modules/qt/qimage_wrapper.cpp b/src/modules/qt/qimage_wrapper.cpp
+index 436f65d15..99b4ebf8e 100644
+--- a/src/modules/qt/qimage_wrapper.cpp
++++ b/src/modules/qt/qimage_wrapper.cpp
+@@ -229,18 +229,19 @@ void refresh_image( producer_qimage self, mlt_frame frame, mlt_image_format form
+ 		QString interps = mlt_properties_get( properties, "rescale.interp" );
+ 		bool interp = ( interps != "nearest" ) && ( interps != "none" );
+ 		QImage *qimage = static_cast<QImage*>( self->qimage );
++		int has_alpha = qimage->hasAlphaChannel();
++		QImage::Format qimageFormat = has_alpha ? QImage::Format_ARGB32 : QImage::Format_RGB32;
+ 
+ 		// Note - the original qimage is already safe and ready for destruction
+-		if ( qimage->depth() == 1 )
++		if ( qimage->format() != qimageFormat )
+ 		{
+-			QImage temp = qimage->convertToFormat( QImage::Format_RGB32 );
++			QImage temp = qimage->convertToFormat( qimageFormat );
+ 			delete qimage;
+ 			qimage = new QImage( temp );
+ 			self->qimage = qimage;
+ 		}
+ 		QImage scaled = interp? qimage->scaled( QSize( width, height ) ) :
+ 			qimage->scaled( QSize(width, height), Qt::IgnoreAspectRatio, Qt::SmoothTransformation );
+-		int has_alpha = scaled.hasAlphaChannel();
+ 
+ 		// Store width and height
+ 		self->current_width = width;

diff --git a/media-libs/mlt/mlt-6.6.0-r1.ebuild b/media-libs/mlt/mlt-6.6.0-r1.ebuild
index 3e57dbb3e1e..b0b811b945d 100644
--- a/media-libs/mlt/mlt-6.6.0-r1.ebuild
+++ b/media-libs/mlt/mlt-6.6.0-r1.ebuild
@@ -98,6 +98,7 @@ DOCS=( AUTHORS ChangeLog NEWS README docs/{framework,melt,mlt{++,-xml}}.txt )
 PATCHES=(
 	"${FILESDIR}"/${P}-vorbis-ffmpeg-3.4.patch
 	"${FILESDIR}"/${P}-libav-{1,2,3}.patch
+	"${FILESDIR}"/${P}-png-segfault.patch
 )
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2018-08-09 22:20 Andreas Sturmlechner
  0 siblings, 0 replies; 22+ messages in thread
From: Andreas Sturmlechner @ 2018-08-09 22:20 UTC (permalink / raw
  To: gentoo-commits

commit:     27f16b16970c8fd338fda948ed5c13e6bcdc6f0b
Author:     Jouni Kosonen <jouni.kosonen <AT> tukesoft <DOT> com>
AuthorDate: Sat Jul 28 19:02:56 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Aug  9 22:19:35 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27f16b16

media-libs/mlt: version bump 6.10.0

Bug: https://bugs.gentoo.org/661842
Bug: https://bugs.gentoo.org/650258
Closes: https://github.com/gentoo/gentoo/pull/9371

 media-libs/mlt/Manifest                            |   1 +
 .../mlt/files/mlt-6.10.0-swig-underlinking.patch   |  12 ++
 media-libs/mlt/mlt-6.10.0.ebuild                   | 220 +++++++++++++++++++++
 3 files changed, 233 insertions(+)

diff --git a/media-libs/mlt/Manifest b/media-libs/mlt/Manifest
index 58d6d4bec16..acea3b43f21 100644
--- a/media-libs/mlt/Manifest
+++ b/media-libs/mlt/Manifest
@@ -1,2 +1,3 @@
 DIST mlt-6.4.1.tar.gz 1344030 BLAKE2B 835561eac31a44d292c5915567338eb43110b3474778327af282403b43e3e89eaec407e5920f81a774c03968b4c08a496b0ef6c3e6d0970c17353613e7f4d051 SHA512 b082274e2184a0496f496517ddbcae33bab44cd1f50c1708942b7a24e5861ba97cae9fa21ec41ea21d662cbf56e2e2e66caa707a100077ef6e13aa7140f7a9fb
 DIST mlt-6.6.0.tar.gz 1365768 BLAKE2B e2e6919d603560dac3d809740a3be2989a3b52a4e933fa67927c5c26796a5c9b35da1aedb54caa4c87133dc682d5f41455900594ebdfd6ec1516ff02d477d58f SHA512 06e553d2deb36deddd9e0f2269ee0529bf768e73d2160ee16a4cd36ed3fba5be145165f0b21278623afece046351264269509ff05f24fbbb2f163be1f4d48845
+DIST mlt-6.10.0.tar.gz 1384632 BLAKE2B 4bbcf95409df1ea1828d2b34e6d6663cf83f5672641034f775d029037505051c5490c46c69e104811aaf776794be2df95913d094319f4a2dbba0c42117abe15e SHA512 6f374f20f1dc851792c1075537cf7e977038fb557b2bd5d5816c1fc69d471947c8469c914cf662766f3b503ae819881bf2b4e1673e0f7a84309e0fb671a9de1b

diff --git a/media-libs/mlt/files/mlt-6.10.0-swig-underlinking.patch b/media-libs/mlt/files/mlt-6.10.0-swig-underlinking.patch
new file mode 100644
index 00000000000..e84e98c1576
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.10.0-swig-underlinking.patch
@@ -0,0 +1,12 @@
+diff --git a/src/swig/ruby/build b/src/swig/ruby/build
+index 2d0cc0d..1a8aee7 100755
+--- a/src/swig/ruby/build
++++ b/src/swig/ruby/build
+@@ -8,6 +8,6 @@ system( "ln -sf ../mlt.i" )
+ system( "swig -c++ -ruby -I../../mlt++ -I../.. mlt.i" )
+ $CFLAGS = $CFLAGS.to_s + " -I../.. " + (ENV.has_key?('CXXFLAGS')? ENV['CXXFLAGS'] : '')
+ $CXXFLAGS = $CXXFLAGS.to_s + " -I../.. " + (ENV.has_key?('CXXFLAGS')? ENV['CXXFLAGS'] : '')
+-$LDFLAGS = $LDFLAGS.to_s + " -L../../mlt++ -lmlt++"
++$LDFLAGS = $LDFLAGS.to_s + " -L../../mlt++ -lmlt++ -L../../framework -lmlt"
+ create_makefile('mlt')
+ system( "make V=1" )

diff --git a/media-libs/mlt/mlt-6.10.0.ebuild b/media-libs/mlt/mlt-6.10.0.ebuild
new file mode 100644
index 00000000000..0e420e80014
--- /dev/null
+++ b/media-libs/mlt/mlt-6.10.0.ebuild
@@ -0,0 +1,220 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+# this ebuild currently only supports installing ruby bindings for a single ruby version
+# so USE_RUBY must contain only a single value (the latest stable) as the ebuild calls
+# /usr/bin/${USE_RUBY} directly
+USE_RUBY="ruby23"
+inherit flag-o-matic python-single-r1 ruby-single toolchain-funcs
+
+DESCRIPTION="Open source multimedia framework for television broadcasting"
+HOMEPAGE="https://www.mltframework.org/"
+SRC_URI="https://github.com/mltframework/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="compressed-lumas cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 debug ffmpeg fftw frei0r
+gtk jack kdenlive libav libsamplerate lua melt opencv opengl python qt5 rtaudio ruby sdl vdpau xine xml"
+# java perl php tcl vidstab
+IUSE="${IUSE} kernel_linux"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+#rtaudio will use OSS on non linux OSes
+COMMON_DEPEND="
+	>=media-libs/libebur128-1.2.2
+	ffmpeg? (
+		libav? ( >=media-video/libav-12:0=[vdpau?] )
+		!libav? ( media-video/ffmpeg:0=[vdpau?] )
+	)
+	fftw? ( sci-libs/fftw:3.0= )
+	frei0r? ( media-plugins/frei0r-plugins )
+	gtk? (
+		media-libs/libexif
+		x11-libs/gtk+:2
+		x11-libs/pango
+	)
+	jack? (
+		>=dev-libs/libxml2-2.5
+		media-libs/ladspa-sdk
+		virtual/jack
+	)
+	libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
+	lua? ( >=dev-lang/lua-5.1.4-r4:= )
+	opencv? ( >=media-libs/opencv-3.2.0:= )
+	opengl? ( media-video/movit )
+	python? ( ${PYTHON_DEPS} )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtsvg:5
+		dev-qt/qtwidgets:5
+		dev-qt/qtxml:5
+		media-libs/libexif
+		x11-libs/libX11
+	)
+	rtaudio? (
+		>=media-libs/rtaudio-4.1.2
+		kernel_linux? ( media-libs/alsa-lib )
+	)
+	ruby? ( ${RUBY_DEPS} )
+	sdl? (
+		media-libs/libsdl2[X,opengl,video]
+		media-libs/sdl2-image
+	)
+	xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
+	xml? ( >=dev-libs/libxml2-2.5 )"
+#	java? ( >=virtual/jre-1.5 )
+#	perl? ( dev-lang/perl )
+#	php? ( dev-lang/php )
+#	sox? ( media-sound/sox )
+#	tcl? ( dev-lang/tcl:0= )
+#	vidstab? ( media-libs/libvidstab )
+SWIG_DEPEND=">=dev-lang/swig-2.0"
+DEPEND="${COMMON_DEPEND}
+	virtual/pkgconfig
+	compressed-lumas? ( virtual/imagemagick-tools[png] )
+	lua? ( ${SWIG_DEPEND} virtual/pkgconfig )
+	python? ( ${SWIG_DEPEND} )
+	ruby? ( ${SWIG_DEPEND} )"
+#	java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 )
+#	perl? ( ${SWIG_DEPEND} )
+#	php? ( ${SWIG_DEPEND} )
+#	tcl? ( ${SWIG_DEPEND} )
+RDEPEND="${COMMON_DEPEND}
+	!media-libs/mlt++
+"
+
+DOCS=( AUTHORS ChangeLog NEWS README docs/{framework,melt,mlt{++,-xml}}.txt )
+
+PATCHES=( "${FILESDIR}"/${P}-swig-underlinking.patch )
+
+pkg_setup() {
+	use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	default
+
+	# respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
+	for x in python lua; do
+		sed -i "/mlt.so/s: -lmlt++ :& ${CFLAGS} ${LDFLAGS} :" src/swig/$x/build || die
+	done
+	sed -i "/^LDFLAGS/s: += :& ${LDFLAGS} :" src/swig/ruby/build || die
+
+	sed -i -e "s/env ruby/${USE_RUBY}/" src/swig/ruby/* || die
+}
+
+src_configure() {
+	tc-export CC CXX
+
+	# bug 589848
+	append-cxxflags -std=c++11
+
+	local myconf=(
+		--enable-gpl
+		--enable-gpl3
+		--enable-motion-est
+		--target-arch=$(tc-arch)
+		--disable-kde
+		--disable-sdl
+		--disable-swfdec
+		$(use_enable debug)
+		$(use compressed-lumas && echo ' --luma-compress')
+		$(use_enable cpu_flags_x86_sse sse)
+		$(use_enable cpu_flags_x86_sse2 sse2)
+		$(use_enable gtk gtk2)
+		$(use_enable jack jackrack)
+		$(use_enable ffmpeg avformat)
+		$(use ffmpeg && echo ' --avformat-swscale')
+		$(use_enable fftw plus)
+		$(use_enable frei0r)
+		$(use_enable melt)
+		$(use_enable opencv)
+		$(use_enable opengl)
+		$(use_enable libsamplerate resample)
+		$(use_enable rtaudio)
+		$(use vdpau && echo ' --avformat-vdpau')
+		$(use_enable sdl sdl2)
+		$(use_enable xml)
+		$(use_enable xine)
+		$(use_enable kdenlive)
+		--disable-sox
+	)
+		#$(use_enable sox) FIXME
+
+	if use qt5 ; then
+		myconf+=(
+			--enable-qt
+			--qt-includedir=$(pkg-config Qt5Core --variable=includedir)
+			--qt-libdir=$(pkg-config Qt5Core --variable=libdir)
+		)
+	else
+		myconf+=( --disable-qt )
+	fi
+
+	if use x86 || use amd64 ; then
+		myconf+=( $(use_enable cpu_flags_x86_mmx mmx) )
+	else
+		myconf+=( --disable-mmx )
+	fi
+
+	if ! use melt; then
+		sed -i -e "s;src/melt;;" Makefile || die
+	fi
+
+	# TODO: add swig language bindings
+	# see also https://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
+
+	local swig_lang
+	# TODO: java perl php tcl
+	for i in lua python ruby ; do
+		use $i && swig_lang="${swig_lang} $i"
+	done
+	[[ -z "${swig_lang}" ]] && swig_lang="none"
+
+	econf ${myconf[@]} --swig-languages="${swig_lang}"
+
+	sed -i -e s/^OPT/#OPT/ "${S}/config.mak" || die
+}
+
+src_install() {
+	emake DESTDIR="${D}" install
+	einstalldocs
+
+	dodir /usr/share/${PN}
+	insinto /usr/share/${PN}
+	doins -r demo
+
+	docinto swig
+
+	# Install SWIG bindings
+	if use lua; then
+		cd "${S}"/src/swig/lua || die
+		exeinto $(pkg-config --variable INSTALL_CMOD lua)
+		doexe mlt.so
+		dodoc play.lua
+	fi
+
+	if use python; then
+		cd "${S}"/src/swig/python || die
+		insinto $(python_get_sitedir)
+		doins mlt.py
+		exeinto $(python_get_sitedir)
+		doexe _mlt.so
+		dodoc play.py
+		python_optimize
+	fi
+
+	if use ruby; then
+		cd "${S}"/src/swig/ruby || die
+		exeinto $("${EPREFIX}"/usr/bin/${USE_RUBY} -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')
+		doexe mlt.so
+		dodoc play.rb thumbs.rb
+	fi
+	# TODO: java perl php tcl
+}


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2018-12-12 11:56 Andreas Sturmlechner
  0 siblings, 0 replies; 22+ messages in thread
From: Andreas Sturmlechner @ 2018-12-12 11:56 UTC (permalink / raw
  To: gentoo-commits

commit:     10c29d339cd28361f4c79daa80b3e8c2d094f62d
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 12 11:39:10 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Dec 12 11:55:47 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10c29d33

media-libs/mlt: 6.12.0 version bump, switch to ruby25

Bug: https://bugs.gentoo.org/672984
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-libs/mlt/Manifest                            |   1 +
 .../mlt/files/mlt-6.12.0-frei0r-w-tractor.patch    |  37 ++++
 .../mlt/files/mlt-6.12.0-rgb-to-yuv-accuracy.patch | 169 ++++++++++++++++
 .../mlt/files/mlt-6.12.0-seconds-digits.patch      |  22 +++
 media-libs/mlt/mlt-6.12.0.ebuild                   | 219 +++++++++++++++++++++
 5 files changed, 448 insertions(+)

diff --git a/media-libs/mlt/Manifest b/media-libs/mlt/Manifest
index b884ece8480..22521d2f15e 100644
--- a/media-libs/mlt/Manifest
+++ b/media-libs/mlt/Manifest
@@ -1 +1,2 @@
 DIST mlt-6.10.0.tar.gz 1384632 BLAKE2B 4bbcf95409df1ea1828d2b34e6d6663cf83f5672641034f775d029037505051c5490c46c69e104811aaf776794be2df95913d094319f4a2dbba0c42117abe15e SHA512 6f374f20f1dc851792c1075537cf7e977038fb557b2bd5d5816c1fc69d471947c8469c914cf662766f3b503ae819881bf2b4e1673e0f7a84309e0fb671a9de1b
+DIST mlt-6.12.0.tar.gz 1395646 BLAKE2B 18dc06c4075d8d51bc7f62d027adda92c359275b9ad2131cc015b4402b1b7a9438fe87b617075017b9fd5e9696b82c4c840fa6dd83188bd0cedb7f01d2158283 SHA512 ed2cc0eeda45558ae6f1ec8780dfd413641953dc12dc32dccf655649f68f8e6088d39fefb7bef7bae042a41096976004446019d82ea162785bc487009cb97680

diff --git a/media-libs/mlt/files/mlt-6.12.0-frei0r-w-tractor.patch b/media-libs/mlt/files/mlt-6.12.0-frei0r-w-tractor.patch
new file mode 100644
index 00000000000..e655f805f53
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.12.0-frei0r-w-tractor.patch
@@ -0,0 +1,37 @@
+From 30621f28fd3a21a4162de17a12d943e811566b5e Mon Sep 17 00:00:00 2001
+From: Dan Dennedy <dan@dennedy.org>
+Date: Wed, 5 Dec 2018 11:14:54 -0800
+Subject: [PATCH] Fix frei0r producer not working with tractor.
+
+Reported in https://forum.shotcut.org/t/color-bars-working-not-
+correctly/8308
+---
+ src/modules/frei0r/producer_frei0r.c | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/src/modules/frei0r/producer_frei0r.c b/src/modules/frei0r/producer_frei0r.c
+index 9a90f6b6b..d1547f6c5 100644
+--- a/src/modules/frei0r/producer_frei0r.c
++++ b/src/modules/frei0r/producer_frei0r.c
+@@ -26,12 +26,7 @@
+ 
+ static int producer_get_image( mlt_frame frame, uint8_t **buffer, mlt_image_format *format, int *width, int *height, int writable )
+ {
+-	
+-	// Obtain properties of frame
+-	mlt_properties properties = MLT_FRAME_PROPERTIES( frame );
+-
+-	// Obtain the producer for this frame
+-	mlt_producer producer = mlt_properties_get_data( properties, "producer_frei0r", NULL );
++    mlt_producer producer = mlt_frame_pop_service( frame );
+ 
+ 	// Choose suitable out values if nothing specific requested
+ 	if ( *width <= 0 )
+@@ -83,6 +78,7 @@ int producer_get_frame( mlt_producer producer, mlt_frame_ptr frame, int index )
+ 		mlt_properties_set_double( properties, "aspect_ratio", mlt_profile_sar( profile ) );
+ 
+ 		// Push the get_image method
++        mlt_frame_push_service( *frame, producer );
+ 		mlt_frame_push_get_image( *frame, producer_get_image );
+ 	}
+ 
\ No newline at end of file

diff --git a/media-libs/mlt/files/mlt-6.12.0-rgb-to-yuv-accuracy.patch b/media-libs/mlt/files/mlt-6.12.0-rgb-to-yuv-accuracy.patch
new file mode 100644
index 00000000000..d0930c5ac63
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.12.0-rgb-to-yuv-accuracy.patch
@@ -0,0 +1,169 @@
+From adc5a2284b3a1073cb364c5f07d1d7c97e94c937 Mon Sep 17 00:00:00 2001
+From: Dan Dennedy <dan@dennedy.org>
+Date: Fri, 30 Nov 2018 15:26:15 -0800
+Subject: [PATCH] Fix color accuracy of RGB->YUV conversion.
+
+Fixes https://github.com/mltframework/shotcut/issues/674
+---
+ src/modules/avformat/common.c                |  2 ++
+ src/modules/avformat/common.h                |  1 +
+ src/modules/avformat/consumer_avformat.c     |  7 +------
+ src/modules/avformat/filter_avcolour_space.c |  7 +------
+ src/modules/avformat/filter_swscale.c        | 12 ++++--------
+ src/modules/avformat/producer_avformat.c     | 12 ++++++------
+ 6 files changed, 15 insertions(+), 26 deletions(-)
+
+diff --git a/src/modules/avformat/common.c b/src/modules/avformat/common.c
+index 2b1f1fd5d..dca9dbaee 100644
+--- a/src/modules/avformat/common.c
++++ b/src/modules/avformat/common.c
+@@ -22,6 +22,8 @@
+ #include <libavutil/channel_layout.h>
+ #include <libavutil/samplefmt.h>
+ 
++int mlt_default_sws_flags = SWS_BICUBIC | SWS_FULL_CHR_H_INP | SWS_FULL_CHR_H_INT | SWS_ACCURATE_RND;
++
+ int mlt_to_av_sample_format( mlt_audio_format format )
+ {
+ 	switch( format )
+diff --git a/src/modules/avformat/common.h b/src/modules/avformat/common.h
+index 54df63e93..ce0f0f079 100644
+--- a/src/modules/avformat/common.h
++++ b/src/modules/avformat/common.h
+@@ -29,5 +29,6 @@ mlt_channel_layout av_channel_layout_to_mlt( int64_t layout );
+ mlt_channel_layout get_channel_layout_or_default( const char* name, int channels );
+ int set_luma_transfer( struct SwsContext *context, int src_colorspace,
+ 	int dst_colorspace, int src_full_range, int dst_full_range );
++extern int mlt_default_sws_flags;
+ 
+ #endif // COMMON_H
+diff --git a/src/modules/avformat/consumer_avformat.c b/src/modules/avformat/consumer_avformat.c
+index eab96271f..1e445ef76 100644
+--- a/src/modules/avformat/consumer_avformat.c
++++ b/src/modules/avformat/consumer_avformat.c
+@@ -1956,12 +1956,7 @@ static void *consumer_thread( void *arg )
+ 						mlt_image_format_planes( img_fmt, width, height, image, video_avframe.data, video_avframe.linesize );
+ 
+ 						// Do the colour space conversion
+-						int flags = SWS_BICUBIC | SWS_ACCURATE_RND;
+-						if ( pix_fmt == AV_PIX_FMT_YUYV422 || pix_fmt == AV_PIX_FMT_YUV422P16LE )
+-							flags |= SWS_FULL_CHR_H_INP;
+-						else
+-							flags |= SWS_FULL_CHR_H_INT;
+-
++						int flags = mlt_default_sws_flags;
+ 						struct SwsContext *context = sws_getContext( width, height, pick_pix_fmt( img_fmt ),
+ 							width, height, pix_fmt, flags, NULL, NULL, NULL);
+ 						int src_colorspace = mlt_properties_get_int( frame_properties, "colorspace" );
+diff --git a/src/modules/avformat/filter_avcolour_space.c b/src/modules/avformat/filter_avcolour_space.c
+index f25cf092b..89ee6b522 100644
+--- a/src/modules/avformat/filter_avcolour_space.c
++++ b/src/modules/avformat/filter_avcolour_space.c
+@@ -84,14 +84,9 @@ static int av_convert_image( uint8_t *out, uint8_t *in, int out_fmt, int in_fmt,
+ 	int in_stride[4];
+ 	uint8_t *out_data[4];
+ 	int out_stride[4];
+-	int flags = SWS_BICUBIC | SWS_ACCURATE_RND;
++	int flags = mlt_default_sws_flags;
+ 	int error = -1;
+ 
+-	if ( out_fmt == AV_PIX_FMT_YUYV422 || out_fmt == AV_PIX_FMT_YUV422P16LE )
+-		flags |= SWS_FULL_CHR_H_INP;
+-	else
+-		flags |= SWS_FULL_CHR_H_INT;
+-
+ 	if ( in_fmt == AV_PIX_FMT_YUV422P16LE )
+ 		mlt_image_format_planes(mlt_image_yuv422p16, width, height, in, in_data, in_stride);
+ 	else
+diff --git a/src/modules/avformat/filter_swscale.c b/src/modules/avformat/filter_swscale.c
+index 475036a6f..52c165f9f 100644
+--- a/src/modules/avformat/filter_swscale.c
++++ b/src/modules/avformat/filter_swscale.c
+@@ -1,6 +1,6 @@
+ /*
+  * filter_swscale.c -- image scaling filter
+- * Copyright (C) 2008-2017 Meltytech, LLC
++ * Copyright (C) 2008-2018 Meltytech, LLC
+  *
+  * This library is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public
+@@ -88,23 +88,19 @@ static int filter_scale( mlt_frame frame, uint8_t **image, mlt_image_format *for
+ 		interp = SWS_LANCZOS;
+ 	else if ( strcmp( interps, "spline" ) == 0 )
+ 		interp = SWS_SPLINE;
+-	interp |= SWS_ACCURATE_RND;
++
++	// Set swscale flags to get good quality
++	interp |= SWS_FULL_CHR_H_INP | SWS_FULL_CHR_H_INT | SWS_ACCURATE_RND;
+ 
+ 	// Determine the output image size.
+ 	int out_size = mlt_image_format_size( *format, owidth, oheight, NULL );
+ 
+-	// Set swscale flags to get good quality
+ 	switch ( *format )
+ 	{
+ 		case mlt_image_yuv422:
+-			interp |= SWS_FULL_CHR_H_INP;
+-			break;
+ 		case mlt_image_rgb24:
+-			interp |= SWS_FULL_CHR_H_INT;
+-			break;
+ 		case mlt_image_rgb24a:
+ 		case mlt_image_opengl:
+-			interp |= SWS_FULL_CHR_H_INT;
+ 			break;
+ 		default:
+ 			// XXX: we only know how to rescale packed formats
+diff --git a/src/modules/avformat/producer_avformat.c b/src/modules/avformat/producer_avformat.c
+index 9b96b4e5c..d24ca41e7 100644
+--- a/src/modules/avformat/producer_avformat.c
++++ b/src/modules/avformat/producer_avformat.c
+@@ -1281,7 +1281,7 @@ static int sliced_h_pix_fmt_conv_proc( int id, int idx, int jobs, void* cookie )
+ 	av_opt_set_int( sws, "dstw", slice_w, 0 );
+ 	av_opt_set_int( sws, "dsth", h, 0 );
+ 	av_opt_set_int( sws, "dst_format", ctx->dst_format, 0 );
+-	av_opt_set_int( sws, "sws_flags", ctx->flags | SWS_FULL_CHR_H_INP, 0 );
++	av_opt_set_int( sws, "sws_flags", ctx->flags, 0 );
+ 
+ 	av_opt_set_int( sws, "src_h_chr_pos", -513, 0 );
+ 	av_opt_set_int( sws, "src_v_chr_pos", src_v_chr_pos, 0 );
+@@ -1338,7 +1338,7 @@ static int sliced_h_pix_fmt_conv_proc( int id, int idx, int jobs, void* cookie )
+ static int convert_image( producer_avformat self, AVFrame *frame, uint8_t *buffer, int pix_fmt,
+ 	mlt_image_format *format, int width, int height, uint8_t **alpha )
+ {
+-	int flags = SWS_BICUBIC | SWS_ACCURATE_RND;
++	int flags = mlt_default_sws_flags;
+ 	mlt_profile profile = mlt_service_profile( MLT_PRODUCER_SERVICE( self->parent ) );
+ 	int result = self->yuv_colorspace;
+ 
+@@ -1400,7 +1400,7 @@ static int convert_image( producer_avformat self, AVFrame *frame, uint8_t *buffe
+ 	else if ( *format == mlt_image_rgb24 )
+ 	{
+ 		struct SwsContext *context = sws_getContext( width, height, src_pix_fmt,
+-			width, height, AV_PIX_FMT_RGB24, flags | SWS_FULL_CHR_H_INT, NULL, NULL, NULL);
++			width, height, AV_PIX_FMT_RGB24, flags, NULL, NULL, NULL);
+ 		uint8_t *out_data[4];
+ 		int out_stride[4];
+ 		av_image_fill_arrays(out_data, out_stride, buffer, AV_PIX_FMT_RGB24, width, height, IMAGE_ALIGN);
+@@ -1413,7 +1413,7 @@ static int convert_image( producer_avformat self, AVFrame *frame, uint8_t *buffe
+ 	else if ( *format == mlt_image_rgb24a || *format == mlt_image_opengl )
+ 	{
+ 		struct SwsContext *context = sws_getContext( width, height, src_pix_fmt,
+-			width, height, AV_PIX_FMT_RGBA, flags | SWS_FULL_CHR_H_INT, NULL, NULL, NULL);
++			width, height, AV_PIX_FMT_RGBA, flags, NULL, NULL, NULL);
+ 		uint8_t *out_data[4];
+ 		int out_stride[4];
+ 		av_image_fill_arrays(out_data, out_stride, buffer, AV_PIX_FMT_RGBA, width, height, IMAGE_ALIGN);
+@@ -1475,10 +1475,10 @@ static int convert_image( producer_avformat self, AVFrame *frame, uint8_t *buffe
+ 	{
+ #if defined(FFUDIV) && (LIBAVFORMAT_VERSION_INT >= ((55<<16)+(48<<8)+100))
+ 		struct SwsContext *context = sws_getContext( width, height, src_pix_fmt,
+-			width, height, AV_PIX_FMT_YUYV422, flags | SWS_FULL_CHR_H_INP, NULL, NULL, NULL);
++			width, height, AV_PIX_FMT_YUYV422, flags, NULL, NULL, NULL);
+ #else
+ 		struct SwsContext *context = sws_getContext( width, height, pix_fmt,
+-			width, height, AV_PIX_FMT_YUYV422, flags | SWS_FULL_CHR_H_INP, NULL, NULL, NULL);
++			width, height, AV_PIX_FMT_YUYV422, flags, NULL, NULL, NULL);
+ #endif
+ 		AVPicture output;
+ 		avpicture_fill( &output, buffer, AV_PIX_FMT_YUYV422, width, height );
\ No newline at end of file

diff --git a/media-libs/mlt/files/mlt-6.12.0-seconds-digits.patch b/media-libs/mlt/files/mlt-6.12.0-seconds-digits.patch
new file mode 100644
index 00000000000..c00accefd1e
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.12.0-seconds-digits.patch
@@ -0,0 +1,22 @@
+From 64a71150650616ab0309da1a76e37e762572f641 Mon Sep 17 00:00:00 2001
+From: Brian Matherly <code@brianmatherly.com>
+Date: Mon, 19 Nov 2018 22:44:07 -0600
+Subject: [PATCH] Fix number of digits for seconds.
+
+---
+ src/modules/plus/filter_timer.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/modules/plus/filter_timer.c b/src/modules/plus/filter_timer.c
+index 519f1f72a..32da3281d 100644
+--- a/src/modules/plus/filter_timer.c
++++ b/src/modules/plus/filter_timer.c
+@@ -90,7 +90,7 @@ static void get_timer_str( mlt_filter filter, mlt_frame frame, char* text )
+ 	}
+ 	else if ( !strcmp( format, "MM:SS.SS" ) )
+ 	{
+-		snprintf( text, MAX_TEXT_LEN, "%02d:%02.2f", hours * 60 + mins, secs );
++		snprintf( text, MAX_TEXT_LEN, "%02d:%05.2f", hours * 60 + mins, secs );
+ 	}
+ 	else if ( !strcmp( format, "SS" ) )
+ 	{
\ No newline at end of file

diff --git a/media-libs/mlt/mlt-6.12.0.ebuild b/media-libs/mlt/mlt-6.12.0.ebuild
new file mode 100644
index 00000000000..cb1ff2b9908
--- /dev/null
+++ b/media-libs/mlt/mlt-6.12.0.ebuild
@@ -0,0 +1,219 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+# this ebuild currently only supports installing ruby bindings for a single ruby version
+# so USE_RUBY must contain only a single value (the latest stable) as the ebuild calls
+# /usr/bin/${USE_RUBY} directly
+USE_RUBY="ruby25"
+inherit python-single-r1 ruby-single toolchain-funcs
+
+DESCRIPTION="Open source multimedia framework for television broadcasting"
+HOMEPAGE="https://www.mltframework.org/"
+SRC_URI="https://github.com/mltframework/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="compressed-lumas cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 debug ffmpeg fftw frei0r
+gtk jack kdenlive libav libsamplerate lua melt opencv opengl python qt5 rtaudio ruby sdl vdpau xine xml"
+# java perl php tcl vidstab
+IUSE="${IUSE} kernel_linux"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+#rtaudio will use OSS on non linux OSes
+RDEPEND="
+	>=media-libs/libebur128-1.2.2
+	ffmpeg? (
+		libav? ( >=media-video/libav-12:0=[vdpau?] )
+		!libav? ( media-video/ffmpeg:0=[vdpau?] )
+	)
+	fftw? ( sci-libs/fftw:3.0= )
+	frei0r? ( media-plugins/frei0r-plugins )
+	gtk? (
+		media-libs/libexif
+		x11-libs/gtk+:2
+		x11-libs/pango
+	)
+	jack? (
+		>=dev-libs/libxml2-2.5
+		media-libs/ladspa-sdk
+		virtual/jack
+	)
+	libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
+	lua? ( >=dev-lang/lua-5.1.4-r4:= )
+	opencv? ( >=media-libs/opencv-3.2.0:= )
+	opengl? ( media-video/movit )
+	python? ( ${PYTHON_DEPS} )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtsvg:5
+		dev-qt/qtwidgets:5
+		dev-qt/qtxml:5
+		media-libs/libexif
+		x11-libs/libX11
+	)
+	rtaudio? (
+		>=media-libs/rtaudio-4.1.2
+		kernel_linux? ( media-libs/alsa-lib )
+	)
+	ruby? ( ${RUBY_DEPS} )
+	sdl? (
+		media-libs/libsdl2[X,opengl,video]
+		media-libs/sdl2-image
+	)
+	xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
+	xml? ( >=dev-libs/libxml2-2.5 )"
+#	java? ( >=virtual/jre-1.5 )
+#	perl? ( dev-lang/perl )
+#	php? ( dev-lang/php )
+#	sox? ( media-sound/sox )
+#	tcl? ( dev-lang/tcl:0= )
+#	vidstab? ( media-libs/libvidstab )
+SWIG_DEPEND=">=dev-lang/swig-2.0"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	compressed-lumas? ( virtual/imagemagick-tools[png] )
+	lua? ( ${SWIG_DEPEND} virtual/pkgconfig )
+	python? ( ${SWIG_DEPEND} )
+	ruby? ( ${SWIG_DEPEND} )"
+#	java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 )
+#	perl? ( ${SWIG_DEPEND} )
+#	php? ( ${SWIG_DEPEND} )
+#	tcl? ( ${SWIG_DEPEND} )
+
+DOCS=( AUTHORS ChangeLog NEWS README docs/{framework,melt,mlt{++,-xml}}.txt )
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
+	"${FILESDIR}"/${P}-seconds-digits.patch
+	"${FILESDIR}"/${P}-rgb-to-yuv-accuracy.patch
+	"${FILESDIR}"/${P}-frei0r-w-tractor.patch
+)
+
+pkg_setup() {
+	use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	default
+
+	# respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
+	for x in python lua; do
+		sed -i "/mlt.so/s: -lmlt++ :& ${CFLAGS} ${LDFLAGS} :" src/swig/$x/build || die
+	done
+	sed -i "/^LDFLAGS/s: += :& ${LDFLAGS} :" src/swig/ruby/build || die
+
+	sed -i -e "s/env ruby/${USE_RUBY}/" src/swig/ruby/* || die
+}
+
+src_configure() {
+	tc-export CC CXX
+
+	local myconf=(
+		--enable-gpl
+		--enable-gpl3
+		--enable-motion-est
+		--target-arch=$(tc-arch)
+		--disable-kde
+		--disable-sdl
+		--disable-swfdec
+		$(use_enable debug)
+		$(use compressed-lumas && echo ' --luma-compress')
+		$(use_enable cpu_flags_x86_sse sse)
+		$(use_enable cpu_flags_x86_sse2 sse2)
+		$(use_enable gtk gtk2)
+		$(use_enable jack jackrack)
+		$(use_enable ffmpeg avformat)
+		$(use ffmpeg && echo ' --avformat-swscale')
+		$(use_enable fftw plus)
+		$(use_enable frei0r)
+		$(use_enable melt)
+		$(use_enable opencv)
+		$(use_enable opengl)
+		$(use_enable libsamplerate resample)
+		$(use_enable rtaudio)
+		$(use vdpau && echo ' --avformat-vdpau')
+		$(use_enable sdl sdl2)
+		$(use_enable xml)
+		$(use_enable xine)
+		$(use_enable kdenlive)
+		--disable-sox
+	)
+		#$(use_enable sox) FIXME
+
+	if use qt5 ; then
+		myconf+=(
+			--enable-qt
+			--qt-includedir=$(pkg-config Qt5Core --variable=includedir)
+			--qt-libdir=$(pkg-config Qt5Core --variable=libdir)
+		)
+	else
+		myconf+=( --disable-qt )
+	fi
+
+	if use x86 || use amd64 ; then
+		myconf+=( $(use_enable cpu_flags_x86_mmx mmx) )
+	else
+		myconf+=( --disable-mmx )
+	fi
+
+	if ! use melt; then
+		sed -i -e "s;src/melt;;" Makefile || die
+	fi
+
+	# TODO: add swig language bindings
+	# see also https://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
+
+	local swig_lang
+	# TODO: java perl php tcl
+	for i in lua python ruby ; do
+		use $i && swig_lang="${swig_lang} $i"
+	done
+	[[ -z "${swig_lang}" ]] && swig_lang="none"
+
+	econf ${myconf[@]} --swig-languages="${swig_lang}"
+
+	sed -i -e s/^OPT/#OPT/ "${S}/config.mak" || die
+}
+
+src_install() {
+	emake DESTDIR="${D}" install
+	einstalldocs
+
+	dodir /usr/share/${PN}
+	insinto /usr/share/${PN}
+	doins -r demo
+
+	docinto swig
+
+	# Install SWIG bindings
+	if use lua; then
+		cd "${S}"/src/swig/lua || die
+		exeinto $(pkg-config --variable INSTALL_CMOD lua)
+		doexe mlt.so
+		dodoc play.lua
+	fi
+
+	if use python; then
+		cd "${S}"/src/swig/python || die
+		insinto $(python_get_sitedir)
+		doins mlt.py
+		exeinto $(python_get_sitedir)
+		doexe _mlt.so
+		dodoc play.py
+		python_optimize
+	fi
+
+	if use ruby; then
+		cd "${S}"/src/swig/ruby || die
+		exeinto $("${EPREFIX}"/usr/bin/${USE_RUBY} -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')
+		doexe mlt.so
+		dodoc play.rb thumbs.rb
+	fi
+	# TODO: java perl php tcl
+}


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2020-03-19 11:46 Andreas Sturmlechner
  0 siblings, 0 replies; 22+ messages in thread
From: Andreas Sturmlechner @ 2020-03-19 11:46 UTC (permalink / raw
  To: gentoo-commits

commit:     77dec8e91cc23174be7905921ba0c67fc9970d4a
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 19 11:40:33 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Mar 19 11:40:59 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77dec8e9

media-libs/mlt: Drop 6.16.0-r1 and 6.16.0-r2

Package-Manager: Portage-2.3.94, Repoman-2.3.21
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-libs/mlt/Manifest                            |   1 -
 ....16.0-bad-aspect-ratio-resulting-in-black.patch |  56 -----
 ..._multi-does-not-correctly-handle-in-point.patch |  22 --
 media-libs/mlt/files/mlt-6.16.0-crop-filter.patch  |  31 ---
 .../mlt-6.16.0-mlt_consumer-race-condition.patch   |  30 ---
 .../mlt-6.16.0-rotoscoping-interpolation.patch     |  22 --
 media-libs/mlt/mlt-6.16.0-r1.ebuild                | 226 ---------------------
 media-libs/mlt/mlt-6.16.0-r2.ebuild                | 226 ---------------------
 8 files changed, 614 deletions(-)

diff --git a/media-libs/mlt/Manifest b/media-libs/mlt/Manifest
index 81168bf498e..7daf1f26178 100644
--- a/media-libs/mlt/Manifest
+++ b/media-libs/mlt/Manifest
@@ -1,2 +1 @@
-DIST mlt-6.16.0.tar.gz 1414374 BLAKE2B 6c031360721d535e95cbaf890c1f42f5f5dd914e0c6c20992bd3aec4ecbcc0b53370fe6b82b5d11c8242bb0a1f2d94f28bc61b4e5a920e5afb41ca8bb5229433 SHA512 554e8b9baa7a8578cc52315fe0583c61762bf6fbbcdd4a1e4f25753846d92f013e7d74745498625fcc781de993aa0526fd761920450b4314e67105783b9bde26
 DIST mlt-6.20.0.tar.gz 1446137 BLAKE2B 50599c827be82ea5f5145297b41001e94b44519ec4c6344b8cfdc6fc92e6106de60ecd985296ab77d24e6a5b74ea8e859187935bd88f9394f3c108308afc68ac SHA512 939e837fb07ff0eace308987d83913e979f82c6eb156b40fde784f3f2b031b5f6896ac96dcde1627925cbb6fc76725f3fc4e5b2d0616fae11263648bcdbe82e3

diff --git a/media-libs/mlt/files/mlt-6.16.0-bad-aspect-ratio-resulting-in-black.patch b/media-libs/mlt/files/mlt-6.16.0-bad-aspect-ratio-resulting-in-black.patch
deleted file mode 100644
index c2bc1946a81..00000000000
--- a/media-libs/mlt/files/mlt-6.16.0-bad-aspect-ratio-resulting-in-black.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From f0628d1fe7f61a267f1adad8824b9a2083e3376a Mon Sep 17 00:00:00 2001
-From: Dan Dennedy <dan@dennedy.org>
-Date: Fri, 31 May 2019 19:03:32 -0700
-Subject: [PATCH] Fix #453 bad aspect ratio computed resulting in black.
-
-This occured when the s, width, or height properties are supplied with
-no "aspect."
----
- src/modules/avformat/consumer_avformat.c | 34 +++++++++++++-----------
- 1 file changed, 18 insertions(+), 16 deletions(-)
-
-diff --git a/src/modules/avformat/consumer_avformat.c b/src/modules/avformat/consumer_avformat.c
-index 738f5a972..dd2719997 100644
---- a/src/modules/avformat/consumer_avformat.c
-+++ b/src/modules/avformat/consumer_avformat.c
-@@ -271,22 +271,24 @@ mlt_consumer consumer_avformat_init( mlt_profile profile, char *arg )
- static void recompute_aspect_ratio( mlt_properties properties )
- {
- 	double ar = mlt_properties_get_double( properties, "aspect" );
--	AVRational rational = av_d2q( ar, 255 );
--	int width = mlt_properties_get_int( properties, "width" );
--	int height = mlt_properties_get_int( properties, "height" );
--
--	// Update the profile and properties as well since this is an alias
--	// for mlt properties that correspond to profile settings
--	mlt_properties_set_int( properties, "display_aspect_num", rational.num );
--	mlt_properties_set_int( properties, "display_aspect_den", rational.den );
--
--	// Now compute the sample aspect ratio
--	rational = av_d2q( ar * height / FFMAX(width, 1), 255 );
--
--	// Update the profile and properties as well since this is an alias
--	// for mlt properties that correspond to profile settings
--	mlt_properties_set_int( properties, "sample_aspect_num", rational.num );
--	mlt_properties_set_int( properties, "sample_aspect_den", rational.den );
-+	if (ar > 0.0) {
-+		AVRational rational = av_d2q( ar, 255 );
-+		int width = mlt_properties_get_int( properties, "width" );
-+		int height = mlt_properties_get_int( properties, "height" );
-+	
-+		// Update the profile and properties as well since this is an alias
-+		// for mlt properties that correspond to profile settings
-+		mlt_properties_set_int( properties, "display_aspect_num", rational.num );
-+		mlt_properties_set_int( properties, "display_aspect_den", rational.den );
-+	
-+		// Now compute the sample aspect ratio
-+		rational = av_d2q( ar * height / FFMAX(width, 1), 255 );
-+	
-+		// Update the profile and properties as well since this is an alias
-+		// for mlt properties that correspond to profile settings
-+		mlt_properties_set_int( properties, "sample_aspect_num", rational.num );
-+		mlt_properties_set_int( properties, "sample_aspect_den", rational.den );
-+	}
- }
- 
- static void color_trc_from_colorspace( mlt_properties properties )

diff --git a/media-libs/mlt/files/mlt-6.16.0-consumer_multi-does-not-correctly-handle-in-point.patch b/media-libs/mlt/files/mlt-6.16.0-consumer_multi-does-not-correctly-handle-in-point.patch
deleted file mode 100644
index 946d06ae357..00000000000
--- a/media-libs/mlt/files/mlt-6.16.0-consumer_multi-does-not-correctly-handle-in-point.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 434dbcf62048cc1220c425c2adc77697b4d40ffb Mon Sep 17 00:00:00 2001
-From: Jean-Baptiste Mardelle <jb@kdenlive.org>
-Date: Mon, 10 Jun 2019 18:18:44 +0200
-Subject: [PATCH] Fix multi consumer doesn't correctly handle in point
-
----
- src/modules/core/consumer_multi.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/modules/core/consumer_multi.c b/src/modules/core/consumer_multi.c
-index 4bb16ddf5..d9b5fbc0f 100644
---- a/src/modules/core/consumer_multi.c
-+++ b/src/modules/core/consumer_multi.c
-@@ -304,7 +304,7 @@ static void foreach_consumer_start( mlt_consumer consumer )
- 		if ( nested )
- 		{
- 			mlt_properties nested_props = MLT_CONSUMER_PROPERTIES(nested);
--			mlt_properties_set_position( nested_props, "_multi_position", 0 );
-+			mlt_properties_set_position( nested_props, "_multi_position", mlt_properties_get_position( properties, "in" ) );
- 			mlt_properties_set_data( nested_props, "_multi_audio", NULL, 0, NULL, NULL );
- 			mlt_properties_set_int( nested_props, "_multi_samples", 0 );
- 			mlt_consumer_start( nested );

diff --git a/media-libs/mlt/files/mlt-6.16.0-crop-filter.patch b/media-libs/mlt/files/mlt-6.16.0-crop-filter.patch
deleted file mode 100644
index d42da685bdb..00000000000
--- a/media-libs/mlt/files/mlt-6.16.0-crop-filter.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From f6225b7f4cd5e9b6011ca79c3849dc9e286a7acb Mon Sep 17 00:00:00 2001
-From: Dan Dennedy <dan@dennedy.org>
-Date: Mon, 13 May 2019 11:44:13 -0700
-Subject: [PATCH] Fix crop filter not working with color producer.
-
-Fixes https://github.com/mltframework/shotcut/issues/737
----
- src/modules/core/producer_colour.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/modules/core/producer_colour.c b/src/modules/core/producer_colour.c
-index e1cfe5284..67d36dfb2 100644
---- a/src/modules/core/producer_colour.c
-+++ b/src/modules/core/producer_colour.c
-@@ -1,6 +1,6 @@
- /*
-  * producer_colour.c
-- * Copyright (C) 2003-2018 Meltytech, LLC
-+ * Copyright (C) 2003-2019 Meltytech, LLC
-  *
-  * This library is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU Lesser General Public
-@@ -248,6 +248,8 @@ static int producer_get_frame( mlt_producer producer, mlt_frame_ptr frame, int i
- 		mlt_properties_set_int( properties, "progressive", 1 );
- 		mlt_profile profile = mlt_service_profile( MLT_PRODUCER_SERVICE( producer ) );
- 		mlt_properties_set_double( properties, "aspect_ratio", mlt_profile_sar( profile ) );
-+		mlt_properties_set_int( properties, "meta.media.width", profile->width );
-+		mlt_properties_set_int( properties, "meta.media.height", profile->height );
- 
- 		// colour is an alias for resource
- 		if ( mlt_properties_get( producer_props, "colour" ) != NULL )

diff --git a/media-libs/mlt/files/mlt-6.16.0-mlt_consumer-race-condition.patch b/media-libs/mlt/files/mlt-6.16.0-mlt_consumer-race-condition.patch
deleted file mode 100644
index 7fd1c577541..00000000000
--- a/media-libs/mlt/files/mlt-6.16.0-mlt_consumer-race-condition.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 9b89b781b9d06181c8d486605ed4c2b3089d64d6 Mon Sep 17 00:00:00 2001
-From: alcinos <nicolas.carion@ens-lyon.fr>
-Date: Wed, 1 May 2019 23:50:41 +0200
-Subject: [PATCH] Fix race in mlt_consumer
-
----
- src/framework/mlt_consumer.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/framework/mlt_consumer.c b/src/framework/mlt_consumer.c
-index 491bc5e99..0e36bde3c 100644
---- a/src/framework/mlt_consumer.c
-+++ b/src/framework/mlt_consumer.c
-@@ -31,6 +31,7 @@
- #include <string.h>
- #include <stdlib.h>
- #include <sys/time.h>
-+#include <stdatomic.h>
- 
- /** Define this if you want an automatic deinterlace (if necessary) when the
-  * consumer's producer is not running at normal speed.
-@@ -65,7 +66,7 @@ typedef struct
- 	double fps;
- 	int channels;
- 	int frequency;
--	int speed;
-+	atomic_int speed;
- 	/* additional fields added for the parallel work queue */
- 	mlt_deque worker_threads;
- 	pthread_mutex_t done_mutex;

diff --git a/media-libs/mlt/files/mlt-6.16.0-rotoscoping-interpolation.patch b/media-libs/mlt/files/mlt-6.16.0-rotoscoping-interpolation.patch
deleted file mode 100644
index 935a2d13f61..00000000000
--- a/media-libs/mlt/files/mlt-6.16.0-rotoscoping-interpolation.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From ddf6983b4aaaf662944b84103dd4412aff45a428 Mon Sep 17 00:00:00 2001
-From: alcinos <nicolas.carion@ens-lyon.fr>
-Date: Fri, 10 May 2019 23:20:22 +0200
-Subject: [PATCH] Fix interpolation in rotoscoping filter
-
----
- src/modules/plusgpl/filter_rotoscoping.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/modules/plusgpl/filter_rotoscoping.c b/src/modules/plusgpl/filter_rotoscoping.c
-index 0667929cd..70e3a093b 100644
---- a/src/modules/plusgpl/filter_rotoscoping.c
-+++ b/src/modules/plusgpl/filter_rotoscoping.c
-@@ -572,7 +572,7 @@ static mlt_frame filter_process( mlt_filter filter, mlt_frame frame )
-             int c2 = json2BCurves( keyframe, &p2 );
- 
-             // range 0-1
--            double position = ( time - pos1 ) / (double)( pos2 - pos1 + 1 );
-+            double position = ( time - pos1 ) / (double)( pos2 - pos1 );
- 
-             count = MIN( c1, c2 );  // additional points are ignored
-             points = mlt_pool_alloc( count * sizeof( BPointF ) );

diff --git a/media-libs/mlt/mlt-6.16.0-r1.ebuild b/media-libs/mlt/mlt-6.16.0-r1.ebuild
deleted file mode 100644
index 6b79b5c3fea..00000000000
--- a/media-libs/mlt/mlt-6.16.0-r1.ebuild
+++ /dev/null
@@ -1,226 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-# this ebuild currently only supports installing ruby bindings for a single ruby version
-# so USE_RUBY must contain only a single value (the latest stable) as the ebuild calls
-# /usr/bin/${USE_RUBY} directly
-USE_RUBY="ruby24"
-inherit python-single-r1 qmake-utils ruby-single toolchain-funcs
-
-DESCRIPTION="Open source multimedia framework for television broadcasting"
-HOMEPAGE="https://www.mltframework.org/"
-SRC_URI="https://github.com/mltframework/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86 ~amd64-linux ~x86-linux"
-IUSE="compressed-lumas cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 debug ffmpeg
-fftw frei0r gtk jack kdenlive kernel_linux libav libsamplerate lua melt opencv opengl python
-qt5 rtaudio ruby sdl vdpau vidstab xine xml"
-# java perl php tcl
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-SWIG_DEPEND=">=dev-lang/swig-2.0"
-#	java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 )
-#	perl? ( ${SWIG_DEPEND} )
-#	php? ( ${SWIG_DEPEND} )
-#	tcl? ( ${SWIG_DEPEND} )
-BDEPEND="
-	virtual/pkgconfig
-	compressed-lumas? ( virtual/imagemagick-tools[png] )
-	lua? ( ${SWIG_DEPEND} virtual/pkgconfig )
-	python? ( ${SWIG_DEPEND} )
-	ruby? ( ${SWIG_DEPEND} )"
-#rtaudio will use OSS on non linux OSes
-DEPEND="
-	>=media-libs/libebur128-1.2.2:=
-	ffmpeg? (
-		libav? ( >=media-video/libav-12:0=[vdpau?] )
-		!libav? ( media-video/ffmpeg:0=[vdpau?,-flite] )
-	)
-	fftw? ( sci-libs/fftw:3.0= )
-	frei0r? ( media-plugins/frei0r-plugins )
-	gtk? (
-		media-libs/libexif
-		x11-libs/gtk+:2
-		x11-libs/pango
-	)
-	jack? (
-		>=dev-libs/libxml2-2.5
-		media-libs/ladspa-sdk
-		virtual/jack
-	)
-	libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
-	lua? ( >=dev-lang/lua-5.1.4-r4:= )
-	opencv? ( >=media-libs/opencv-3.2.0:= )
-	opengl? ( media-video/movit )
-	python? ( ${PYTHON_DEPS} )
-	qt5? (
-		dev-qt/qtcore:5
-		dev-qt/qtgui:5
-		dev-qt/qtsvg:5
-		dev-qt/qtwidgets:5
-		dev-qt/qtxml:5
-		media-libs/libexif
-		x11-libs/libX11
-	)
-	rtaudio? (
-		>=media-libs/rtaudio-4.1.2
-		kernel_linux? ( media-libs/alsa-lib )
-	)
-	ruby? ( ${RUBY_DEPS} )
-	sdl? (
-		media-libs/libsdl2[X,opengl,video]
-		media-libs/sdl2-image
-	)
-	vidstab? ( media-libs/vidstab )
-	xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
-	xml? ( >=dev-libs/libxml2-2.5 )"
-#	java? ( >=virtual/jre-1.5 )
-#	perl? ( dev-lang/perl )
-#	php? ( dev-lang/php )
-#	sox? ( media-sound/sox )
-#	tcl? ( dev-lang/tcl:0= )
-RDEPEND="${DEPEND}"
-
-DOCS=( AUTHORS ChangeLog NEWS README docs/{framework,melt,mlt{++,-xml}}.txt )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
-	"${FILESDIR}"/${P}-mlt_consumer-race-condition.patch
-	"${FILESDIR}"/${P}-rotoscoping-interpolation.patch
-	"${FILESDIR}"/${P}-crop-filter.patch
-	"${FILESDIR}"/${P}-consumer_multi-does-not-correctly-handle-in-point.patch
-	"${FILESDIR}"/${P}-bad-aspect-ratio-resulting-in-black.patch
-)
-
-pkg_setup() {
-	use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-	default
-
-	# respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
-	for x in python lua; do
-		sed -i "/mlt.so/s: -lmlt++ :& ${CFLAGS} ${LDFLAGS} :" src/swig/$x/build || die
-	done
-
-	sed -i -e "s/env ruby/${USE_RUBY}/" src/swig/ruby/* || die
-
-	# fix python include dir
-	if use python; then
-		python_export PYTHON_INCLUDEDIR
-		sed -e "/PYTHON_INCLUDE=/s:=.*:=${PYTHON_INCLUDEDIR}:" \
-			-i src/swig/python/build || die
-	fi
-}
-
-src_configure() {
-	tc-export CC CXX
-
-	local myconf=(
-		--enable-gpl
-		--enable-gpl3
-		--enable-motion-est
-		--target-arch=$(tc-arch)
-		--disable-kde
-		--disable-sdl
-		--disable-swfdec
-		$(use_enable debug)
-		$(use_enable cpu_flags_x86_sse sse)
-		$(use_enable cpu_flags_x86_sse2 sse2)
-		$(use_enable ffmpeg avformat)
-		$(use_enable fftw plus)
-		$(use_enable frei0r)
-		$(use_enable gtk gtk2)
-		$(use_enable jack jackrack)
-		$(use_enable kdenlive)
-		$(use_enable libsamplerate resample)
-		$(use_enable melt)
-		$(use_enable opencv)
-		$(use_enable opengl)
-		$(use_enable qt5 qt)
-		$(use_enable rtaudio)
-		$(use_enable sdl sdl2)
-		$(use_enable vidstab vid.stab )
-		$(use_enable xine)
-		$(use_enable xml)
-		--disable-sox
-	)
-		#$(use_enable sox) FIXME
-
-	use compressed-lumas && myconf+=( --luma-compress )
-	use ffmpeg && myconf+=( --avformat-swscale )
-	use vdpau && myconf+=( --avformat-vdpau )
-
-	if use qt5 ; then
-		myconf+=(
-			--qt-includedir=$(qt5_get_headerdir)
-			--qt-libdir=$(qt5_get_libdir)
-		)
-	fi
-
-	if use amd64 || use x86 ; then
-		myconf+=( $(use_enable cpu_flags_x86_mmx mmx) )
-	else
-		myconf+=( --disable-mmx )
-	fi
-
-	if ! use melt ; then
-		sed -i -e "s;src/melt;;" Makefile || die
-	fi
-
-	# TODO: add swig language bindings
-	# see also https://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
-
-	local swig_lang=()
-	# TODO: java perl php tcl
-	for i in lua python ruby ; do
-		use $i && swig_lang+=( $i )
-	done
-	[[ -z "${swig_lang}" ]] && swig_lang=( none )
-
-	econf "${myconf[@]}" --swig-languages="${swig_lang[*]}"
-
-	sed -i -e s/^OPT/#OPT/ config.mak || die
-}
-
-src_install() {
-	default
-
-	dodir /usr/share/${PN}
-	insinto /usr/share/${PN}
-	doins -r demo
-
-	docinto swig
-
-	# Install SWIG bindings
-	if use lua; then
-		cd "${S}"/src/swig/lua || die
-		exeinto $(pkg-config --variable INSTALL_CMOD lua)
-		doexe mlt.so
-		dodoc play.lua
-	fi
-
-	if use python; then
-		cd "${S}"/src/swig/python || die
-		python_domodule mlt.py _mlt.so
-		chmod +x "${D}$(python_get_sitedir)/_mlt.so" || die
-		dodoc play.py
-		python_optimize
-	fi
-
-	if use ruby; then
-		cd "${S}"/src/swig/ruby || die
-		local rubydir=$("${EPREFIX}"/usr/bin/${USE_RUBY} -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')
-		exeinto "${rubydir#${EPREFIX}}"
-		doexe mlt.so
-		dodoc play.rb thumbs.rb
-	fi
-	# TODO: java perl php tcl
-}

diff --git a/media-libs/mlt/mlt-6.16.0-r2.ebuild b/media-libs/mlt/mlt-6.16.0-r2.ebuild
deleted file mode 100644
index 3113c3933d9..00000000000
--- a/media-libs/mlt/mlt-6.16.0-r2.ebuild
+++ /dev/null
@@ -1,226 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-# this ebuild currently only supports installing ruby bindings for a single ruby version
-# so USE_RUBY must contain only a single value (the latest stable) as the ebuild calls
-# /usr/bin/${USE_RUBY} directly
-USE_RUBY="ruby25"
-inherit python-single-r1 qmake-utils ruby-single toolchain-funcs
-
-DESCRIPTION="Open source multimedia framework for television broadcasting"
-HOMEPAGE="https://www.mltframework.org/"
-SRC_URI="https://github.com/mltframework/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86 ~amd64-linux ~x86-linux"
-IUSE="compressed-lumas cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 debug ffmpeg
-fftw frei0r gtk jack kdenlive kernel_linux libav libsamplerate lua melt opencv opengl python
-qt5 rtaudio ruby sdl vdpau vidstab xine xml"
-# java perl php tcl
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-SWIG_DEPEND=">=dev-lang/swig-2.0"
-#	java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 )
-#	perl? ( ${SWIG_DEPEND} )
-#	php? ( ${SWIG_DEPEND} )
-#	tcl? ( ${SWIG_DEPEND} )
-BDEPEND="
-	virtual/pkgconfig
-	compressed-lumas? ( virtual/imagemagick-tools[png] )
-	lua? ( ${SWIG_DEPEND} virtual/pkgconfig )
-	python? ( ${SWIG_DEPEND} )
-	ruby? ( ${SWIG_DEPEND} )"
-#rtaudio will use OSS on non linux OSes
-DEPEND="
-	>=media-libs/libebur128-1.2.2:=
-	ffmpeg? (
-		libav? ( >=media-video/libav-12:0=[vdpau?] )
-		!libav? ( media-video/ffmpeg:0=[vdpau?,-flite] )
-	)
-	fftw? ( sci-libs/fftw:3.0= )
-	frei0r? ( media-plugins/frei0r-plugins )
-	gtk? (
-		media-libs/libexif
-		x11-libs/gtk+:2
-		x11-libs/pango
-	)
-	jack? (
-		>=dev-libs/libxml2-2.5
-		media-libs/ladspa-sdk
-		virtual/jack
-	)
-	libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
-	lua? ( >=dev-lang/lua-5.1.4-r4:= )
-	opencv? ( >=media-libs/opencv-3.2.0:= )
-	opengl? ( media-video/movit )
-	python? ( ${PYTHON_DEPS} )
-	qt5? (
-		dev-qt/qtcore:5
-		dev-qt/qtgui:5
-		dev-qt/qtsvg:5
-		dev-qt/qtwidgets:5
-		dev-qt/qtxml:5
-		media-libs/libexif
-		x11-libs/libX11
-	)
-	rtaudio? (
-		>=media-libs/rtaudio-4.1.2
-		kernel_linux? ( media-libs/alsa-lib )
-	)
-	ruby? ( ${RUBY_DEPS} )
-	sdl? (
-		media-libs/libsdl2[X,opengl,video]
-		media-libs/sdl2-image
-	)
-	vidstab? ( media-libs/vidstab )
-	xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
-	xml? ( >=dev-libs/libxml2-2.5 )"
-#	java? ( >=virtual/jre-1.5 )
-#	perl? ( dev-lang/perl )
-#	php? ( dev-lang/php )
-#	sox? ( media-sound/sox )
-#	tcl? ( dev-lang/tcl:0= )
-RDEPEND="${DEPEND}"
-
-DOCS=( AUTHORS ChangeLog NEWS README docs/{framework,melt,mlt{++,-xml}}.txt )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
-	"${FILESDIR}"/${P}-mlt_consumer-race-condition.patch
-	"${FILESDIR}"/${P}-rotoscoping-interpolation.patch
-	"${FILESDIR}"/${P}-crop-filter.patch
-	"${FILESDIR}"/${P}-consumer_multi-does-not-correctly-handle-in-point.patch
-	"${FILESDIR}"/${P}-bad-aspect-ratio-resulting-in-black.patch
-)
-
-pkg_setup() {
-	use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-	default
-
-	# respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
-	for x in python lua; do
-		sed -i "/mlt.so/s: -lmlt++ :& ${CFLAGS} ${LDFLAGS} :" src/swig/$x/build || die
-	done
-
-	sed -i -e "s/env ruby/${USE_RUBY}/" src/swig/ruby/* || die
-
-	# fix python include dir
-	if use python; then
-		python_export PYTHON_INCLUDEDIR
-		sed -e "/PYTHON_INCLUDE=/s:=.*:=${PYTHON_INCLUDEDIR}:" \
-			-i src/swig/python/build || die
-	fi
-}
-
-src_configure() {
-	tc-export CC CXX
-
-	local myconf=(
-		--enable-gpl
-		--enable-gpl3
-		--enable-motion-est
-		--target-arch=$(tc-arch)
-		--disable-kde
-		--disable-sdl
-		--disable-swfdec
-		$(use_enable debug)
-		$(use_enable cpu_flags_x86_sse sse)
-		$(use_enable cpu_flags_x86_sse2 sse2)
-		$(use_enable ffmpeg avformat)
-		$(use_enable fftw plus)
-		$(use_enable frei0r)
-		$(use_enable gtk gtk2)
-		$(use_enable jack jackrack)
-		$(use_enable kdenlive)
-		$(use_enable libsamplerate resample)
-		$(use_enable melt)
-		$(use_enable opencv)
-		$(use_enable opengl)
-		$(use_enable qt5 qt)
-		$(use_enable rtaudio)
-		$(use_enable sdl sdl2)
-		$(use_enable vidstab vid.stab )
-		$(use_enable xine)
-		$(use_enable xml)
-		--disable-sox
-	)
-		#$(use_enable sox) FIXME
-
-	use compressed-lumas && myconf+=( --luma-compress )
-	use ffmpeg && myconf+=( --avformat-swscale )
-	use vdpau && myconf+=( --avformat-vdpau )
-
-	if use qt5 ; then
-		myconf+=(
-			--qt-includedir=$(qt5_get_headerdir)
-			--qt-libdir=$(qt5_get_libdir)
-		)
-	fi
-
-	if use amd64 || use x86 ; then
-		myconf+=( $(use_enable cpu_flags_x86_mmx mmx) )
-	else
-		myconf+=( --disable-mmx )
-	fi
-
-	if ! use melt ; then
-		sed -i -e "s;src/melt;;" Makefile || die
-	fi
-
-	# TODO: add swig language bindings
-	# see also https://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
-
-	local swig_lang=()
-	# TODO: java perl php tcl
-	for i in lua python ruby ; do
-		use $i && swig_lang+=( $i )
-	done
-	[[ -z "${swig_lang}" ]] && swig_lang=( none )
-
-	econf "${myconf[@]}" --swig-languages="${swig_lang[*]}"
-
-	sed -i -e s/^OPT/#OPT/ config.mak || die
-}
-
-src_install() {
-	default
-
-	dodir /usr/share/${PN}
-	insinto /usr/share/${PN}
-	doins -r demo
-
-	docinto swig
-
-	# Install SWIG bindings
-	if use lua; then
-		cd "${S}"/src/swig/lua || die
-		exeinto $(pkg-config --variable INSTALL_CMOD lua)
-		doexe mlt.so
-		dodoc play.lua
-	fi
-
-	if use python; then
-		cd "${S}"/src/swig/python || die
-		python_domodule mlt.py _mlt.so
-		chmod +x "${D}$(python_get_sitedir)/_mlt.so" || die
-		dodoc play.py
-		python_optimize
-	fi
-
-	if use ruby; then
-		cd "${S}"/src/swig/ruby || die
-		local rubydir=$("${EPREFIX}"/usr/bin/${USE_RUBY} -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')
-		exeinto "${rubydir#${EPREFIX}}"
-		doexe mlt.so
-		dodoc play.rb thumbs.rb
-	fi
-	# TODO: java perl php tcl
-}


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2020-06-30 21:44 Andreas Sturmlechner
  0 siblings, 0 replies; 22+ messages in thread
From: Andreas Sturmlechner @ 2020-06-30 21:44 UTC (permalink / raw
  To: gentoo-commits

commit:     66f50e0d7924934d83919eeeeb6f226277e07f30
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 30 20:52:43 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Jun 30 21:44:02 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=66f50e0d

media-libs/mlt: fix null pointer crash in mix transition

Upstream commit dc585bfa5765db418923e7b4802c03bc57733111

Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../mlt/files/mlt-6.20.0-nullpointer-crash.patch   | 22 ++++++++++++++++++++++
 media-libs/mlt/mlt-6.20.0-r2.ebuild                |  1 +
 2 files changed, 23 insertions(+)

diff --git a/media-libs/mlt/files/mlt-6.20.0-nullpointer-crash.patch b/media-libs/mlt/files/mlt-6.20.0-nullpointer-crash.patch
new file mode 100644
index 00000000000..6bff797c0a9
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.20.0-nullpointer-crash.patch
@@ -0,0 +1,22 @@
+From b32be6e56e328bb2e580aa13cd757aa211310bae Mon Sep 17 00:00:00 2001
+From: Dan Dennedy <dan@dennedy.org>
+Date: Thu, 27 Feb 2020 23:49:07 -0800
+Subject: [PATCH] fix null pointer crash in mix transition
+
+---
+ src/modules/core/transition_mix.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/modules/core/transition_mix.c b/src/modules/core/transition_mix.c
+index ab7a166d0..89c07a285 100644
+--- a/src/modules/core/transition_mix.c
++++ b/src/modules/core/transition_mix.c
+@@ -139,7 +139,7 @@ static int transition_get_audio( mlt_frame frame_a, void **buffer, mlt_audio_for
+ 	mlt_frame_get_audio( frame_a, (void**) &buffer_a, format, &frequency_a, &channels_a, &samples_a );
+ 
+ 	// Prevent dividing by zero.
+-	if ( !channels_a || !channels_b )
++	if ( !channels_a || !channels_b || !buffer_a || !buffer_b )
+ 		return 1;
+ 
+ 	if ( buffer_b == buffer_a )

diff --git a/media-libs/mlt/mlt-6.20.0-r2.ebuild b/media-libs/mlt/mlt-6.20.0-r2.ebuild
index 6edc6c8f9cb..4f93b42419b 100644
--- a/media-libs/mlt/mlt-6.20.0-r2.ebuild
+++ b/media-libs/mlt/mlt-6.20.0-r2.ebuild
@@ -87,6 +87,7 @@ PATCHES=(
 	"${FILESDIR}"/${P}-qt-5.15.patch
 	"${FILESDIR}"/${P}-no-gtk2.patch
 	"${FILESDIR}"/${P}-opencv4.patch
+	"${FILESDIR}"/${P}-nullpointer-crash.patch
 )
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2020-06-30 21:44 Andreas Sturmlechner
  0 siblings, 0 replies; 22+ messages in thread
From: Andreas Sturmlechner @ 2020-06-30 21:44 UTC (permalink / raw
  To: gentoo-commits

commit:     62a081d800ec28836843c9a2db67ed80cbb52b12
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 30 21:00:29 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Jun 30 21:44:02 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62a081d8

media-libs/mlt: fix crash with filters not supporting preview scale

Upstream commit dc585bfa5765db418923e7b4802c03bc57733111

Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...-6.20.0-crash-w-unsupported-preview-scale.patch | 48 ++++++++++++++++++++++
 media-libs/mlt/mlt-6.20.0-r2.ebuild                |  1 +
 2 files changed, 49 insertions(+)

diff --git a/media-libs/mlt/files/mlt-6.20.0-crash-w-unsupported-preview-scale.patch b/media-libs/mlt/files/mlt-6.20.0-crash-w-unsupported-preview-scale.patch
new file mode 100644
index 00000000000..25057b3c1ae
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.20.0-crash-w-unsupported-preview-scale.patch
@@ -0,0 +1,48 @@
+From dc585bfa5765db418923e7b4802c03bc57733111 Mon Sep 17 00:00:00 2001
+From: Dan Dennedy <dan@dennedy.org>
+Date: Mon, 2 Mar 2020 14:02:26 -0800
+Subject: [PATCH] fix crash with filters not supporting preview scale
+
+---
+ src/modules/frei0r/transition_frei0r.c | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/src/modules/frei0r/transition_frei0r.c b/src/modules/frei0r/transition_frei0r.c
+index b69011719..f11266b75 100644
+--- a/src/modules/frei0r/transition_frei0r.c
++++ b/src/modules/frei0r/transition_frei0r.c
+@@ -1,7 +1,7 @@
+ /*
+  * transition_frei0r.c -- frei0r transition
+  * Copyright (c) 2008 Marco Gittler <g.marco@freenet.de>
+- * Copyright (C) 2009-2019 Meltytech, LLC
++ * Copyright (C) 2009-2020 Meltytech, LLC
+  *
+  * This library is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public
+@@ -67,9 +67,25 @@ static int transition_get_image( mlt_frame a_frame, uint8_t **image, mlt_image_f
+ 	}
+ 	else
+ 	{
++		mlt_image_format b_format = *format;
++		int b_width = *width;
++		int b_height = *height;
++
+ 		error = mlt_frame_get_image( a_frame, &images[0], format, width, height, 0 );
+ 		if ( error ) return error;
+ 
++		if (*width != b_width || *height != b_height) {
++			if (invert) {
++				*image = images[0];
++			} else {
++				*image = images[1];
++				*format = b_format;
++				*width = b_width;
++				*height = b_height;
++			}
++			return error;
++		}
++
+ 		mlt_position position = mlt_transition_get_position( transition, a_frame );
+ 		mlt_profile profile = mlt_service_profile( MLT_TRANSITION_SERVICE( transition ) );
+ 		double time = (double) position / mlt_profile_fps( profile );

diff --git a/media-libs/mlt/mlt-6.20.0-r2.ebuild b/media-libs/mlt/mlt-6.20.0-r2.ebuild
index 4f93b42419b..d261114c200 100644
--- a/media-libs/mlt/mlt-6.20.0-r2.ebuild
+++ b/media-libs/mlt/mlt-6.20.0-r2.ebuild
@@ -88,6 +88,7 @@ PATCHES=(
 	"${FILESDIR}"/${P}-no-gtk2.patch
 	"${FILESDIR}"/${P}-opencv4.patch
 	"${FILESDIR}"/${P}-nullpointer-crash.patch
+	"${FILESDIR}"/${P}-crash-w-unsupported-preview-scale.patch
 )
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2020-06-30 21:44 Andreas Sturmlechner
  0 siblings, 0 replies; 22+ messages in thread
From: Andreas Sturmlechner @ 2020-06-30 21:44 UTC (permalink / raw
  To: gentoo-commits

commit:     46ea7eb2c62715bacc9d1eed7bbcd6abd2cc17ee
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 30 20:27:41 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Jun 30 21:44:01 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=46ea7eb2

media-libs/mlt: Drop x11-libs/gtk+:2 dependency

Upstream commit 1c45ceae1d06cd3df7063e2644140b647b6d0acd

Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-libs/mlt/files/mlt-6.20.0-no-gtk2.patch | 421 ++++++++++++++++++++++++++
 media-libs/mlt/mlt-6.20.0-r2.ebuild           |   5 +-
 2 files changed, 424 insertions(+), 2 deletions(-)

diff --git a/media-libs/mlt/files/mlt-6.20.0-no-gtk2.patch b/media-libs/mlt/files/mlt-6.20.0-no-gtk2.patch
new file mode 100644
index 00000000000..5031ab374f6
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.20.0-no-gtk2.patch
@@ -0,0 +1,421 @@
+From 1c45ceae1d06cd3df7063e2644140b647b6d0acd Mon Sep 17 00:00:00 2001
+From: martin <martin.sandsmark@kde.org>
+Date: Mon, 13 Apr 2020 19:15:32 +0000
+Subject: [PATCH] split out gdk code from gtk2 code, disable gtk2 by default
+ (#544)
+
+* split gtk2 code out from gdk code
+
+* remove gtk2 module from default build
+---
+ CMakeLists.txt                                |  2 +-
+ src/modules/gdk/CMakeLists.txt                | 39 ++++++++
+ src/modules/gdk/Makefile                      | 74 +++++++++++++++
+ src/modules/gdk/configure                     | 82 +++++++++++++++++
+ src/modules/gdk/factory.c                     | 92 +++++++++++++++++++
+ src/modules/{gtk2 => gdk}/filter_rescale.c    |  0
+ src/modules/{gtk2 => gdk}/filter_rescale.yml  |  0
+ src/modules/{gtk2 => gdk}/have_mmx.S          |  0
+ src/modules/{gtk2 => gdk}/pixops.c            |  0
+ src/modules/{gtk2 => gdk}/pixops.h            |  0
+ src/modules/{gtk2 => gdk}/producer_pango.c    |  1 -
+ src/modules/{gtk2 => gdk}/producer_pango.yml  |  0
+ src/modules/{gtk2 => gdk}/producer_pixbuf.c   |  0
+ src/modules/{gtk2 => gdk}/producer_pixbuf.yml |  0
+ .../{gtk2 => gdk}/scale_line_22_yuv_mmx.S     |  0
+ src/modules/gtk2/deprecated                   |  0
+ 20 files changed, 291 insertions(+), 151 deletions(-)
+ create mode 100644 src/modules/gdk/CMakeLists.txt
+ create mode 100644 src/modules/gdk/Makefile
+ create mode 100755 src/modules/gdk/configure
+ create mode 100644 src/modules/gdk/factory.c
+ rename src/modules/{gtk2 => gdk}/filter_rescale.c (100%)
+ rename src/modules/{gtk2 => gdk}/filter_rescale.yml (100%)
+ rename src/modules/{gtk2 => gdk}/have_mmx.S (100%)
+ rename src/modules/{gtk2 => gdk}/pixops.c (100%)
+ rename src/modules/{gtk2 => gdk}/pixops.h (100%)
+ rename src/modules/{gtk2 => gdk}/producer_pango.c (99%)
+ rename src/modules/{gtk2 => gdk}/producer_pango.yml (100%)
+ rename src/modules/{gtk2 => gdk}/producer_pixbuf.c (100%)
+ rename src/modules/{gtk2 => gdk}/producer_pixbuf.yml (100%)
+ rename src/modules/{gtk2 => gdk}/scale_line_22_yuv_mmx.S (100%)
+ create mode 100644 src/modules/gtk2/deprecated
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 54afeceda..e25ca68b0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -31,7 +31,7 @@ set(modules
+     src/modules/decklink
+     src/modules/frei0r
+     src/modules/feeds
+-    src/modules/gtk2
++    src/modules/gdk
+     src/modules/kdenlive
+     src/modules/motion_est
+     src/modules/normalize
+diff --git a/src/modules/gdk/CMakeLists.txt b/src/modules/gdk/CMakeLists.txt
+new file mode 100644
+index 000000000..b7bdb2c24
+--- /dev/null
++++ b/src/modules/gdk/CMakeLists.txt
+@@ -0,0 +1,39 @@
++set(mltgdk_src factory.c)
++set(mltgdk_lib mlt m Threads::Threads)
++set(mltgdk_def "")
++
++
++pkg_check_modules(GdkPixbuf IMPORTED_TARGET gdk-pixbuf-2.0 REQUIRED)
++if(TARGET PkgConfig::GdkPixbuf)
++    list(APPEND mltgdk_src producer_pixbuf.c pixops.c filter_rescale.c)
++    list(APPEND mltgdk_lib PkgConfig::GdkPixbuf)
++    list(APPEND mltgdk_def USE_PIXBUF)
++    message(STATUS "${mltgdk_lib}")
++else()
++    message(FATAL_ERROR "Failed to find gdk pixbuf")
++endif()
++
++pkg_check_modules(pango IMPORTED_TARGET pango)
++if(TARGET PkgConfig::pango)
++    pkg_check_modules(fontconfig IMPORTED_TARGET fontconfig)
++    if(TARGET PkgConfig::fontconfig)
++        list(APPEND mltgdk_src producer_pango.c)
++        list(APPEND mltgdk_lib PkgConfig::pango PkgConfig::fontconfig)
++        list(APPEND mltgdk_def USE_PANGO)
++    endif()
++endif()
++
++pkg_check_modules(libexif IMPORTED_TARGET libexif)
++if(TARGET PkgConfig::libexif)
++    list(APPEND mltgdk_lib PkgConfig::libexif)
++    list(APPEND mltgdk_def USE_EXIF)
++endif()
++# Only for MMX but not x86_64: deprecated
++# list(APPEND mltgdk_src have_mmx.S scale_line_22_yuv_mmx.S)
++add_library(mltgdk MODULE ${mltgdk_src})
++target_link_libraries(mltgdk ${mltgdk_lib})
++target_compile_definitions(mltgdk PRIVATE ${mltgdk_def})
++install(TARGETS mltgdk LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/mlt)
++file(GLOB yml *.yml)
++install(FILES ${yml}
++        DESTINATION ${CMAKE_INSTALL_DATADIR}/mlt/gdk)
+diff --git a/src/modules/gdk/Makefile b/src/modules/gdk/Makefile
+new file mode 100644
+index 000000000..2e3018976
+--- /dev/null
++++ b/src/modules/gdk/Makefile
+@@ -0,0 +1,74 @@
++include ../../../config.mak
++include config.mak
++
++CFLAGS := -I../.. $(CFLAGS)
++
++LDFLAGS := -L../../framework -lmlt -lpthread -lm $(LDFLAGS)
++
++TARGET = ../libmltgdk$(LIBSUF)
++
++OBJS = factory.o
++
++ifdef USE_PIXBUF
++OBJS += producer_pixbuf.o pixops.o filter_rescale.o
++CFLAGS += $(shell pkg-config $(PKGCONFIG_PREFIX) --cflags gdk-pixbuf-2.0)
++LDFLAGS += $(shell pkg-config $(PKGCONFIG_PREFIX) --libs gdk-pixbuf-2.0)
++endif
++
++ifdef USE_EXIF
++CFLAGS += $(EXIFCXXFLAGS) 
++LDFLAGS += $(EXIFLIBS)
++endif
++
++ifdef MMX_FLAGS
++ifndef ARCH_X86_64
++ASM_OBJS = have_mmx.o scale_line_22_yuv_mmx.o
++endif
++endif
++
++ifdef USE_PANGO
++OBJS += producer_pango.o
++CFLAGS += $(shell pkg-config $(PKGCONFIG_PREFIX) --cflags pangoft2)
++CFLAGS += $(shell pkg-config $(PKGCONFIG_PREFIX) --cflags-only-I freetype2 | awk '{for (i=1; i<=NF; i++) $$i=sprintf("%s/freetype", $$i); print}')
++LDFLAGS += $(shell pkg-config $(PKGCONFIG_PREFIX) --libs pangoft2)
++ifeq ($(targetos),Darwin)
++LDFLAGS += -liconv
++endif
++ifeq ($(targetos),FreeBSD)
++LDFLAGS += -liconv
++endif
++ifeq ($(targetos), MinGW)
++LDFLAGS += -liconv
++endif
++endif
++
++SRCS := $(OBJS:.o=.c)
++
++all: 	$(TARGET)
++
++$(TARGET): $(OBJS) $(ASM_OBJS)
++		$(CC) $(SHFLAGS) -o $@ $(OBJS) $(ASM_OBJS) $(LDFLAGS)
++
++have_mmx.o:
++	$(CC) -o $@ -c have_mmx.S
++
++scale_line_22_yuv_mmx.o: scale_line_22_yuv_mmx.S
++	$(CC) -o $@ -c scale_line_22_yuv_mmx.S
++
++depend:	$(SRCS)
++		$(CC) -MM $(CFLAGS) $^ 1>.depend
++
++distclean:	clean
++		rm -f .depend
++
++clean:	
++		rm -f $(OBJS) $(ASM_OBJS) $(TARGET)
++
++install: all
++	install -m 755 $(TARGET) "$(DESTDIR)$(moduledir)"
++	install -d "$(DESTDIR)$(mltdatadir)/gdk"
++	install -m 644 *.yml "$(DESTDIR)$(mltdatadir)/gdk"
++
++ifneq ($(wildcard .depend),)
++include .depend
++endif
+diff --git a/src/modules/gdk/configure b/src/modules/gdk/configure
+new file mode 100755
+index 000000000..07003b049
+--- /dev/null
++++ b/src/modules/gdk/configure
+@@ -0,0 +1,82 @@
++#!/bin/sh
++
++if [ "$help" = "1" ]
++then
++	cat << EOF
++GDK options:
++
++  --gdk-prefix=path      - Override the gdk prefix for pkg-config
++
++EOF
++
++else
++	pkgconfig_prefix=
++	for i in "$@"
++	do
++		case $i in
++			--gdk-prefix=* )	pkgconfig_prefix="${i#--gdk-prefix=}" ;;
++		esac
++	done
++	[ "$pkgconfig_prefix" != "" ] && pkgconfig_prefix="--define-variable=prefix=\"$pkgconfig_prefix\""
++
++	pkg-config $pkgconfig_prefix gdk-pixbuf-2.0 2> /dev/null
++	disable_pixbuf=$?
++
++	pkg-config $pkgconfig_prefix gdk-pixbuf-2.0 pangoft2 2> /dev/null
++	disable_pango=$?
++
++	if [ "$disable_pixbuf" != 0 -a "$disable_pango" != "0" ]
++	then
++		echo "- GDK components not found: disabling"
++		touch ../disable-gdk
++		exit 0
++	fi
++
++	echo > config.mak
++	
++	if [ "$disable_pixbuf" = "0" ]
++	then
++		echo "CFLAGS += -DUSE_PIXBUF" >> config.mak
++		echo "USE_PIXBUF=1" >> config.mak
++	else
++		echo "- pixbuf not found: pixbuf loader and rescaler disabled"
++	fi
++
++	if [ "$disable_pango" = "0" ]
++	then
++		echo "CFLAGS += -DUSE_PANGO" >> config.mak
++			echo "USE_PANGO=1" >> config.mak
++	else
++		echo "- pango not found: pango titler disabled"
++	fi
++
++	[ "$pkgconfig_prefix" != "" ] && echo "PKGCONFIG_PREFIX=$pkgconfig_prefix" >> config.mak
++
++	pkg-config --exists 'libexif'
++	if [ $? -eq 0 ]
++	then
++		echo "- Libexif found, enabling auto rotate"
++		echo "USE_EXIF=1" >> config.mak
++		echo EXIFCXXFLAGS=$(pkg-config --cflags libexif ) >> config.mak
++		echo EXIFCXXFLAGS += -DUSE_EXIF >> config.mak
++		echo EXIFLIBS=$(pkg-config --libs libexif) >> config.mak
++	elif [ -d "$exif_libdir" -a -d "$exif_includedir" ]
++	then
++		# test if we have a libexif
++		if [ -f "$exif_libdir/exif-data.h" ]
++		then
++			echo "- Libexif found, enabling auto rotate"
++			echo "USE_EXIF=1" >> config.mak
++			echo EXIFCXXFLAGS=-I$exif_includedir >> config.mak
++			echo EXIFCXXFLAGS += -DUSE_EXIF >> config.mak
++			echo EXIFLIBS=-L$exif_libdir lexif >> config.mak
++		else
++			echo "- Libexif not found, disabling exif features (auto rotate)"
++		fi
++	else
++		echo "- Libexif not found, disabling exif features (auto rotate)"
++	fi
++
++	exit 0
++fi
++
+diff --git a/src/modules/gdk/factory.c b/src/modules/gdk/factory.c
+new file mode 100644
+index 000000000..94b89466e
+--- /dev/null
++++ b/src/modules/gdk/factory.c
+@@ -0,0 +1,92 @@
++/*
++ * factory.c -- the factory method interfaces
++ * Copyright (C) 2003-2014 Meltytech, LLC
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2.1 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
++ */
++
++#include <string.h>
++#include <framework/mlt.h>
++#include <stdlib.h>
++
++#ifdef USE_PIXBUF
++extern mlt_producer producer_pixbuf_init( char *filename );
++extern mlt_filter filter_rescale_init( mlt_profile profile, char *arg );
++#endif
++
++#ifdef USE_PANGO
++extern mlt_producer producer_pango_init( const char *filename );
++#endif
++
++static void initialise( )
++{
++	static int init = 0;
++	if ( init == 0 )
++	{
++		init = 1;
++		if ( getenv("MLT_PIXBUF_PRODUCER_CACHE") )
++		{
++			int n = atoi( getenv("MLT_PIXBUF_PRODUCER_CACHE" )  );
++			mlt_service_cache_set_size( NULL, "pixbuf.image", n );
++			mlt_service_cache_set_size( NULL, "pixbuf.alpha", n );
++			mlt_service_cache_set_size( NULL, "pixbuf.pixbuf", n );
++		}
++		if ( getenv("MLT_PANGO_PRODUCER_CACHE") )
++		{
++			int n = atoi( getenv("MLT_PANGO_PRODUCER_CACHE" )  );
++			mlt_service_cache_set_size( NULL, "pango.image", n );
++		}
++	}
++}
++
++void *create_service( mlt_profile profile, mlt_service_type type, const char *id, char *arg )
++{
++	initialise( );
++
++#ifdef USE_PIXBUF
++	if ( !strcmp( id, "pixbuf" ) )
++		return producer_pixbuf_init( arg );
++#endif
++
++#ifdef USE_PANGO
++	if ( !strcmp( id, "pango" ) )
++		return producer_pango_init( arg );
++#endif
++
++#ifdef USE_PIXBUF
++	if ( !strcmp( id, "gtkrescale" ) )
++		return filter_rescale_init( profile, arg );
++#endif
++
++	return NULL;
++}
++
++static mlt_properties metadata( mlt_service_type type, const char *id, void *data )
++{
++	char file[ PATH_MAX ];
++	snprintf( file, PATH_MAX, "%s/gtk2/%s", mlt_environment( "MLT_DATA" ), (char*) data );
++	return mlt_properties_parse_yaml( file );
++}
++
++MLT_REPOSITORY
++{
++	MLT_REGISTER( filter_type, "gtkrescale", create_service );
++	MLT_REGISTER( producer_type, "pango", create_service );
++	MLT_REGISTER( producer_type, "pixbuf", create_service );
++
++	MLT_REGISTER_METADATA( filter_type, "gtkrescale", metadata, "filter_rescale.yml" );
++	MLT_REGISTER_METADATA( producer_type, "pango", metadata, "producer_pango.yml" );
++	MLT_REGISTER_METADATA( producer_type, "pixbuf", metadata, "producer_pixbuf.yml" );
++}
+diff --git a/src/modules/gtk2/filter_rescale.c b/src/modules/gdk/filter_rescale.c
+similarity index 100%
+rename from src/modules/gtk2/filter_rescale.c
+rename to src/modules/gdk/filter_rescale.c
+diff --git a/src/modules/gtk2/filter_rescale.yml b/src/modules/gdk/filter_rescale.yml
+similarity index 100%
+rename from src/modules/gtk2/filter_rescale.yml
+rename to src/modules/gdk/filter_rescale.yml
+diff --git a/src/modules/gtk2/have_mmx.S b/src/modules/gdk/have_mmx.S
+similarity index 100%
+rename from src/modules/gtk2/have_mmx.S
+rename to src/modules/gdk/have_mmx.S
+diff --git a/src/modules/gtk2/pixops.c b/src/modules/gdk/pixops.c
+similarity index 100%
+rename from src/modules/gtk2/pixops.c
+rename to src/modules/gdk/pixops.c
+diff --git a/src/modules/gtk2/pixops.h b/src/modules/gdk/pixops.h
+similarity index 100%
+rename from src/modules/gtk2/pixops.h
+rename to src/modules/gdk/pixops.h
+diff --git a/src/modules/gtk2/producer_pango.c b/src/modules/gdk/producer_pango.c
+similarity index 99%
+rename from src/modules/gtk2/producer_pango.c
+rename to src/modules/gdk/producer_pango.c
+index b3e11b942..ead6e9123 100644
+--- a/src/modules/gtk2/producer_pango.c
++++ b/src/modules/gdk/producer_pango.c
+@@ -172,7 +172,6 @@ mlt_producer producer_pango_init( const char *filename )
+ 		pthread_mutex_lock( &pango_mutex );
+ 		if ( fontmap == NULL )
+ 			fontmap = (PangoFT2FontMap*) pango_ft2_font_map_new();
+-		g_type_init();
+ 		pthread_mutex_unlock( &pango_mutex );
+ 
+ 		producer->get_frame = producer_get_frame;
+diff --git a/src/modules/gtk2/producer_pango.yml b/src/modules/gdk/producer_pango.yml
+similarity index 100%
+rename from src/modules/gtk2/producer_pango.yml
+rename to src/modules/gdk/producer_pango.yml
+diff --git a/src/modules/gtk2/producer_pixbuf.c b/src/modules/gdk/producer_pixbuf.c
+similarity index 100%
+rename from src/modules/gtk2/producer_pixbuf.c
+rename to src/modules/gdk/producer_pixbuf.c
+diff --git a/src/modules/gtk2/producer_pixbuf.yml b/src/modules/gdk/producer_pixbuf.yml
+similarity index 100%
+rename from src/modules/gtk2/producer_pixbuf.yml
+rename to src/modules/gdk/producer_pixbuf.yml
+diff --git a/src/modules/gtk2/scale_line_22_yuv_mmx.S b/src/modules/gdk/scale_line_22_yuv_mmx.S
+similarity index 100%
+rename from src/modules/gtk2/scale_line_22_yuv_mmx.S
+rename to src/modules/gdk/scale_line_22_yuv_mmx.S
+diff --git a/src/modules/gtk2/deprecated b/src/modules/gtk2/deprecated
+new file mode 100644
+index 000000000..e69de29bb

diff --git a/media-libs/mlt/mlt-6.20.0-r2.ebuild b/media-libs/mlt/mlt-6.20.0-r2.ebuild
index f6a1c848d4c..d12698082a8 100644
--- a/media-libs/mlt/mlt-6.20.0-r2.ebuild
+++ b/media-libs/mlt/mlt-6.20.0-r2.ebuild
@@ -40,7 +40,6 @@ DEPEND="
 	frei0r? ( media-plugins/frei0r-plugins )
 	gtk? (
 		media-libs/libexif
-		x11-libs/gtk+:2
 		x11-libs/pango
 	)
 	jack? (
@@ -86,6 +85,7 @@ DOCS=( AUTHORS ChangeLog NEWS README docs/{framework,melt,mlt{++,-xml}}.txt )
 PATCHES=(
 	"${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
 	"${FILESDIR}"/${P}-qt-5.15.patch
+	"${FILESDIR}"/${P}-no-gtk2.patch
 )
 
 pkg_setup() {
@@ -111,6 +111,7 @@ src_configure() {
 		--enable-gpl3
 		--enable-motion-est
 		--target-arch=$(tc-arch)
+		--disable-gtk2
 		--disable-kde
 		--disable-sdl
 		--disable-swfdec
@@ -120,7 +121,7 @@ src_configure() {
 		$(use_enable ffmpeg avformat)
 		$(use_enable fftw plus)
 		$(use_enable frei0r)
-		$(use_enable gtk gtk2)
+		$(use_enable gtk gdk)
 		$(use_enable jack jackrack)
 		$(use_enable kdenlive)
 		$(use_enable libsamplerate resample)


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2020-10-05 11:22 Andreas Sturmlechner
  0 siblings, 0 replies; 22+ messages in thread
From: Andreas Sturmlechner @ 2020-10-05 11:22 UTC (permalink / raw
  To: gentoo-commits

commit:     9ee1bd73f11a8835af749dd130ce362f77fc6d75
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  5 11:01:52 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Oct  5 11:05:17 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ee1bd73

media-libs/mlt: Fix regression in 6.22 with multiple affine filters

Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...-fix-regression-w-multiple-affine-filters.patch |  23 +++
 media-libs/mlt/mlt-6.22.1-r1.ebuild                | 201 +++++++++++++++++++++
 2 files changed, 224 insertions(+)

diff --git a/media-libs/mlt/files/mlt-6.22.1-fix-regression-w-multiple-affine-filters.patch b/media-libs/mlt/files/mlt-6.22.1-fix-regression-w-multiple-affine-filters.patch
new file mode 100644
index 00000000000..d60976c1185
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.22.1-fix-regression-w-multiple-affine-filters.patch
@@ -0,0 +1,23 @@
+From 8b778aaee121c6b381bd570c2b6f526989866f8e Mon Sep 17 00:00:00 2001
+From: Dan Dennedy <dan@dennedy.org>
+Date: Fri, 11 Sep 2020 21:24:24 -0700
+Subject: [PATCH] fix regression in 2c354d6e with multiple affine filters
+
+See #9 in https://forum.shotcut.org/t/v20-09-beta-is-now-available-to-
+test/20766/31
+---
+ src/modules/plus/transition_affine.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/modules/plus/transition_affine.c b/src/modules/plus/transition_affine.c
+index 63bbaa1df..b1147c8c6 100644
+--- a/src/modules/plus/transition_affine.c
++++ b/src/modules/plus/transition_affine.c
+@@ -564,6 +564,7 @@ static int transition_get_image( mlt_frame a_frame, uint8_t **image, mlt_image_f
+ 		b_height = result.h;
+ 		// Set the rescale interpolation to match the frame
+ 		mlt_properties_set( b_props, "rescale.interp", mlt_properties_get( a_props, "rescale.interp" ) );
++		mlt_properties_set_int( b_props, "distort", 1 );
+ 	} else if (scale_width != 1.0 || scale_height != 1.0) {
+ 		// Scale request of b frame image to consumer scale maintaining its aspect ratio.
+ 		b_height = *height;

diff --git a/media-libs/mlt/mlt-6.22.1-r1.ebuild b/media-libs/mlt/mlt-6.22.1-r1.ebuild
new file mode 100644
index 00000000000..a4919469eaa
--- /dev/null
+++ b/media-libs/mlt/mlt-6.22.1-r1.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9} )
+inherit python-single-r1 qmake-utils toolchain-funcs
+
+DESCRIPTION="Open source multimedia framework for television broadcasting"
+HOMEPAGE="https://www.mltframework.org/"
+SRC_URI="https://github.com/mltframework/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="compressed-lumas cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 debug ffmpeg
+fftw frei0r gtk jack kdenlive kernel_linux libsamplerate lua melt opencv opengl python
+qt5 rtaudio sdl vdpau vidstab xine xml"
+# java perl php tcl
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+SWIG_DEPEND=">=dev-lang/swig-2.0"
+#	java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 )
+#	perl? ( ${SWIG_DEPEND} )
+#	php? ( ${SWIG_DEPEND} )
+#	tcl? ( ${SWIG_DEPEND} )
+#	ruby? ( ${SWIG_DEPEND} )
+BDEPEND="
+	virtual/pkgconfig
+	compressed-lumas? ( virtual/imagemagick-tools[png] )
+	lua? ( ${SWIG_DEPEND} virtual/pkgconfig )
+	python? ( ${SWIG_DEPEND} )
+"
+#rtaudio will use OSS on non linux OSes
+DEPEND="
+	>=media-libs/libebur128-1.2.2:=
+	ffmpeg? ( media-video/ffmpeg:0=[vdpau?,-flite] )
+	fftw? ( sci-libs/fftw:3.0= )
+	frei0r? ( media-plugins/frei0r-plugins )
+	gtk? (
+		media-libs/libexif
+		x11-libs/pango
+	)
+	jack? (
+		>=dev-libs/libxml2-2.5
+		media-libs/ladspa-sdk
+		virtual/jack
+	)
+	libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
+	lua? ( >=dev-lang/lua-5.1.4-r4:= )
+	opencv? ( >=media-libs/opencv-3.2.0:= )
+	opengl? ( media-video/movit )
+	python? ( ${PYTHON_DEPS} )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtsvg:5
+		dev-qt/qtwidgets:5
+		dev-qt/qtxml:5
+		media-libs/libexif
+		x11-libs/libX11
+	)
+	rtaudio? (
+		>=media-libs/rtaudio-4.1.2
+		kernel_linux? ( media-libs/alsa-lib )
+	)
+	sdl? (
+		media-libs/libsdl2[X,opengl,video]
+		media-libs/sdl2-image
+	)
+	vidstab? ( media-libs/vidstab )
+	xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
+	xml? ( >=dev-libs/libxml2-2.5 )"
+#	java? ( >=virtual/jre-1.5 )
+#	perl? ( dev-lang/perl )
+#	php? ( dev-lang/php )
+#	ruby? ( ${RUBY_DEPS} )
+#	sox? ( media-sound/sox )
+#	tcl? ( dev-lang/tcl:0= )
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS NEWS README docs/{framework,melt,mlt{++,-xml}}.txt )
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
+	"${FILESDIR}"/${P}-fix-regression-w-multiple-affine-filters.patch
+)
+
+pkg_setup() {
+	use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	default
+
+	# respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
+	for x in python lua; do
+		sed -i "/mlt.so/s/ -lmlt++ /& ${CFLAGS} ${LDFLAGS} /" src/swig/$x/build || die
+	done
+
+	use python && python_fix_shebang src/swig/python
+}
+
+src_configure() {
+	tc-export CC CXX
+
+	local myconf=(
+		--enable-gpl
+		--enable-gpl3
+		--enable-motion-est
+		--target-arch=$(tc-arch)
+		--disable-gtk2
+		--disable-kde
+		--disable-sdl
+		--disable-swfdec
+		$(use_enable debug)
+		$(use_enable cpu_flags_x86_sse sse)
+		$(use_enable cpu_flags_x86_sse2 sse2)
+		$(use_enable ffmpeg avformat)
+		$(use_enable fftw plus)
+		$(use_enable frei0r)
+		$(use_enable gtk gdk)
+		$(use_enable jack jackrack)
+		$(use_enable kdenlive)
+		$(use_enable libsamplerate resample)
+		$(use_enable melt)
+		$(use_enable opencv)
+		$(use_enable opengl)
+		$(use_enable qt5 qt)
+		$(use_enable rtaudio)
+		$(use_enable sdl sdl2)
+		$(use_enable vidstab vid.stab )
+		$(use_enable xine)
+		$(use_enable xml)
+		--disable-sox
+	)
+		#$(use_enable sox) FIXME
+
+	use compressed-lumas && myconf+=( --luma-compress )
+	use ffmpeg && myconf+=( --avformat-swscale )
+	use vdpau && myconf+=( --avformat-vdpau )
+
+	if use qt5 ; then
+		myconf+=(
+			--qt-includedir=$(qt5_get_headerdir)
+			--qt-libdir=$(qt5_get_libdir)
+		)
+	fi
+
+	if use amd64 || use x86 ; then
+		myconf+=( $(use_enable cpu_flags_x86_mmx mmx) )
+	else
+		myconf+=( --disable-mmx )
+	fi
+
+	if ! use melt ; then
+		sed -i -e "s;src/melt;;" Makefile || die
+	fi
+
+	# TODO: add swig language bindings
+	# see also https://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
+
+	local swig_lang=()
+	# not done: java perl php ruby tcl
+	for i in lua python ; do
+		use $i && swig_lang+=( $i )
+	done
+	[[ -z "${swig_lang}" ]] && swig_lang=( none )
+
+	econf "${myconf[@]}" --swig-languages="${swig_lang[*]}"
+
+	sed -i -e s/^OPT/#OPT/ config.mak || die
+}
+
+src_install() {
+	default
+
+	insinto /usr/share/${PN}
+	doins -r demo
+
+	docinto swig
+
+	# Install SWIG bindings
+	if use lua; then
+		cd "${S}"/src/swig/lua || die
+		exeinto $(pkg-config --variable INSTALL_CMOD lua)
+		doexe mlt.so
+		dodoc play.lua
+	fi
+
+	if use python; then
+		cd "${S}"/src/swig/python || die
+		python_domodule mlt.py _mlt.so
+		chmod +x "${D}$(python_get_sitedir)/_mlt.so" || die
+		dodoc play.py
+		python_optimize
+	fi
+
+	# not done: java perl php ruby tcl
+}


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2021-04-24 21:40 Andreas Sturmlechner
  0 siblings, 0 replies; 22+ messages in thread
From: Andreas Sturmlechner @ 2021-04-24 21:40 UTC (permalink / raw
  To: gentoo-commits

commit:     b71ef8102b95d349d8f57c8cf392483deac449c5
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 24 21:39:33 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Apr 24 21:40:12 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b71ef810

media-libs/mlt: Fix ogg crash, set min media-libs/opencv to 4.5.1

Closes: https://bugs.gentoo.org/783030
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../mlt-6.26.1-fix-crash-w-ogg-album-art.patch     |  50 +++++
 media-libs/mlt/mlt-6.26.1-r1.ebuild                | 232 +++++++++++++++++++++
 2 files changed, 282 insertions(+)

diff --git a/media-libs/mlt/files/mlt-6.26.1-fix-crash-w-ogg-album-art.patch b/media-libs/mlt/files/mlt-6.26.1-fix-crash-w-ogg-album-art.patch
new file mode 100644
index 00000000000..4ad7ff5de41
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.26.1-fix-crash-w-ogg-album-art.patch
@@ -0,0 +1,50 @@
+From 7063e88e09977282470c4f2f93e56e05f21b7c2b Mon Sep 17 00:00:00 2001
+From: Dan Dennedy <dan@dennedy.org>
+Date: Fri, 16 Apr 2021 11:15:37 -0700
+Subject: [PATCH] fix #704 by properly identifying cover art
+
+(cherry picked from commit 6b0829df726aa9a840b8b34e923e9faf17a3a5ca)
+---
+ src/modules/avformat/producer_avformat.c | 15 ++++-----------
+ 1 file changed, 4 insertions(+), 11 deletions(-)
+
+diff --git a/src/modules/avformat/producer_avformat.c b/src/modules/avformat/producer_avformat.c
+index 049452f9d..e079e6f70 100644
+--- a/src/modules/avformat/producer_avformat.c
++++ b/src/modules/avformat/producer_avformat.c
+@@ -398,10 +398,7 @@ static mlt_properties find_default_streams( producer_avformat self )
+ 				if ( first_video_index < 0 )
+ 					first_video_index = i;
+ 				// Only set the video stream if not album art
+-				if (self->video_index < 0 &&
+-						(codec_params->codec_id != AV_CODEC_ID_MJPEG ||
+-						 codec_context->time_base.num != 1 ||
+-						 codec_context->time_base.den != 90000)) {
++				if (self->video_index < 0 && !(context->streams[i]->disposition & AV_DISPOSITION_ATTACHED_PIC)) {
+ 					self->video_index = i;
+ 				}
+ 				mlt_properties_set( meta_media, key, "video" );
+@@ -1682,11 +1679,7 @@ static int producer_get_image( mlt_frame frame, uint8_t **buffer, mlt_image_form
+ 	codec_params = stream->codecpar;
+ 
+ 	// Always use the image cache for album art.
+-	int is_album_art = ((codec_context->codec_id == AV_CODEC_ID_MJPEG
+-		|| codec_context->codec_id == AV_CODEC_ID_GIF
+-		|| codec_context->codec_id == AV_CODEC_ID_PNG)
+-		&& mlt_properties_get_int(properties, "meta.media.frame_rate_num") == 90000
+-		&& mlt_properties_get_int(properties, "meta.media.frame_rate_den") == 1);
++	int is_album_art = stream->disposition & AV_DISPOSITION_ATTACHED_PIC;
+ 	if (is_album_art)
+ 		position = 0;
+ 
+@@ -2296,8 +2289,8 @@ static int video_codec_init( producer_avformat self, int index, mlt_properties p
+ 		mlt_properties_set_int( properties, "meta.media.frame_rate_num", frame_rate.num );
+ 		mlt_properties_set_int( properties, "meta.media.frame_rate_den", frame_rate.den );
+ 
+-		// MP3 album art is a single JPEG at 90000 fps, which is not seekable.
+-		if ( codec->id == AV_CODEC_ID_MJPEG && frame_rate.num == 90000 && frame_rate.den == 1 )
++		// Cover art is a single image at 90000 fps, which is not seekable.
++		if (stream->disposition & AV_DISPOSITION_ATTACHED_PIC)
+ 			self->video_seekable = 0;
+ 
+ 		// Set the YUV colorspace from override or detect

diff --git a/media-libs/mlt/mlt-6.26.1-r1.ebuild b/media-libs/mlt/mlt-6.26.1-r1.ebuild
new file mode 100644
index 00000000000..b04aa302aa9
--- /dev/null
+++ b/media-libs/mlt/mlt-6.26.1-r1.ebuild
@@ -0,0 +1,232 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+PYTHON_COMPAT=( python3_{7,8,9} )
+inherit lua python-single-r1 qmake-utils toolchain-funcs
+
+DESCRIPTION="Open source multimedia framework for television broadcasting"
+HOMEPAGE="https://www.mltframework.org/"
+SRC_URI="https://github.com/mltframework/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="compressed-lumas cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 debug
+ffmpeg fftw frei0r gtk jack kernel_linux libsamplerate lua opencv opengl python
+qt5 rtaudio rubberband sdl vdpau vidstab xine xml"
+# java perl php tcl
+
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )
+	python? ( ${PYTHON_REQUIRED_USE} )"
+
+SWIG_DEPEND=">=dev-lang/swig-2.0"
+#	java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 )
+#	perl? ( ${SWIG_DEPEND} )
+#	php? ( ${SWIG_DEPEND} )
+#	tcl? ( ${SWIG_DEPEND} )
+#	ruby? ( ${SWIG_DEPEND} )
+BDEPEND="
+	virtual/pkgconfig
+	compressed-lumas? ( virtual/imagemagick-tools[png] )
+	lua? ( ${SWIG_DEPEND} virtual/pkgconfig )
+	python? ( ${SWIG_DEPEND} )
+"
+#rtaudio will use OSS on non linux OSes
+DEPEND="
+	>=media-libs/libebur128-1.2.2:=
+	ffmpeg? ( media-video/ffmpeg:0=[vdpau?,-flite] )
+	fftw? ( sci-libs/fftw:3.0= )
+	frei0r? ( media-plugins/frei0r-plugins )
+	gtk? (
+		media-libs/libexif
+		x11-libs/pango
+	)
+	jack? (
+		>=dev-libs/libxml2-2.5
+		media-libs/ladspa-sdk
+		virtual/jack
+	)
+	libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
+	lua? ( ${LUA_DEPS} )
+	opencv? ( >=media-libs/opencv-4.5.1:= )
+	opengl? ( media-video/movit )
+	python? ( ${PYTHON_DEPS} )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtsvg:5
+		dev-qt/qtwidgets:5
+		dev-qt/qtxml:5
+		media-libs/libexif
+		x11-libs/libX11
+	)
+	rtaudio? (
+		>=media-libs/rtaudio-4.1.2
+		kernel_linux? ( media-libs/alsa-lib )
+	)
+	rubberband? ( media-libs/rubberband )
+	sdl? (
+		media-libs/libsdl2[X,opengl,video]
+		media-libs/sdl2-image
+	)
+	vidstab? ( media-libs/vidstab )
+	xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
+	xml? ( >=dev-libs/libxml2-2.5 )"
+#	java? ( >=virtual/jre-1.5 )
+#	perl? ( dev-lang/perl )
+#	php? ( dev-lang/php )
+#	ruby? ( ${RUBY_DEPS} )
+#	sox? ( media-sound/sox )
+#	tcl? ( dev-lang/tcl:0= )
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS NEWS README docs/{framework,melt,mlt{++,-xml}}.txt )
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
+	"${FILESDIR}"/${PN}-6.22.1-no_lua_bdepend.patch
+	"${FILESDIR}"/${P}-fix-crash-w-ogg-album-art.patch # git master
+)
+
+pkg_setup() {
+	use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	default
+
+	# respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
+	for x in python lua; do
+		sed -i "/mlt.so/s/ -lmlt++ /& ${CFLAGS} ${LDFLAGS} /" src/swig/$x/build || die
+	done
+
+	use python && python_fix_shebang src/swig/python
+}
+
+src_configure() {
+	tc-export CC CXX
+
+	local myconf=(
+		--enable-gpl
+		--enable-gpl3
+		--enable-kdenlive
+		--enable-melt
+		--enable-motion-est
+		--target-arch=$(tc-arch)
+		--disable-gtk2
+		--disable-kde
+		--disable-sdl
+		--disable-swfdec
+		$(use_enable debug)
+		$(use_enable cpu_flags_x86_sse sse)
+		$(use_enable cpu_flags_x86_sse2 sse2)
+		$(use_enable ffmpeg avformat)
+		$(use_enable fftw plus)
+		$(use_enable frei0r)
+		$(use_enable gtk gdk)
+		$(use_enable jack jackrack)
+		$(use_enable libsamplerate resample)
+		$(use_enable opencv)
+		$(use_enable opengl)
+		$(use_enable qt5 qt)
+		$(use_enable rtaudio)
+		$(use_enable rubberband)
+		$(use_enable sdl sdl2)
+		$(use_enable vidstab vid.stab)
+		$(use_enable xine)
+		$(use_enable xml)
+		--disable-sox
+	)
+		#$(use_enable sox) FIXME
+
+	use compressed-lumas && myconf+=( --luma-compress )
+	use ffmpeg && myconf+=( --avformat-swscale )
+	use vdpau && myconf+=( --avformat-vdpau )
+
+	if use qt5 ; then
+		myconf+=(
+			--qt-includedir=$(qt5_get_headerdir)
+			--qt-libdir=$(qt5_get_libdir)
+		)
+	fi
+
+	if use amd64 || use x86 ; then
+		myconf+=( $(use_enable cpu_flags_x86_mmx mmx) )
+	else
+		myconf+=( --disable-mmx )
+	fi
+
+	# TODO: add swig language bindings
+	# see also https://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
+
+	local swig_lang=()
+	# not done: java perl php ruby tcl
+	# handled separately: lua
+	for i in python; do
+		use $i && swig_lang+=( $i )
+	done
+	[[ -z "${swig_lang}" ]] && swig_lang=( none )
+
+	econf "${myconf[@]}" --swig-languages="${swig_lang[*]}"
+
+	sed -i -e s/^OPT/#OPT/ config.mak || die
+}
+
+src_compile() {
+	default
+
+	if use lua; then
+		# Only copy sources now to avoid unnecessary rebuilds
+		lua_copy_sources
+
+		lua_compile() {
+			pushd "${BUILD_DIR}"/src/swig/lua > /dev/null || die
+
+			sed -i -e "s| mlt_wrap.cxx| $(lua_get_CFLAGS) mlt_wrap.cxx|" build || die
+			./build
+
+			popd > /dev/null || die
+		}
+		lua_foreach_impl lua_compile
+	fi
+}
+
+src_install() {
+	default
+
+	insinto /usr/share/${PN}
+	doins -r demo
+
+	#
+	# Install SWIG bindings
+	#
+
+	docinto swig
+
+	if use lua; then
+		lua_install() {
+			pushd "${BUILD_DIR}"/src/swig/lua > /dev/null || die
+
+			exeinto "$(lua_get_cmod_dir)"
+			doexe mlt.so
+
+			popd > /dev/null || die
+		}
+		lua_foreach_impl lua_install
+
+		dodoc "${S}"/src/swig/lua/play.lua
+	fi
+
+	if use python; then
+		cd "${S}"/src/swig/python || die
+		python_domodule mlt.py _mlt.so
+		chmod +x "${D}$(python_get_sitedir)/_mlt.so" || die
+		dodoc play.py
+		python_optimize
+	fi
+
+	# not done: java perl php ruby tcl
+}


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2021-08-05  1:48 Sam James
  0 siblings, 0 replies; 22+ messages in thread
From: Sam James @ 2021-08-05  1:48 UTC (permalink / raw
  To: gentoo-commits

commit:     b87e752f3025f4010a3b52f74297cbc063316479
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 22 05:14:32 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug  5 01:47:44 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b87e752f

media-libs/mlt: add 7.0.1

Closes: https://bugs.gentoo.org/796557
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/mlt/Manifest                            |   1 +
 media-libs/mlt/files/mlt-7.0.1-cmake-symlink.patch |  14 ++
 media-libs/mlt/mlt-7.0.1.ebuild                    | 209 +++++++++++++++++++++
 3 files changed, 224 insertions(+)

diff --git a/media-libs/mlt/Manifest b/media-libs/mlt/Manifest
index bf479f47427..25022518c89 100644
--- a/media-libs/mlt/Manifest
+++ b/media-libs/mlt/Manifest
@@ -1 +1,2 @@
 DIST mlt-6.26.1.tar.gz 1366022 BLAKE2B f5b7e733090ae60cb55556893775ab4a68847705e215b85c90d901d72022f5b57c08122cd8c08c1ba51b71eedc5341adaaad2ad002af76724a2d2cf6a7379974 SHA512 6a3ef572cddee48c3089b19b2920de84936aa913a3f35b6f06e4bece2dc7a5a168daecfbaa8111c799b5316f967c37b09d485c000a4eba69af4f7ee3dc8db9e4
+DIST mlt-7.0.1.tar.gz 1181298 BLAKE2B 90547ebeeb90b5ab20ec39e3fa97454e9c502af08981f20e433deafc5bbbb45caeea485c18b4229821fcdcef2ed7767e8936af273200a233f18251fa8bc73dd0 SHA512 9268889f0fbe69180651a592ac0b328d18f8b60c7d83f9d6c506dc21254afcb2281662f4d19faf3520976ae100600d00cd6eb2aa42c83880fa4c4c36e760c68a

diff --git a/media-libs/mlt/files/mlt-7.0.1-cmake-symlink.patch b/media-libs/mlt/files/mlt-7.0.1-cmake-symlink.patch
new file mode 100644
index 00000000000..c36e0c20ab5
--- /dev/null
+++ b/media-libs/mlt/files/mlt-7.0.1-cmake-symlink.patch
@@ -0,0 +1,14 @@
+Fully respect DESTDIR.
+
+https://bugs.gentoo.org/796557#c1
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -436,7 +436,7 @@
+ if(UNIX AND NOT APPLE)
+   install(FILES docs/melt.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 RENAME melt-${MLT_VERSION_MAJOR}.1)
+   install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink melt-${MLT_VERSION_MAJOR}.1 melt.1 \
+-                                WORKING_DIRECTORY ${CMAKE_INSTALL_FULL_MANDIR}/man1)"
++                                WORKING_DIRECTORY \$ENV\{DESTDIR\}${CMAKE_INSTALL_FULL_MANDIR}/man1)"
+   )
+ endif()
+ 

diff --git a/media-libs/mlt/mlt-7.0.1.ebuild b/media-libs/mlt/mlt-7.0.1.ebuild
new file mode 100644
index 00000000000..eade05410aa
--- /dev/null
+++ b/media-libs/mlt/mlt-7.0.1.ebuild
@@ -0,0 +1,209 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+PYTHON_COMPAT=( python3_{8,9,10} )
+inherit lua python-single-r1 cmake toolchain-funcs
+
+DESCRIPTION="Open source multimedia framework for television broadcasting"
+HOMEPAGE="https://www.mltframework.org/"
+SRC_URI="https://github.com/mltframework/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/7"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug ffmpeg frei0r gtk jack kernel_linux libsamplerate lua opencv opengl python qt5 rtaudio rubberband sdl test vdpau vidstab xine xml"
+# TODO: swig bindings for java perl php tcl
+
+# Needs unpackaged 'kwalify'
+RESTRICT="test"
+
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )
+	python? ( ${PYTHON_REQUIRED_USE} )"
+
+SWIG_DEPEND=">=dev-lang/swig-2.0"
+#	java? ( ${SWIG_DEPEND} >=virtual/jdk-1.5 )
+#	perl? ( ${SWIG_DEPEND} )
+#	php? ( ${SWIG_DEPEND} )
+#	tcl? ( ${SWIG_DEPEND} )
+#	ruby? ( ${SWIG_DEPEND} )
+BDEPEND="
+	virtual/pkgconfig
+	lua? ( ${SWIG_DEPEND} virtual/pkgconfig )
+	python? ( ${SWIG_DEPEND} )
+"
+# rtaudio will use OSS on non linux OSes
+DEPEND="
+	>=media-libs/libebur128-1.2.2:=
+	ffmpeg? ( media-video/ffmpeg:0=[vdpau?,-flite] )
+	frei0r? ( media-plugins/frei0r-plugins )
+	gtk? (
+		media-libs/libexif
+		x11-libs/pango
+	)
+	jack? (
+		>=dev-libs/libxml2-2.5
+		media-libs/ladspa-sdk
+		virtual/jack
+	)
+	libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
+	lua? ( ${LUA_DEPS} )
+	opencv? ( >=media-libs/opencv-4.5.1:= )
+	opengl? ( media-video/movit )
+	python? ( ${PYTHON_DEPS} )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtsvg:5
+		dev-qt/qtwidgets:5
+		dev-qt/qtxml:5
+		media-libs/libexif
+		sci-libs/fftw:3.0=
+		x11-libs/libX11
+	)
+	rtaudio? (
+		>=media-libs/rtaudio-4.1.2
+		kernel_linux? ( media-libs/alsa-lib )
+	)
+	rubberband? ( media-libs/rubberband )
+	sdl? (
+		media-libs/libsdl2[X,opengl,video]
+		media-libs/sdl2-image
+	)
+	vidstab? ( media-libs/vidstab )
+	xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
+	xml? ( >=dev-libs/libxml2-2.5 )"
+#	java? ( >=virtual/jre-1.5 )
+#	perl? ( dev-lang/perl )
+#	php? ( dev-lang/php )
+#	ruby? ( ${RUBY_DEPS} )
+#	sox? ( media-sound/sox )
+#	tcl? ( dev-lang/tcl:0= )
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS NEWS README.md )
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
+	"${FILESDIR}"/${PN}-6.22.1-no_lua_bdepend.patch
+	"${FILESDIR}"/${PN}-7.0.1-cmake-symlink.patch
+)
+
+pkg_setup() {
+	use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	# respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
+	local x
+	for x in python lua; do
+		sed -i "/mlt.so/s/ -lmlt++ /& ${CFLAGS} ${LDFLAGS} /" src/swig/${x}/build || die
+	done
+
+	use python && python_fix_shebang src/swig/python
+
+	cmake_src_prepare
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DCMAKE_SKIP_RPATH=ON
+		-DGPL=ON
+		-DGPL3=ON
+		-DBUILD_TESTING=$(usex test)
+		-DMOD_KDENLIVE=ON
+		-DMOD_SDL1=OFF
+		-DMOD_SDL2=$(usex sdl)
+		-DMOD_AVFORMAT=$(usex ffmpeg)
+		# TODO: does anything need plus?
+		# plus or qt
+		#$(use_enable fftw plus)
+		-DMOD_FREI0R=$(usex frei0r)
+		-DMOD_GDK=$(usex gtk)
+		-DMOD_JACKRACK=$(usex jack)
+		-DMOD_RESAMPLE=$(usex libsamplerate)
+		-DMOD_OPENCV=$(usex opencv)
+		-DMOD_MOVIT=$(usex opengl)
+		-DMOD_QT=$(usex qt5)
+		-DMOD_RTAUDIO=$(usex rtaudio)
+		-DMOD_RUBBERBAND=$(usex rubberband)
+		-DMOD_VIDSTAB=$(usex vidstab)
+		-DMOD_XINE=$(usex xine)
+		-DMOD_XML=$(usex xml)
+		-DMOD_SOX=OFF
+	)
+
+	# TODO: We currently have USE=fftw but both Qt and plus require it, removing flag for now.
+	# TODO: rework upstream CMake to allow controlling MMX/SSE/SSE2
+	# TODO: add swig language bindings
+	# see also https://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
+
+	local swig_lang=()
+	# Not done: java perl php ruby tcl
+	# Handled separately: lua
+	for i in python; do
+		use ${i} && mycmakeargs+=( -DSWIG_${i}=ON )
+	done
+
+	cmake_src_configure
+}
+
+src_compile() {
+	cmake_src_compile
+
+	if use lua; then
+		# Only copy sources now to avoid unnecessary rebuilds
+		lua_copy_sources
+
+		lua_compile() {
+			pushd "${BUILD_DIR}"/src/swig/lua > /dev/null || die
+
+			sed -i -e "s| mlt_wrap.cxx| $(lua_get_CFLAGS) mlt_wrap.cxx|" build || die
+			./build || die
+
+			popd > /dev/null || die
+		}
+		lua_foreach_impl lua_compile
+	fi
+}
+
+src_install() {
+	cmake_src_install
+
+	insinto /usr/share/${PN}
+	doins -r demo
+
+	#
+	# Install SWIG bindings
+	#
+
+	docinto swig
+
+	if use lua; then
+		lua_install() {
+			pushd "${BUILD_DIR}"/src/swig/lua > /dev/null || die
+
+			exeinto "$(lua_get_cmod_dir)"
+			doexe mlt.so
+
+			popd > /dev/null || die
+		}
+		lua_foreach_impl lua_install
+
+		dodoc "${S}"/src/swig/lua/play.lua
+	fi
+
+	if use python; then
+		cd "${S}"/src/swig/python || die
+
+		python_domodule mlt.py _mlt.so
+		chmod +x "${D}$(python_get_sitedir)/_mlt.so" || die
+		dodoc play.py
+
+		python_optimize
+	fi
+
+	# Not done: java perl php ruby tcl
+}


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2022-04-29  4:25 Sam James
  0 siblings, 0 replies; 22+ messages in thread
From: Sam James @ 2022-04-29  4:25 UTC (permalink / raw
  To: gentoo-commits

commit:     b56f29edd76741c1243d830c82b9dca14c112eca
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 29 04:25:26 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Apr 29 04:25:26 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b56f29ed

media-libs/mlt: add 7.6.0

Closes: https://bugs.gentoo.org/841512
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/mlt/Manifest                            |   1 +
 .../mlt-7.6.0-impl-func-decl-gps_parser.patch      |  19 +++
 media-libs/mlt/mlt-7.6.0.ebuild                    | 157 +++++++++++++++++++++
 3 files changed, 177 insertions(+)

diff --git a/media-libs/mlt/Manifest b/media-libs/mlt/Manifest
index 5f41e52d98ea..6fa703820934 100644
--- a/media-libs/mlt/Manifest
+++ b/media-libs/mlt/Manifest
@@ -1 +1,2 @@
 DIST mlt-7.4.0.tar.gz 1206316 BLAKE2B 56e6ea7a5545b80de45cffd206e555a577ada8e59f9b63c6487491e130ba7e4fdca5dc1b3836fcff22d49b6dcb048779dc8db1e9888b1137653c80196bdb81e2 SHA512 e9a65e76ca0a2464fb923d19d6f21bd49f13d637b0a974eeeb1e123ab753914d742e373f9fdcfe07cdeb9f39ebd2f0dde75a7299c0b6cd4807ee48ec710b3fd4
+DIST mlt-7.6.0.tar.gz 1217853 BLAKE2B 5faa8ad518871d8d690cd0c018bebfa258daef03cf0d95cda1aeb21848ee008ec5e5e2a76ab52085cdd11b7f60f9c3248eedc05779a84d0cb33118ef98154374 SHA512 203ea7184e03246a8fcf7d284c7c7b26f57ab27867e97c43d9cf26c3906f6358f361d95593aa47abe79654106b934ffe997335304df967a40742ba060d2e4f38

diff --git a/media-libs/mlt/files/mlt-7.6.0-impl-func-decl-gps_parser.patch b/media-libs/mlt/files/mlt-7.6.0-impl-func-decl-gps_parser.patch
new file mode 100644
index 000000000000..7961d3118b79
--- /dev/null
+++ b/media-libs/mlt/files/mlt-7.6.0-impl-func-decl-gps_parser.patch
@@ -0,0 +1,19 @@
+https://github.com/mltframework/mlt/commit/ec02baf63fd062c1b2492de6aef17ff600f08571
+https://github.com/mltframework/mlt/issues/788
+
+From: Dan Dennedy <dan@dennedy.org>
+Date: Thu, 28 Apr 2022 21:20:44 -0700
+Subject: [PATCH] fix #788 compile warning
+
+--- a/src/modules/xml/gps_parser.c
++++ b/src/modules/xml/gps_parser.c
+@@ -17,6 +17,9 @@
+  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+  */
+ 
++#define __USE_XOPEN
++#define _GNU_SOURCE
++
+ #include "gps_parser.h"
+ #include <inttypes.h>
+ 

diff --git a/media-libs/mlt/mlt-7.6.0.ebuild b/media-libs/mlt/mlt-7.6.0.ebuild
new file mode 100644
index 000000000000..d55bd87549e8
--- /dev/null
+++ b/media-libs/mlt/mlt-7.6.0.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8,9,10} )
+inherit python-single-r1 cmake
+
+DESCRIPTION="Open source multimedia framework for television broadcasting"
+HOMEPAGE="https://www.mltframework.org/"
+SRC_URI="https://github.com/mltframework/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/7"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug ffmpeg frei0r gtk jack libsamplerate opencv opengl python qt5 rtaudio rubberband sdl test vdpau vidstab xine xml"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# Needs unpackaged 'kwalify'
+RESTRICT="test"
+
+# rtaudio will use OSS on non linux OSes
+# Qt already needs FFTW/PLUS so let's just always have it on to ensure
+# MLT is useful: bug #603168.
+DEPEND="
+	>=media-libs/libebur128-1.2.2:=
+	sci-libs/fftw:3.0=
+	ffmpeg? ( media-video/ffmpeg:0=[vdpau?,-flite] )
+	frei0r? ( media-plugins/frei0r-plugins )
+	gtk? (
+		media-libs/libexif
+		x11-libs/pango
+	)
+	jack? (
+		>=dev-libs/libxml2-2.5
+		media-libs/ladspa-sdk
+		virtual/jack
+	)
+	libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
+	opencv? ( >=media-libs/opencv-4.5.1:=[contrib] )
+	opengl? (
+		media-libs/libglvnd
+		media-video/movit
+	)
+	python? ( ${PYTHON_DEPS} )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtsvg:5
+		dev-qt/qtwidgets:5
+		dev-qt/qtxml:5
+		media-libs/libexif
+		x11-libs/libX11
+	)
+	rtaudio? (
+		>=media-libs/rtaudio-4.1.2
+		kernel_linux? ( media-libs/alsa-lib )
+	)
+	rubberband? ( media-libs/rubberband )
+	sdl? (
+		media-libs/libsdl2[X,opengl,video]
+		media-libs/sdl2-image
+	)
+	vidstab? ( media-libs/vidstab )
+	xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
+	xml? ( >=dev-libs/libxml2-2.5 )
+"
+#	java? ( >=virtual/jre-1.8:* )
+#	perl? ( dev-lang/perl )
+#	php? ( dev-lang/php )
+#	ruby? ( ${RUBY_DEPS} )
+#	sox? ( media-sound/sox )
+#	tcl? ( dev-lang/tcl:0= )
+RDEPEND="${DEPEND}"
+BDEPEND="
+	virtual/pkgconfig
+	python? ( >=dev-lang/swig-2.0 )
+"
+
+DOCS=( AUTHORS NEWS README.md )
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
+	"${FILESDIR}"/${PN}-6.22.1-no_lua_bdepend.patch
+	"${FILESDIR}"/${PN}-7.0.1-cmake-symlink.patch
+	"${FILESDIR}"/${P}-impl-func-decl-gps_parser.patch
+)
+
+pkg_setup() {
+	use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	# respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
+	if use python; then
+		sed -i "/mlt.so/s/ -lmlt++ /& ${CFLAGS} ${LDFLAGS} /" src/swig/python/build || die
+		python_fix_shebang src/swig/python
+	fi
+
+	cmake_src_prepare
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DCMAKE_SKIP_RPATH=ON
+		-DGPL=ON
+		-DGPL3=ON
+		-DBUILD_TESTING=$(usex test)
+		-DMOD_KDENLIVE=ON
+		-DMOD_SDL1=OFF
+		-DMOD_SDL2=$(usex sdl)
+		-DMOD_AVFORMAT=$(usex ffmpeg)
+		-DMOD_PLUS=ON
+		-DMOD_FREI0R=$(usex frei0r)
+		-DMOD_GDK=$(usex gtk)
+		-DMOD_JACKRACK=$(usex jack)
+		-DMOD_RESAMPLE=$(usex libsamplerate)
+		-DMOD_OPENCV=$(usex opencv)
+		-DMOD_MOVIT=$(usex opengl)
+		-DMOD_QT=$(usex qt5)
+		-DMOD_RTAUDIO=$(usex rtaudio)
+		-DMOD_RUBBERBAND=$(usex rubberband)
+		-DMOD_VIDSTAB=$(usex vidstab)
+		-DMOD_XINE=$(usex xine)
+		-DMOD_XML=$(usex xml)
+		-DMOD_SOX=OFF
+	)
+
+	# TODO: rework upstream CMake to allow controlling MMX/SSE/SSE2
+	# TODO: add swig language bindings?
+	# see also https://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
+
+	if use python; then
+		mycmakeargs+=( -DSWIG_PYTHON=ON )
+	fi
+
+	cmake_src_configure
+}
+
+src_install() {
+	cmake_src_install
+
+	insinto /usr/share/${PN}
+	doins -r demo
+
+	#
+	# Install SWIG bindings
+	#
+
+	docinto swig
+
+	if use python; then
+		dodoc "${S}"/src/swig/python/play.py
+		python_optimize
+	fi
+}


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2022-12-15 19:26 Andreas Sturmlechner
  0 siblings, 0 replies; 22+ messages in thread
From: Andreas Sturmlechner @ 2022-12-15 19:26 UTC (permalink / raw
  To: gentoo-commits

commit:     4de568226692354d200fb2d1434099d79dd27b24
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 15 19:26:25 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Dec 15 19:26:41 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4de56822

media-libs/mlt: drop 7.8.0

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-libs/mlt/Manifest                            |   1 -
 .../mlt/files/mlt-7.8.0-linux_locale_h.patch       |  37 -----
 media-libs/mlt/mlt-7.8.0.ebuild                    | 159 ---------------------
 3 files changed, 197 deletions(-)

diff --git a/media-libs/mlt/Manifest b/media-libs/mlt/Manifest
index b884549306c3..274cef59d069 100644
--- a/media-libs/mlt/Manifest
+++ b/media-libs/mlt/Manifest
@@ -1,2 +1 @@
 DIST mlt-7.12.0.tar.gz 1481720 BLAKE2B c0df14cfdbba1eec412e71a1184dfd0e595c89a24b956bc90390679307fec1c8a5f2264e9769123fa2f7d95a67ba35cf9316b32173f7248239431ae47743f6cc SHA512 7111ca31f5ed8479dc899596bec4b9dd9440ab8563844abd9d789f7ce342b61c54d1a5058d6f5288fdd510db7e05db12f7e807bf0cd33dbee11a72185fb0b746
-DIST mlt-7.8.0a.tar.gz 1458730 BLAKE2B 0f544923c7f1667d2a2379bcb84a68dca2c701ce7b9cebe4e9b5f81efcb494674111fea09e9025108b8714e792a0179d465d226bb0a0231a197a67c99d82f976 SHA512 aa44d604f2246db11e5c572e2c3f9121ef0ace1fdead95a6a4a20f7555a3139b067fd2d464f27d23cc90cfcf8907ae9cf8f33b26f76c110a6ba2329867f88bd1

diff --git a/media-libs/mlt/files/mlt-7.8.0-linux_locale_h.patch b/media-libs/mlt/files/mlt-7.8.0-linux_locale_h.patch
deleted file mode 100644
index 43822c446654..000000000000
--- a/media-libs/mlt/files/mlt-7.8.0-linux_locale_h.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 7d82553a00e74af77e69cc74645e0a3ec6bb3aa1 Mon Sep 17 00:00:00 2001
-From: alfredfo <98554039+alfredfo@users.noreply.github.com>
-Date: Sat, 25 Jun 2022 01:00:11 +0000
-Subject: [PATCH] Fix building for musl (#803)
-
-reverts: https://github.com/mltframework/mlt/pull/298.
-There is no gurantee that either HAVE_STRTOD_L or HAVE_LOCALE_H will be
-defined at compile-time. Try for example building this project :)
-
-The locale usage is now defined in POSIX and therefore we can now
-assume it will be available on Linux, except for ancient systems.
-https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/locale.h.html
-
-Another way of dealing with this would be to have a global mlt_config.h
-where HAVE_LOCALE_H and HAVE_STRTOD_L are defined to values determined
-when mlt is installed.
-
-https://git.alpinelinux.org/aports/tree/community/mlt/musl-locale.patch
-https://bugs.gentoo.org/829608
-https://github.com/mltframework/mlt/pull/803
----
- src/framework/mlt_property.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/framework/mlt_property.h b/src/framework/mlt_property.h
-index 85d550ac0..be61c23c2 100644
---- a/src/framework/mlt_property.h
-+++ b/src/framework/mlt_property.h
-@@ -30,7 +30,7 @@
- #include <sys/param.h>
- #endif
- 
--#if (defined(__GLIBC__) && !defined(__APPLE__)) || defined(HAVE_LOCALE_H)
-+#if (defined(__linux__) && !defined(__APPLE__))
- #  include <locale.h>
- #elif defined(__APPLE__) || (defined(__FreeBSD_version) && __FreeBSD_version >= 900506)
- #  include <xlocale.h>

diff --git a/media-libs/mlt/mlt-7.8.0.ebuild b/media-libs/mlt/mlt-7.8.0.ebuild
deleted file mode 100644
index 53b16ea2df51..000000000000
--- a/media-libs/mlt/mlt-7.8.0.ebuild
+++ /dev/null
@@ -1,159 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..11} )
-inherit python-single-r1 cmake
-
-DESCRIPTION="Open source multimedia framework for television broadcasting"
-HOMEPAGE="https://www.mltframework.org/"
-SRC_URI="https://github.com/mltframework/${PN}/releases/download/v${PV}/${P}.tar.gz -> ${P}a.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0/7"
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-IUSE="debug ffmpeg frei0r gtk jack libsamplerate opencv opengl python qt5 rtaudio rubberband sdl test vdpau vidstab xine xml"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# Needs unpackaged 'kwalify'
-RESTRICT="test"
-
-# rtaudio will use OSS on non linux OSes
-# Qt already needs FFTW/PLUS so let's just always have it on to ensure
-# MLT is useful: bug #603168.
-DEPEND="
-	>=media-libs/libebur128-1.2.2:=
-	sci-libs/fftw:3.0=
-	ffmpeg? ( media-video/ffmpeg:0=[vdpau?,-flite] )
-	frei0r? ( media-plugins/frei0r-plugins )
-	gtk? (
-		media-libs/libexif
-		x11-libs/pango
-	)
-	jack? (
-		>=dev-libs/libxml2-2.5
-		media-libs/ladspa-sdk
-		virtual/jack
-	)
-	libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
-	opencv? ( >=media-libs/opencv-4.5.1:=[contrib] )
-	opengl? (
-		media-libs/libglvnd
-		media-video/movit
-	)
-	python? ( ${PYTHON_DEPS} )
-	qt5? (
-		dev-qt/qtcore:5
-		dev-qt/qtgui:5
-		dev-qt/qtsvg:5
-		dev-qt/qtwidgets:5
-		dev-qt/qtxml:5
-		media-libs/libexif
-		x11-libs/libX11
-	)
-	rtaudio? (
-		>=media-libs/rtaudio-4.1.2
-		kernel_linux? ( media-libs/alsa-lib )
-	)
-	rubberband? ( media-libs/rubberband )
-	sdl? (
-		media-libs/libsdl2[X,opengl,video]
-		media-libs/sdl2-image
-	)
-	vidstab? ( media-libs/vidstab )
-	xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
-	xml? ( >=dev-libs/libxml2-2.5 )
-"
-#	java? ( >=virtual/jre-1.8:* )
-#	perl? ( dev-lang/perl )
-#	php? ( dev-lang/php )
-#	ruby? ( ${RUBY_DEPS} )
-#	sox? ( media-sound/sox )
-#	tcl? ( dev-lang/tcl:0= )
-RDEPEND="${DEPEND}"
-BDEPEND="
-	virtual/pkgconfig
-	python? ( >=dev-lang/swig-2.0 )
-"
-
-DOCS=( AUTHORS NEWS README.md )
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
-	"${FILESDIR}"/${PN}-6.22.1-no_lua_bdepend.patch
-	"${FILESDIR}"/${PN}-7.0.1-cmake-symlink.patch
-	"${FILESDIR}"/${PN}-7.8.0-linux_locale_h.patch
-)
-
-pkg_setup() {
-	use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-	# Respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
-	if use python; then
-		sed -i "/mlt.so/s/ -lmlt++ /& ${CFLAGS} ${LDFLAGS} /" src/swig/python/build || die
-		python_fix_shebang src/swig/python
-	fi
-
-	cmake_src_prepare
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DCMAKE_SKIP_RPATH=ON
-		-DBUILD_WITH_QT6=OFF
-		-DGPL=ON
-		-DGPL3=ON
-		-DBUILD_TESTING=$(usex test)
-		-DMOD_KDENLIVE=ON
-		-DMOD_SDL1=OFF
-		-DMOD_SDL2=$(usex sdl)
-		-DMOD_AVFORMAT=$(usex ffmpeg)
-		-DMOD_PLUS=ON
-		-DMOD_FREI0R=$(usex frei0r)
-		-DMOD_GDK=$(usex gtk)
-		-DMOD_JACKRACK=$(usex jack)
-		-DMOD_GLAXNIMATE=OFF
-		-DMOD_RESAMPLE=$(usex libsamplerate)
-		-DMOD_OPENCV=$(usex opencv)
-		-DMOD_MOVIT=$(usex opengl)
-		-DMOD_QT=$(usex qt5)
-		-DMOD_RTAUDIO=$(usex rtaudio)
-		-DMOD_RUBBERBAND=$(usex rubberband)
-		-DMOD_VIDSTAB=$(usex vidstab)
-		-DMOD_XINE=$(usex xine)
-		-DMOD_XML=$(usex xml)
-		-DMOD_SOX=OFF
-	)
-
-	# TODO: rework upstream CMake to allow controlling MMX/SSE/SSE2
-	# TODO: add swig language bindings?
-	# see also https://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
-
-	if use python; then
-		mycmakeargs+=( -DSWIG_PYTHON=ON )
-	fi
-
-	cmake_src_configure
-}
-
-src_install() {
-	cmake_src_install
-
-	insinto /usr/share/${PN}
-	doins -r demo
-
-	#
-	# Install SWIG bindings
-	#
-
-	docinto swig
-
-	if use python; then
-		dodoc "${S}"/src/swig/python/play.py
-		python_optimize
-	fi
-}


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2023-06-12 18:04 Sam James
  0 siblings, 0 replies; 22+ messages in thread
From: Sam James @ 2023-06-12 18:04 UTC (permalink / raw
  To: gentoo-commits

commit:     54270ba63127af2de00546cbdd15c560fd820146
Author:     Violet Purcell <vimproved <AT> inventati <DOT> org>
AuthorDate: Mon Jun 12 18:01:51 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jun 12 18:03:09 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54270ba6

media-libs/mlt: Backport -Wint-conversion fix

Signed-off-by: Violet Purcell <vimproved <AT> inventati.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../mlt/files/mlt-7.14.0-int-conversion.patch      | 53 ++++++++++++++++++++++
 .../{mlt-7.14.0.ebuild => mlt-7.14.0-r1.ebuild}    |  1 +
 2 files changed, 54 insertions(+)

diff --git a/media-libs/mlt/files/mlt-7.14.0-int-conversion.patch b/media-libs/mlt/files/mlt-7.14.0-int-conversion.patch
new file mode 100644
index 000000000000..8a3acdcc7048
--- /dev/null
+++ b/media-libs/mlt/files/mlt-7.14.0-int-conversion.patch
@@ -0,0 +1,53 @@
+Upstream: https://github.com/mltframework/mlt/commit/db1f3ceff723912c2ff4b6207a3f446f6677e8f8
+
+From db1f3ceff723912c2ff4b6207a3f446f6677e8f8 Mon Sep 17 00:00:00 2001
+From: j-b-m <jb@kdenlive.org>
+Date: Sun, 2 Apr 2023 18:14:20 +0200
+Subject: [PATCH] Fix compilation: parameter type mismatch
+
+* Fix compilation: parameter type mismatch
+
+* Fix incompatible arg
+--- a/src/modules/avformat/factory.c
++++ b/src/modules/avformat/factory.c
+@@ -31,7 +31,7 @@ extern mlt_filter filter_swresample_init( mlt_profile profile, char *arg );
+ extern mlt_filter filter_swscale_init( mlt_profile profile, char *arg );
+ extern mlt_producer producer_avformat_init( mlt_profile profile, const char *service, char *file );
+ extern mlt_filter filter_avfilter_init( mlt_profile, mlt_service_type, const char*, char* );
+-extern mlt_link link_swresample_init( mlt_profile profile, char *arg );
++extern mlt_link link_swresample_init( mlt_profile profile, mlt_service_type, const char *, char * );
+ 
+ // ffmpeg Header files
+ #include <libavformat/avformat.h>
+@@ -94,7 +94,7 @@ static void *create_service( mlt_profile profile, mlt_service_type type, const c
+ 		if ( type == mlt_service_filter_type )
+ 			return filter_swresample_init( profile, arg );
+ 		else if ( type == mlt_service_link_type )
+-			return link_swresample_init( profile, arg );
++            		return link_swresample_init( profile, type, id, arg );
+ #endif
+ 	return NULL;
+ }
+--- a/src/win32/win32.c
++++ b/src/win32/win32.c
+@@ -70,7 +70,7 @@ int setenv(const char *name, const char *value, int overwrite)
+ 
+ static int iconv_from_utf8( mlt_properties properties, const char *prop_name, const char *prop_name_out, const char* encoding )
+ {
+-	char *text = mlt_properties_get( properties, prop_name );
++	const char *text = mlt_properties_get( properties, prop_name );
+ 	int result = 0;
+ 
+ 	if ( text ) {
+@@ -99,7 +99,7 @@ static int iconv_from_utf8( mlt_properties properties, const char *prop_name, co
+ 
+ static int iconv_to_utf8( mlt_properties properties, const char *prop_name, const char *prop_name_out, const char* encoding )
+ {
+-	char *text = mlt_properties_get( properties, prop_name );
++	const char *text = mlt_properties_get( properties, prop_name );
+ 	int result = 0;
+ 
+ 	if ( text ) {
+-- 
+2.41.0
+

diff --git a/media-libs/mlt/mlt-7.14.0.ebuild b/media-libs/mlt/mlt-7.14.0-r1.ebuild
similarity index 98%
rename from media-libs/mlt/mlt-7.14.0.ebuild
rename to media-libs/mlt/mlt-7.14.0-r1.ebuild
index 3f53d04db981..2e4aa2447770 100644
--- a/media-libs/mlt/mlt-7.14.0.ebuild
+++ b/media-libs/mlt/mlt-7.14.0-r1.ebuild
@@ -84,6 +84,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
 	"${FILESDIR}"/${PN}-6.22.1-no_lua_bdepend.patch
 	"${FILESDIR}"/${PN}-7.0.1-cmake-symlink.patch
+	"${FILESDIR}"/${PN}-7.14.0-int-conversion.patch
 )
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2023-10-08 14:37 Andreas Sturmlechner
  0 siblings, 0 replies; 22+ messages in thread
From: Andreas Sturmlechner @ 2023-10-08 14:37 UTC (permalink / raw
  To: gentoo-commits

commit:     7175b838fce852b050cc031dcb5141d8499cb539
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Oct  8 12:21:15 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Oct  8 14:37:30 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7175b838

media-libs/mlt: Backport crash fixes post-7.20 release

Upstream commits:
482f1fb0179587575b3071f622df51a95895068a
09f55bf3d1fdcac06c5d297bb27cb4f3e7f85021

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../mlt/files/mlt-7.20.0-qtblend-crash.patch       | 43 ++++++++++++++++++++++
 .../mlt/files/mlt-7.20.0-rotoscoping-crash.patch   | 22 +++++++++++
 media-libs/mlt/mlt-7.20.0.ebuild                   |  3 ++
 3 files changed, 68 insertions(+)

diff --git a/media-libs/mlt/files/mlt-7.20.0-qtblend-crash.patch b/media-libs/mlt/files/mlt-7.20.0-qtblend-crash.patch
new file mode 100644
index 000000000000..aad8f0e9e45c
--- /dev/null
+++ b/media-libs/mlt/files/mlt-7.20.0-qtblend-crash.patch
@@ -0,0 +1,43 @@
+From 09f55bf3d1fdcac06c5d297bb27cb4f3e7f85021 Mon Sep 17 00:00:00 2001
+From: Jean-Baptiste Mardelle <jb@kdenlive.org>
+Date: Thu, 5 Oct 2023 08:45:16 +0200
+Subject: [PATCH] Ensure qtblend doesn't request an image of 0 width or height
+ (crashes many filters)
+
+---
+ src/modules/qt/filter_qtblend.cpp     | 6 +++---
+ src/modules/qt/transition_qtblend.cpp | 3 +++
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/src/modules/qt/filter_qtblend.cpp b/src/modules/qt/filter_qtblend.cpp
+index d54f7ccad..32d752d60 100644
+--- a/src/modules/qt/filter_qtblend.cpp
++++ b/src/modules/qt/filter_qtblend.cpp
+@@ -103,10 +103,10 @@ static int filter_get_image(mlt_frame frame,
+                    || rect.h != *height;
+ 
+         if (mlt_properties_get_int(properties, "distort") == 0) {
+-            b_height = qMin((int) rect.h, b_height);
+-            b_width = b_height * b_dar / b_ar / consumer_ar;
++            b_height = qMax(1, qMin((int) rect.h, b_height));
++            b_width = qMax(1, int(b_height * b_dar / b_ar / consumer_ar));
+         } else {
+-            b_width *= b_ar / consumer_ar;
++            b_width = qMax(1, int(b_width * b_ar / consumer_ar));
+         }
+         if (!hasAlpha && (b_width < *width || b_height < *height)) {
+             hasAlpha = true;
+diff --git a/src/modules/qt/transition_qtblend.cpp b/src/modules/qt/transition_qtblend.cpp
+index 9dbc795aa..0b41b3ff8 100644
+--- a/src/modules/qt/transition_qtblend.cpp
++++ b/src/modules/qt/transition_qtblend.cpp
+@@ -121,6 +121,9 @@ static int get_image(mlt_frame a_frame,
+             // we will process operations on top frame, so also process b_frame
+             forceAlpha = true;
+         }
++        // Ensure we don't request an image with a 0 width or height
++        b_width = qMax(1, b_width);
++        b_height = qMax(1, b_height);
+     } else {
+         b_height = *height;
+         b_width = *width;

diff --git a/media-libs/mlt/files/mlt-7.20.0-rotoscoping-crash.patch b/media-libs/mlt/files/mlt-7.20.0-rotoscoping-crash.patch
new file mode 100644
index 000000000000..124e1102b6d2
--- /dev/null
+++ b/media-libs/mlt/files/mlt-7.20.0-rotoscoping-crash.patch
@@ -0,0 +1,22 @@
+From 482f1fb0179587575b3071f622df51a95895068a Mon Sep 17 00:00:00 2001
+From: Jean-Baptiste Mardelle <jb@kdenlive.org>
+Date: Wed, 4 Oct 2023 22:26:13 +0200
+Subject: [PATCH] Fix rotoscoping filter crash on image with height = 0
+
+---
+ src/modules/plusgpl/filter_rotoscoping.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/modules/plusgpl/filter_rotoscoping.c b/src/modules/plusgpl/filter_rotoscoping.c
+index 35e3931f0..782c39422 100644
+--- a/src/modules/plusgpl/filter_rotoscoping.c
++++ b/src/modules/plusgpl/filter_rotoscoping.c
+@@ -337,7 +337,7 @@ static int filter_get_image(mlt_frame frame,
+     int offsetx = 0;
+     int offsety = 0;
+     // Compare aspect ratio
+-    if (100 * *width / *height != 100 * normalized_width / normalized_height) {
++    if (*height > 0 && 100 * *width / *height != 100 * normalized_width / normalized_height) {
+         // Source has a different aspect ratio, apply scaling
+         double xfactor = normalized_width / *width;
+         double yfactor = normalized_height / *height;

diff --git a/media-libs/mlt/mlt-7.20.0.ebuild b/media-libs/mlt/mlt-7.20.0.ebuild
index db7be1c8207b..b84f4931436a 100644
--- a/media-libs/mlt/mlt-7.20.0.ebuild
+++ b/media-libs/mlt/mlt-7.20.0.ebuild
@@ -82,9 +82,12 @@ BDEPEND="
 DOCS=( AUTHORS NEWS README.md )
 
 PATCHES=(
+	# downstream
 	"${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
 	"${FILESDIR}"/${PN}-6.22.1-no_lua_bdepend.patch
 	"${FILESDIR}"/${PN}-7.0.1-cmake-symlink.patch
+	# upstream (>=7.21.0)
+	"${FILESDIR}"/${P}-{rotoscoping,qtblend}-crash.patch
 )
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/
@ 2024-01-07 14:33 Andreas Sturmlechner
  0 siblings, 0 replies; 22+ messages in thread
From: Andreas Sturmlechner @ 2024-01-07 14:33 UTC (permalink / raw
  To: gentoo-commits

commit:     d32d62587aff47036611dd30872b7526bcad9638
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Jan  6 14:56:48 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jan  7 14:32:33 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d32d6258

media-libs/mlt: drop 7.20.0-r1

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-libs/mlt/Manifest                            |   1 -
 .../mlt/files/mlt-7.20.0-qtblend-crash.patch       |  43 ------
 .../mlt/files/mlt-7.20.0-rotoscoping-crash.patch   |  22 ---
 media-libs/mlt/mlt-7.20.0-r1.ebuild                | 165 ---------------------
 4 files changed, 231 deletions(-)

diff --git a/media-libs/mlt/Manifest b/media-libs/mlt/Manifest
index 01200d508f40..8bbc295acb8c 100644
--- a/media-libs/mlt/Manifest
+++ b/media-libs/mlt/Manifest
@@ -1,2 +1 @@
-DIST mlt-7.20.0.tar.gz 1636493 BLAKE2B e056676825b50f0f575954e63cdfa409bb6cecc0b6b1358e99a1575469434f0a817f7ae934cbfa9bad681a6e004c238d2bb0c49d1e2b8a75724fe5040fc6771c SHA512 66bd108257aae8bd2bd76166eff09296f91fb89bc3deda164278c2a19688eb47cc78095563ef140433cb2ccb0d35d7ffc142fe157fe28e0fbdd92d9c0119be3d
 DIST mlt-7.22.0.tar.gz 1659954 BLAKE2B ab3dff26446a048e79d5f11942b05fa557ec91a813b14bd46492fe66c46a2e6685f3835ff647b69e6b6ebe137a345fc7eb17c8e88bdfd3bdb81e41eeca910aaa SHA512 84763e1cb8495be9476637d2474aa492906b904990905f9283faffff75829553cf87b097166fe6d382acc043422e6da45014ca4ba281c7fc68f10ebe3cec4fee

diff --git a/media-libs/mlt/files/mlt-7.20.0-qtblend-crash.patch b/media-libs/mlt/files/mlt-7.20.0-qtblend-crash.patch
deleted file mode 100644
index aad8f0e9e45c..000000000000
--- a/media-libs/mlt/files/mlt-7.20.0-qtblend-crash.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 09f55bf3d1fdcac06c5d297bb27cb4f3e7f85021 Mon Sep 17 00:00:00 2001
-From: Jean-Baptiste Mardelle <jb@kdenlive.org>
-Date: Thu, 5 Oct 2023 08:45:16 +0200
-Subject: [PATCH] Ensure qtblend doesn't request an image of 0 width or height
- (crashes many filters)
-
----
- src/modules/qt/filter_qtblend.cpp     | 6 +++---
- src/modules/qt/transition_qtblend.cpp | 3 +++
- 2 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/src/modules/qt/filter_qtblend.cpp b/src/modules/qt/filter_qtblend.cpp
-index d54f7ccad..32d752d60 100644
---- a/src/modules/qt/filter_qtblend.cpp
-+++ b/src/modules/qt/filter_qtblend.cpp
-@@ -103,10 +103,10 @@ static int filter_get_image(mlt_frame frame,
-                    || rect.h != *height;
- 
-         if (mlt_properties_get_int(properties, "distort") == 0) {
--            b_height = qMin((int) rect.h, b_height);
--            b_width = b_height * b_dar / b_ar / consumer_ar;
-+            b_height = qMax(1, qMin((int) rect.h, b_height));
-+            b_width = qMax(1, int(b_height * b_dar / b_ar / consumer_ar));
-         } else {
--            b_width *= b_ar / consumer_ar;
-+            b_width = qMax(1, int(b_width * b_ar / consumer_ar));
-         }
-         if (!hasAlpha && (b_width < *width || b_height < *height)) {
-             hasAlpha = true;
-diff --git a/src/modules/qt/transition_qtblend.cpp b/src/modules/qt/transition_qtblend.cpp
-index 9dbc795aa..0b41b3ff8 100644
---- a/src/modules/qt/transition_qtblend.cpp
-+++ b/src/modules/qt/transition_qtblend.cpp
-@@ -121,6 +121,9 @@ static int get_image(mlt_frame a_frame,
-             // we will process operations on top frame, so also process b_frame
-             forceAlpha = true;
-         }
-+        // Ensure we don't request an image with a 0 width or height
-+        b_width = qMax(1, b_width);
-+        b_height = qMax(1, b_height);
-     } else {
-         b_height = *height;
-         b_width = *width;

diff --git a/media-libs/mlt/files/mlt-7.20.0-rotoscoping-crash.patch b/media-libs/mlt/files/mlt-7.20.0-rotoscoping-crash.patch
deleted file mode 100644
index 124e1102b6d2..000000000000
--- a/media-libs/mlt/files/mlt-7.20.0-rotoscoping-crash.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 482f1fb0179587575b3071f622df51a95895068a Mon Sep 17 00:00:00 2001
-From: Jean-Baptiste Mardelle <jb@kdenlive.org>
-Date: Wed, 4 Oct 2023 22:26:13 +0200
-Subject: [PATCH] Fix rotoscoping filter crash on image with height = 0
-
----
- src/modules/plusgpl/filter_rotoscoping.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/modules/plusgpl/filter_rotoscoping.c b/src/modules/plusgpl/filter_rotoscoping.c
-index 35e3931f0..782c39422 100644
---- a/src/modules/plusgpl/filter_rotoscoping.c
-+++ b/src/modules/plusgpl/filter_rotoscoping.c
-@@ -337,7 +337,7 @@ static int filter_get_image(mlt_frame frame,
-     int offsetx = 0;
-     int offsety = 0;
-     // Compare aspect ratio
--    if (100 * *width / *height != 100 * normalized_width / normalized_height) {
-+    if (*height > 0 && 100 * *width / *height != 100 * normalized_width / normalized_height) {
-         // Source has a different aspect ratio, apply scaling
-         double xfactor = normalized_width / *width;
-         double yfactor = normalized_height / *height;

diff --git a/media-libs/mlt/mlt-7.20.0-r1.ebuild b/media-libs/mlt/mlt-7.20.0-r1.ebuild
deleted file mode 100644
index e2c50d4bb0c0..000000000000
--- a/media-libs/mlt/mlt-7.20.0-r1.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..12} )
-inherit python-single-r1 cmake
-
-DESCRIPTION="Open source multimedia framework for television broadcasting"
-HOMEPAGE="https://www.mltframework.org/"
-SRC_URI="https://github.com/mltframework/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0/7"
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-IUSE="debug ffmpeg frei0r gtk jack libsamplerate opencv opengl python qt5 rtaudio rubberband sdl test vdpau vidstab xine xml"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# Needs unpackaged 'kwalify'
-RESTRICT="test"
-
-# rtaudio will use OSS on non linux OSes
-# Qt already needs FFTW/PLUS so let's just always have it on to ensure
-# MLT is useful: bug #603168.
-DEPEND="
-	>=media-libs/libebur128-1.2.2:=
-	sci-libs/fftw:3.0=
-	ffmpeg? ( media-video/ffmpeg:0=[vdpau?] )
-	frei0r? ( media-plugins/frei0r-plugins )
-	gtk? (
-		media-libs/libexif
-		x11-libs/pango
-	)
-	jack? (
-		>=dev-libs/libxml2-2.5
-		media-libs/ladspa-sdk
-		virtual/jack
-	)
-	libsamplerate? ( >=media-libs/libsamplerate-0.1.2 )
-	opencv? ( >=media-libs/opencv-4.5.1:=[contrib] )
-	opengl? (
-		media-libs/libglvnd
-		media-video/movit
-	)
-	python? ( ${PYTHON_DEPS} )
-	qt5? (
-		dev-qt/qtcore:5
-		dev-qt/qtgui:5
-		dev-qt/qtnetwork:5
-		dev-qt/qtsvg:5
-		dev-qt/qtwidgets:5
-		dev-qt/qtxml:5
-		media-libs/libexif
-		x11-libs/libX11
-	)
-	rtaudio? (
-		>=media-libs/rtaudio-4.1.2
-		kernel_linux? ( media-libs/alsa-lib )
-	)
-	rubberband? ( media-libs/rubberband )
-	sdl? (
-		media-libs/libsdl2[X,opengl,video]
-		media-libs/sdl2-image
-	)
-	vidstab? ( media-libs/vidstab )
-	xine? ( >=media-libs/xine-lib-1.1.2_pre20060328-r7 )
-	xml? ( >=dev-libs/libxml2-2.5 )
-"
-#	java? ( >=virtual/jre-1.8:* )
-#	perl? ( dev-lang/perl )
-#	php? ( dev-lang/php )
-#	ruby? ( ${RUBY_DEPS} )
-#	sox? ( media-sound/sox )
-#	tcl? ( dev-lang/tcl:0= )
-RDEPEND="${DEPEND}"
-BDEPEND="
-	virtual/pkgconfig
-	python? ( >=dev-lang/swig-2.0 )
-"
-
-DOCS=( AUTHORS NEWS README.md )
-
-PATCHES=(
-	# downstream
-	"${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch
-	"${FILESDIR}"/${PN}-6.22.1-no_lua_bdepend.patch
-	"${FILESDIR}"/${PN}-7.0.1-cmake-symlink.patch
-	# upstream (>=7.21.0)
-	"${FILESDIR}"/${P}-{rotoscoping,qtblend}-crash.patch
-)
-
-pkg_setup() {
-	use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-	# Respect CFLAGS LDFLAGS when building shared libraries. Bug #308873
-	if use python; then
-		sed -i "/mlt.so/s/ -lmlt++ /& ${CFLAGS} ${LDFLAGS} /" src/swig/python/build || die
-		python_fix_shebang src/swig/python
-	fi
-
-	cmake_src_prepare
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DCMAKE_SKIP_RPATH=ON
-		-DCLANG_FORMAT=OFF
-		-DGPL=ON
-		-DGPL3=ON
-		-DBUILD_TESTING=$(usex test)
-		-DMOD_KDENLIVE=ON
-		-DMOD_SDL1=OFF
-		-DMOD_SDL2=$(usex sdl)
-		-DMOD_AVFORMAT=$(usex ffmpeg)
-		-DMOD_PLUS=ON
-		-DMOD_FREI0R=$(usex frei0r)
-		-DMOD_GDK=$(usex gtk)
-		-DMOD_JACKRACK=$(usex jack)
-		-DMOD_RESAMPLE=$(usex libsamplerate)
-		-DMOD_OPENCV=$(usex opencv)
-		-DMOD_MOVIT=$(usex opengl)
-		-DMOD_QT=$(usex qt5)
-		-DMOD_GLAXNIMATE=$(usex qt5)
-		-DMOD_RTAUDIO=$(usex rtaudio)
-		-DMOD_RUBBERBAND=$(usex rubberband)
-		-DMOD_VIDSTAB=$(usex vidstab)
-		-DMOD_XINE=$(usex xine)
-		-DMOD_XML=$(usex xml)
-		-DMOD_SOX=OFF
-	)
-
-	# TODO: rework upstream CMake to allow controlling MMX/SSE/SSE2
-	# TODO: add swig language bindings?
-	# see also https://www.mltframework.org/twiki/bin/view/MLT/ExtremeMakeover
-
-	if use python; then
-		mycmakeargs+=(
-			-DSWIG_PYTHON=ON
-			-DPython3_EXECUTABLE="${PYTHON}"
-		)
-	fi
-
-	cmake_src_configure
-}
-
-src_install() {
-	cmake_src_install
-
-	insinto /usr/share/${PN}
-	doins -r demo
-
-	#
-	# Install SWIG bindings
-	#
-
-	docinto swig
-
-	if use python; then
-		dodoc "${S}"/src/swig/python/play.py
-		python_optimize
-	fi
-}


^ permalink raw reply related	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2024-01-07 14:33 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-21 12:53 [gentoo-commits] repo/gentoo:master commit in: media-libs/mlt/, media-libs/mlt/files/ Alexis Ballier
  -- strict thread matches above, loose matches on Subject: below --
2016-02-15 15:42 Alexis Ballier
2016-05-11 18:06 Michael Palimaka
2017-10-28 12:17 Andreas Sturmlechner
2017-11-15 23:45 Andreas Sturmlechner
2018-07-22 21:50 Andreas Sturmlechner
2018-07-22 21:50 Andreas Sturmlechner
2018-07-22 21:50 Andreas Sturmlechner
2018-08-09 22:20 Andreas Sturmlechner
2018-12-12 11:56 Andreas Sturmlechner
2020-03-19 11:46 Andreas Sturmlechner
2020-06-30 21:44 Andreas Sturmlechner
2020-06-30 21:44 Andreas Sturmlechner
2020-06-30 21:44 Andreas Sturmlechner
2020-10-05 11:22 Andreas Sturmlechner
2021-04-24 21:40 Andreas Sturmlechner
2021-08-05  1:48 Sam James
2022-04-29  4:25 Sam James
2022-12-15 19:26 Andreas Sturmlechner
2023-06-12 18:04 Sam James
2023-10-08 14:37 Andreas Sturmlechner
2024-01-07 14:33 Andreas Sturmlechner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox