summaryrefslogtreecommitdiff
path: root/media-libs/mlt/files
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/mlt/files')
-rw-r--r--media-libs/mlt/files/mlt-6.20.0-crash-in-composite.patch34
-rw-r--r--media-libs/mlt/files/mlt-6.20.0-crash-w-unsupported-preview-scale.patch48
-rw-r--r--media-libs/mlt/files/mlt-6.20.0-musl-locale.patch34
-rw-r--r--media-libs/mlt/files/mlt-6.20.0-no-gtk2.patch421
-rw-r--r--media-libs/mlt/files/mlt-6.20.0-nullpointer-crash.patch22
-rw-r--r--media-libs/mlt/files/mlt-6.20.0-opencv-double-del-crash.patch21
-rw-r--r--media-libs/mlt/files/mlt-6.20.0-opencv4.patch45
-rw-r--r--media-libs/mlt/files/mlt-6.20.0-qt-5.15.patch49
-rw-r--r--media-libs/mlt/files/mlt-6.22.1-fix-regression-w-multiple-affine-filters.patch23
9 files changed, 23 insertions, 674 deletions
diff --git a/media-libs/mlt/files/mlt-6.20.0-crash-in-composite.patch b/media-libs/mlt/files/mlt-6.20.0-crash-in-composite.patch
deleted file mode 100644
index e5ae5f01c9d0..000000000000
--- a/media-libs/mlt/files/mlt-6.20.0-crash-in-composite.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 46a226217d8ec5bbf66a4fa3da138fd6924dd13b Mon Sep 17 00:00:00 2001
-From: Dan Dennedy <dan@dennedy.org>
-Date: Wed, 25 Mar 2020 16:06:34 -0700
-Subject: [PATCH] fix #535 crash in composite when PGM luma fails to load
-
----
- src/modules/core/transition_composite.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/modules/core/transition_composite.c b/src/modules/core/transition_composite.c
-index e6d078e36..24a0d30c7 100644
---- a/src/modules/core/transition_composite.c
-+++ b/src/modules/core/transition_composite.c
-@@ -1,6 +1,6 @@
- /*
- * transition_composite.c -- compose one image over another using alpha channel
-- * Copyright (C) 2003-2019 Meltytech, LLC
-+ * Copyright (C) 2003-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
-@@ -697,10 +697,10 @@ static uint16_t* get_luma( mlt_transition self, mlt_properties properties, int w
- {
- luma_width = 0;
- luma_height = 0;
-- }
-+ }
- }
- }
-- if ( luma_width > 0 && luma_height > 0 )
-+ if ( orig_bitmap && luma_width > 0 && luma_height > 0 )
- {
- // Scale luma map
- luma_bitmap = mlt_pool_alloc( width * height * sizeof( uint16_t ) );
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
deleted file mode 100644
index 25057b3c1aeb..000000000000
--- a/media-libs/mlt/files/mlt-6.20.0-crash-w-unsupported-preview-scale.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-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/files/mlt-6.20.0-musl-locale.patch b/media-libs/mlt/files/mlt-6.20.0-musl-locale.patch
deleted file mode 100644
index ed206108d2ed..000000000000
--- a/media-libs/mlt/files/mlt-6.20.0-musl-locale.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From d02611584d4b2f693469c72272fe369413139394 Mon Sep 17 00:00:00 2001
-From: Carlo Landmeter <clandmeter@gmail.com>
-Date: Sun, 6 Nov 2016 00:45:44 +0100
-Subject: testing/mlt: new aport
-
----
- testing/mlt/musl-locale.patch | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
- create mode 100644 testing/mlt/musl-locale.patch
-
-(limited to 'testing/mlt/musl-locale.patch')
-
-diff --git a/testing/mlt/musl-locale.patch b/testing/mlt/musl-locale.patch
-new file mode 100644
-index 0000000000..030bb781d1
---- /dev/null
-+++ b/testing/mlt/musl-locale.patch
-@@ -0,0 +1,13 @@
-+--- ./src/framework/mlt_property.h.orig
-++++ ./src/framework/mlt_property.h
-+@@ -30,8 +30,8 @@
-+ #include <sys/param.h>
-+ #endif
-+
-+-#if defined(__GLIBC__) || defined(__APPLE__) || (__FreeBSD_version >= 900506)
-+-#include <xlocale.h>
-++#if defined(__linux__) || defined(__APPLE__) || (__FreeBSD_version >= 900506)
-++#include <locale.h>
-+ #else
-+ typedef char* locale_t;
-+ #endif
---
-cgit v1.2.1
-
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
deleted file mode 100644
index 5031ab374f6b..000000000000
--- a/media-libs/mlt/files/mlt-6.20.0-no-gtk2.patch
+++ /dev/null
@@ -1,421 +0,0 @@
-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/files/mlt-6.20.0-nullpointer-crash.patch b/media-libs/mlt/files/mlt-6.20.0-nullpointer-crash.patch
deleted file mode 100644
index 6bff797c0a92..000000000000
--- a/media-libs/mlt/files/mlt-6.20.0-nullpointer-crash.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-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/files/mlt-6.20.0-opencv-double-del-crash.patch b/media-libs/mlt/files/mlt-6.20.0-opencv-double-del-crash.patch
deleted file mode 100644
index 7f764965046d..000000000000
--- a/media-libs/mlt/files/mlt-6.20.0-opencv-double-del-crash.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 5e906b13cab7f28bbef43a33c20dbe24c2ca1f8d Mon Sep 17 00:00:00 2001
-From: Jean-Baptiste Mardelle <jb@kdenlive.org>
-Date: Tue, 17 Mar 2020 18:22:04 +0100
-Subject: [PATCH] Fix OpenCV tracker double deletion crash. Fixes #532
-
----
- src/modules/opencv/filter_opencv_tracker.cpp | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/modules/opencv/filter_opencv_tracker.cpp b/src/modules/opencv/filter_opencv_tracker.cpp
-index 04a5f0b09..533f0f513 100644
---- a/src/modules/opencv/filter_opencv_tracker.cpp
-+++ b/src/modules/opencv/filter_opencv_tracker.cpp
-@@ -351,7 +351,6 @@ static mlt_frame filter_process( mlt_filter filter, mlt_frame frame )
- static void filter_close( mlt_filter filter )
- {
- private_data* data = (private_data*) filter->child;
-- free ( data->tracker );
- free ( data );
- filter->child = NULL;
- filter->close = NULL;
diff --git a/media-libs/mlt/files/mlt-6.20.0-opencv4.patch b/media-libs/mlt/files/mlt-6.20.0-opencv4.patch
deleted file mode 100644
index e3e27904d5a2..000000000000
--- a/media-libs/mlt/files/mlt-6.20.0-opencv4.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From f4329c7e8f4704d3f8e8f2a96bd774e6d966194b Mon Sep 17 00:00:00 2001
-From: martin <martin.sandsmark@kde.org>
-Date: Tue, 7 Apr 2020 19:48:01 +0000
-Subject: [PATCH] fix opencv4 support (#545)
-
----
- src/modules/opencv/configure | 17 +++++++++++++----
- 1 file changed, 13 insertions(+), 4 deletions(-)
-
-diff --git a/src/modules/opencv/configure b/src/modules/opencv/configure
-index 36851f678..4e7fdcf4a 100755
---- a/src/modules/opencv/configure
-+++ b/src/modules/opencv/configure
-@@ -26,18 +26,27 @@ else
- exit 0
- fi
-
-- pkg-config --atleast-version=3.1.0 'opencv'
-+ opencvname=opencv
-+ pkg-config "$opencvname"
-+ if [ $? -ne 0 ]
-+ then
-+ # Try v4, they renamed
-+ opencvname=opencv4
-+ fi
-+
-+ pkg-config --atleast-version=3.1.0 "$opencvname"
-+
- if [ $? -eq 0 ]
- then
-- result=`pkg-config --libs opencv | grep "opencv_tracking"`
-+ result=`pkg-config --libs "$opencvname" | grep "opencv_tracking"`
- if [ -z "$result" ]
- then
- echo "- OpenCV tracking contrib module NOT found, disabling OpenCV modules"
- touch ../disable-opencv
- exit 0
- else
-- echo "CFLAGS += $(pkg-config --cflags opencv)" >> config.mak
-- echo "LDFLAGS += $(pkg-config --libs opencv)" >> config.mak
-+ echo "CFLAGS += $(pkg-config --cflags "$opencvname")" >> config.mak
-+ echo "LDFLAGS += $(pkg-config --libs "$opencvname")" >> config.mak
- fi
- else
- echo "- OpenCV >= 3.1.0 NOT found: disabling"
diff --git a/media-libs/mlt/files/mlt-6.20.0-qt-5.15.patch b/media-libs/mlt/files/mlt-6.20.0-qt-5.15.patch
deleted file mode 100644
index edc183725d61..000000000000
--- a/media-libs/mlt/files/mlt-6.20.0-qt-5.15.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From f58b44d73442986eeffec7431e59b7d19d214c1b Mon Sep 17 00:00:00 2001
-From: Heiko Becker <heirecka@exherbo.org>
-Date: Tue, 24 Mar 2020 21:17:05 +0100
-Subject: [PATCH] Fix build with Qt 5.15.0
-
-QPainterPath is no longer included via qtransform.h (since
-5.15.0-beta2, 50d2acdc93b4de2ba56eb67787e2bdcb21dd4bea in qtbase.git).
----
- src/modules/qt/filter_qtext.cpp | 1 +
- src/modules/qt/graph.cpp | 1 +
- src/modules/qt/producer_qtext.cpp | 1 +
- 3 files changed, 3 insertions(+)
-
-diff --git a/src/modules/qt/filter_qtext.cpp b/src/modules/qt/filter_qtext.cpp
-index c3de1fadc..c3e10f1a3 100644
---- a/src/modules/qt/filter_qtext.cpp
-+++ b/src/modules/qt/filter_qtext.cpp
-@@ -21,6 +21,7 @@
- #include <framework/mlt.h>
- #include <framework/mlt_log.h>
- #include <QPainter>
-+#include <QPainterPath>
- #include <QString>
-
- static QRectF get_text_path( QPainterPath* qpath, mlt_properties filter_properties, const char* text, double scale )
-diff --git a/src/modules/qt/graph.cpp b/src/modules/qt/graph.cpp
-index 6d4d669ca..7e91bb12f 100644
---- a/src/modules/qt/graph.cpp
-+++ b/src/modules/qt/graph.cpp
-@@ -18,6 +18,7 @@
- */
-
- #include "graph.h"
-+#include <QPainterPath>
- #include <QVector>
- #include <math.h>
-
-diff --git a/src/modules/qt/producer_qtext.cpp b/src/modules/qt/producer_qtext.cpp
-index 603c2b780..ff95a8e26 100644
---- a/src/modules/qt/producer_qtext.cpp
-+++ b/src/modules/qt/producer_qtext.cpp
-@@ -26,6 +26,7 @@
- #include <QImage>
- #include <QColor>
- #include <QPainter>
-+#include <QPainterPath>
- #include <QFont>
- #include <QString>
- #include <QTextCodec>
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 000000000000..d60976c11855
--- /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;