[SCM] MLT multimedia framework packaging branch, master, updated. debian/0.7.6+git20120204-1-2-gb0fb3c6
Patrick Matthäi
pmatthaei at alioth.debian.org
Sun Feb 5 12:43:59 UTC 2012
The following commit has been merged in the master branch:
commit 19a0066df9c9cc9e934f36d5ea94e2565dfe2479
Author: Patrick Matthäi <pmatthaei at debian.org>
Date: Sun Feb 5 13:32:57 2012 +0100
* Add patch 01-various-upstream-fixes-20120205 which includes various
upstream fixes like fixing a FTBFS with libav on architectures without MMX.
Closes: #658376
---
debian/changelog | 8 +
.../01-various-upstream-fixes-20120205.diff | 135 ++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 144 insertions(+), 0 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index c3d371a..3ef94bd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+mlt (0.7.6+git20120204-2) UNRELEASED; urgency=high
+
+ * Add patch 01-various-upstream-fixes-20120205 which includes various
+ upstream fixes like fixing a FTBFS with libav on architectures without MMX.
+ Closes: #658376
+
+ -- Patrick Matthäi <pmatthaei at debian.org> Sun, 05 Feb 2012 13:29:51 +0100
+
mlt (0.7.6+git20120204-1) unstable; urgency=low
* New upstream git snapshot.
diff --git a/debian/patches/01-various-upstream-fixes-20120205.diff b/debian/patches/01-various-upstream-fixes-20120205.diff
new file mode 100644
index 0000000..ec69dc8
--- /dev/null
+++ b/debian/patches/01-various-upstream-fixes-20120205.diff
@@ -0,0 +1,135 @@
+# Fix compilation on architectures without MMX and libav 0.8.
+# Closes: #658376
+# Hopefuly it will also fix a bug with libav 0.8 where your video gets inverted colors.
+# Closes: #657871
+
+diff -Naur mlt-0.7.6+git20120204.orig/src/modules/avformat/consumer_avformat.c mlt-0.7.6+git20120204/src/modules/avformat/consumer_avformat.c
+--- mlt-0.7.6+git20120204.orig/src/modules/avformat/consumer_avformat.c 2012-02-04 14:14:54.000000000 +0100
++++ mlt-0.7.6+git20120204/src/modules/avformat/consumer_avformat.c 2012-02-05 13:22:39.879438830 +0100
+@@ -394,7 +394,7 @@
+ for ( i = 0; i < count; i++ )
+ {
+ const char *opt_name = mlt_properties_get_name( properties, i );
+-#if LIBAVUTIL_VERSION_INT > ((51<<16)+(7<<8)+0)
++#if LIBAVUTIL_VERSION_INT >= ((51<<16)+(10<<8)+0)
+ const AVOption *opt = av_opt_find( obj, opt_name, NULL, flags, flags );
+ #else
+ const AVOption *opt = av_find_opt( obj, opt_name, NULL, flags, flags );
+@@ -404,7 +404,7 @@
+ if ( !opt && (
+ ( opt_name[0] == 'v' && ( flags & AV_OPT_FLAG_VIDEO_PARAM ) ) ||
+ ( opt_name[0] == 'a' && ( flags & AV_OPT_FLAG_AUDIO_PARAM ) ) ) )
+-#if LIBAVUTIL_VERSION_INT > ((51<<16)+(7<<8)+0)
++#if LIBAVUTIL_VERSION_INT >= ((51<<16)+(10<<8)+0)
+ opt = av_opt_find( obj, ++opt_name, NULL, flags, flags );
+ #else
+ opt = av_find_opt( obj, ++opt_name, NULL, flags, flags );
+@@ -1501,15 +1501,16 @@
+ fifo = sample_fifo_init( frequency, channels );
+ mlt_properties_set_data( properties, "sample_fifo", fifo, 0, ( mlt_destructor )sample_fifo_close, NULL );
+ }
+-
+- // Silence if not normal forward speed
+- if ( mlt_properties_get_double( frame_properties, "_speed" ) != 1.0 )
+- memset( pcm, 0, samples * channels * sample_bytes );
+-
+- // Append the samples
+- sample_fifo_append( fifo, pcm, samples * channels * sample_bytes );
+- total_time += ( samples * 1000000 ) / frequency;
+-
++ if ( pcm )
++ {
++ // Silence if not normal forward speed
++ if ( mlt_properties_get_double( frame_properties, "_speed" ) != 1.0 )
++ memset( pcm, 0, samples * channels * sample_bytes );
++
++ // Append the samples
++ sample_fifo_append( fifo, pcm, samples * channels * sample_bytes );
++ total_time += ( samples * 1000000 ) / frequency;
++ }
+ if ( !video_st )
+ mlt_events_fire( properties, "consumer-frame-show", frame, NULL );
+ }
+@@ -1700,7 +1701,7 @@
+
+ // Do the colour space conversion
+ #ifdef SWSCALE
+- int flags = SWS_BILINEAR;
++ int flags = SWS_BICUBIC;
+ #ifdef USE_MMX
+ flags |= SWS_CPU_CAPS_MMX;
+ #endif
+diff -Naur mlt-0.7.6+git20120204.orig/src/modules/avformat/filter_avcolour_space.c mlt-0.7.6+git20120204/src/modules/avformat/filter_avcolour_space.c
+--- mlt-0.7.6+git20120204.orig/src/modules/avformat/filter_avcolour_space.c 2011-12-13 19:28:26.000000000 +0100
++++ mlt-0.7.6+git20120204/src/modules/avformat/filter_avcolour_space.c 2012-02-05 13:22:39.879438830 +0100
+@@ -117,7 +117,7 @@
+ AVPicture input;
+ AVPicture output;
+ #ifdef SWSCALE
+- int flags = SWS_BILINEAR | SWS_ACCURATE_RND;
++ int flags = SWS_BICUBIC | SWS_ACCURATE_RND;
+
+ if ( out_fmt == PIX_FMT_YUYV422 )
+ flags |= SWS_FULL_CHR_H_INP;
+diff -Naur mlt-0.7.6+git20120204.orig/src/modules/avformat/filter_avdeinterlace.c mlt-0.7.6+git20120204/src/modules/avformat/filter_avdeinterlace.c
+--- mlt-0.7.6+git20120204.orig/src/modules/avformat/filter_avdeinterlace.c 2011-03-15 18:55:45.000000000 +0100
++++ mlt-0.7.6+git20120204/src/modules/avformat/filter_avdeinterlace.c 2012-02-05 13:22:39.879438830 +0100
+@@ -31,7 +31,7 @@
+ #include "mmx.h"
+ #else
+ #define MAX_NEG_CROP 1024
+-extern uint8_t ff_cropTbl[256 + 2 * MAX_NEG_CROP];
++static uint8_t ff_cropTbl[256 + 2 * MAX_NEG_CROP] = {0,};
+ #endif
+
+ #ifdef USE_MMX
+@@ -346,6 +346,17 @@
+
+ mlt_filter filter_avdeinterlace_init( void *arg )
+ {
++#ifndef USE_MMX
++ if ( ff_cropTbl[MAX_NEG_CROP + 1] == 0 )
++ {
++ int i;
++ for(i=0;i<256;i++) ff_cropTbl[i + MAX_NEG_CROP] = i;
++ for(i=0;i<MAX_NEG_CROP;i++) {
++ ff_cropTbl[i] = 0;
++ ff_cropTbl[i + MAX_NEG_CROP + 256] = 255;
++ }
++ }
++#endif
+ mlt_filter filter = mlt_filter_new( );
+ if ( filter != NULL )
+ filter->process = deinterlace_process;
+diff -Naur mlt-0.7.6+git20120204.orig/src/modules/avformat/producer_avformat.c mlt-0.7.6+git20120204/src/modules/avformat/producer_avformat.c
+--- mlt-0.7.6+git20120204.orig/src/modules/avformat/producer_avformat.c 2012-02-04 14:14:54.000000000 +0100
++++ mlt-0.7.6+git20120204/src/modules/avformat/producer_avformat.c 2012-02-05 13:22:39.883438678 +0100
+@@ -1247,7 +1247,7 @@
+ {
+ #ifdef SWSCALE
+ int full_range = -1;
+- int flags = SWS_BILINEAR | SWS_ACCURATE_RND;
++ int flags = SWS_BICUBIC | SWS_ACCURATE_RND;
+
+ #ifdef USE_MMX
+ flags |= SWS_CPU_CAPS_MMX;
+@@ -1799,7 +1799,7 @@
+ for ( i = 0; i < count; i++ )
+ {
+ const char *opt_name = mlt_properties_get_name( properties, i );
+-#if LIBAVUTIL_VERSION_INT > ((51<<16)+(7<<8)+0)
++#if LIBAVUTIL_VERSION_INT >= ((51<<16)+(10<<8)+0)
+ const AVOption *opt = av_opt_find( obj, opt_name, NULL, flags, flags );
+ #else
+ const AVOption *opt = av_find_opt( obj, opt_name, NULL, flags, flags );
+diff -Naur mlt-0.7.6+git20120204.orig/src/modules/core/producer_consumer.c mlt-0.7.6+git20120204/src/modules/core/producer_consumer.c
+--- mlt-0.7.6+git20120204.orig/src/modules/core/producer_consumer.c 2012-02-04 14:14:54.000000000 +0100
++++ mlt-0.7.6+git20120204/src/modules/core/producer_consumer.c 2012-02-05 13:22:39.883438678 +0100
+@@ -141,6 +141,7 @@
+
+ // Since we control the seeking, prevent it from seeking on its own
+ mlt_producer_set_speed( cx->producer, 0 );
++ cx->audio_position = -1;
+
+ // We will encapsulate a consumer
+ cx->consumer = mlt_consumer_new( cx->profile );
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..996690c
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+01-various-upstream-fixes-20120205.diff
--
MLT multimedia framework packaging
More information about the pkg-kde-commits
mailing list