Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
cd2370c544 |
5
.gitignore
vendored
5
.gitignore
vendored
@ -61,8 +61,3 @@
|
||||
/gst-plugins-base-1.14.2.tar.xz
|
||||
/gst-plugins-base-1.14.3.tar.xz
|
||||
/gst-plugins-base-1.14.4.tar.xz
|
||||
/gst-plugins-base-1.15.1.tar.xz
|
||||
/gst-plugins-base-1.15.2.tar.xz
|
||||
/gst-plugins-base-1.16.0.tar.xz
|
||||
/gst-plugins-base-1.16.1.tar.xz
|
||||
/gst-plugins-base-1.16.2.tar.xz
|
||||
|
88
0001-video-converter-fix-number-of-allocated-lines.patch
Normal file
88
0001-video-converter-fix-number-of-allocated-lines.patch
Normal file
@ -0,0 +1,88 @@
|
||||
From 1f4783ad00dd3a511efb3c3c0aadde7dc728d8aa Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Fri, 11 Jan 2019 16:37:40 +0100
|
||||
Subject: [PATCH] video-converter: fix number of allocated lines
|
||||
|
||||
We make an allocator for temporary lines and then use this for all
|
||||
the steps in the conversion that can do in-place processing.
|
||||
|
||||
Keep track of the number of lines each step needs and use this to
|
||||
allocate the right number of lines.
|
||||
|
||||
Previously we would not always allocate enough lines and we would
|
||||
end up with conversion errors as lines would be reused prematurely.
|
||||
|
||||
Fixes #350
|
||||
---
|
||||
gst-libs/gst/video/video-converter.c | 23 ++++++++++++++++-------
|
||||
1 file changed, 16 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/gst-libs/gst/video/video-converter.c b/gst-libs/gst/video/video-converter.c
|
||||
index 4faf75078..5935f126c 100644
|
||||
--- a/gst-libs/gst/video/video-converter.c
|
||||
+++ b/gst-libs/gst/video/video-converter.c
|
||||
@@ -2070,20 +2070,18 @@ chain_pack (GstVideoConverter * convert, GstLineCache * prev, gint idx)
|
||||
static void
|
||||
setup_allocators (GstVideoConverter * convert)
|
||||
{
|
||||
- GstLineCache *cache;
|
||||
+ GstLineCache *cache, *prev;
|
||||
GstLineCacheAllocLineFunc alloc_line;
|
||||
gboolean alloc_writable;
|
||||
gpointer user_data;
|
||||
GDestroyNotify notify;
|
||||
- gint width, n_lines;
|
||||
+ gint width;
|
||||
gint i;
|
||||
|
||||
width = MAX (convert->in_maxwidth, convert->out_maxwidth);
|
||||
width += convert->out_x;
|
||||
|
||||
for (i = 0; i < convert->conversion_runner->n_threads; i++) {
|
||||
- n_lines = 1;
|
||||
-
|
||||
/* start with using dest lines if we can directly write into it */
|
||||
if (convert->identity_pack) {
|
||||
alloc_line = get_dest_line;
|
||||
@@ -2101,12 +2099,24 @@ setup_allocators (GstVideoConverter * convert)
|
||||
alloc_writable = convert->borderline != NULL;
|
||||
}
|
||||
|
||||
+ /* First step, try to calculate how many temp lines we need. Go backwards,
|
||||
+ * keep track of the maximum number of lines we need for each intermediate
|
||||
+ * step. */
|
||||
+ for (prev = cache = convert->pack_lines[i]; cache; cache = cache->prev) {
|
||||
+ GST_DEBUG ("looking at cache %p, %d lines, %d backlog", cache,
|
||||
+ cache->n_lines, cache->backlog);
|
||||
+ prev->n_lines = MAX (prev->n_lines, cache->n_lines);
|
||||
+ if (!cache->pass_alloc) {
|
||||
+ GST_DEBUG ("cache %p, needs %d lines", prev, prev->n_lines);
|
||||
+ prev = cache;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
/* now walk backwards, we try to write into the dest lines directly
|
||||
* and keep track if the source needs to be writable */
|
||||
for (cache = convert->pack_lines[i]; cache; cache = cache->prev) {
|
||||
gst_line_cache_set_alloc_line_func (cache, alloc_line, user_data, notify);
|
||||
cache->alloc_writable = alloc_writable;
|
||||
- n_lines = MAX (n_lines, cache->n_lines);
|
||||
|
||||
/* make sure only one cache frees the allocator */
|
||||
notify = NULL;
|
||||
@@ -2115,11 +2125,10 @@ setup_allocators (GstVideoConverter * convert)
|
||||
/* can't pass allocator, make new temp line allocator */
|
||||
user_data =
|
||||
converter_alloc_new (sizeof (guint16) * width * 4,
|
||||
- n_lines + cache->backlog, convert, NULL);
|
||||
+ cache->n_lines + cache->backlog, convert, NULL);
|
||||
notify = (GDestroyNotify) converter_alloc_free;
|
||||
alloc_line = get_temp_line;
|
||||
alloc_writable = FALSE;
|
||||
- n_lines = cache->n_lines;
|
||||
}
|
||||
/* if someone writes to the input, we need a writable line from the
|
||||
* previous cache */
|
||||
--
|
||||
2.19.2
|
||||
|
@ -5,7 +5,7 @@
|
||||
#global shortcommit %(c=%{gitcommit}; echo ${c:0:5})
|
||||
|
||||
Name: gstreamer1-plugins-base
|
||||
Version: 1.16.2
|
||||
Version: 1.14.4
|
||||
Release: 2%{?gitcommit:.git%{shortcommit}}%{?dist}
|
||||
Summary: GStreamer streaming media framework base plugins
|
||||
|
||||
@ -19,6 +19,8 @@ Source0: gst-plugins-base-%{version}.tar.xz
|
||||
Source0: http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-%{version}.tar.xz
|
||||
%endif
|
||||
Patch0: 0001-missing-plugins-Remove-the-mpegaudioversion-field.patch
|
||||
# https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/350#note_102166
|
||||
Patch1: 0001-video-converter-fix-number-of-allocated-lines.patch
|
||||
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gstreamer1-devel >= %{version}
|
||||
@ -44,12 +46,6 @@ BuildRequires: mesa-libGLES-devel
|
||||
BuildRequires: mesa-libGLU-devel
|
||||
BuildRequires: mesa-libEGL-devel
|
||||
BuildRequires: wayland-devel
|
||||
BuildRequires: egl-wayland-devel
|
||||
# pkgconfig-style deps specifically searched-for by autotools/configure
|
||||
BuildRequires: pkgconfig(wayland-client) >= 1.0
|
||||
BuildRequires: pkgconfig(wayland-cursor) >= 1.0
|
||||
BuildRequires: pkgconfig(wayland-egl) >= 9.0
|
||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.15
|
||||
|
||||
# documentation
|
||||
BuildRequires: gtk-doc >= 1.3
|
||||
@ -111,6 +107,7 @@ for the GStreamer Base Plugins library.
|
||||
%prep
|
||||
%setup -q -n gst-plugins-base-%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
# die rpath (method of modifying libtool fails here)
|
||||
@ -255,10 +252,8 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gst-play-1.0
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstaudiorate.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstaudioresample.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstaudiotestsrc.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstcompositor.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstencoding.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstgio.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstoverlaycomposition.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstplayback.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstpbtypes.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstrawparse.so
|
||||
@ -308,7 +303,6 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gst-play-1.0
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/app/gstappsink.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/app/gstappsrc.h
|
||||
%dir %{_includedir}/gstreamer-%{majorminor}/gst/audio
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/audio/audio-buffer.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/audio/audio-channels.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/audio/audio-channel-mixer.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/audio/audio-converter.h
|
||||
@ -372,7 +366,6 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gst-play-1.0
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/rtp/gstrtpdefs.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/rtp/gstrtp-enumtypes.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/rtp/gstrtphdrext.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/rtp/gstrtpmeta.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/rtp/gstrtppayloads.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/rtp/rtp.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/rtp/rtp-prelude.h
|
||||
@ -405,7 +398,6 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gst-play-1.0
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/video/colorbalance.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/video/colorbalancechannel.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideoaffinetransformationmeta.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideoaggregator.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideodecoder.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideoencoder.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideofilter.h
|
||||
@ -415,7 +407,6 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gst-play-1.0
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideotimecode.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideoutils.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/video/navigation.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/video/video-anc.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/video/video-blend.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/video/video-overlay-composition.h
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/video/video-chroma.h
|
||||
@ -474,40 +465,6 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gst-play-1.0
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.16.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Thu Jan 2 2020 Wim Taymans <wtaymans@redhat.com> - 1.16.2-1
|
||||
- Update to 1.16.2
|
||||
|
||||
* Tue Sep 24 2019 Wim Taymans <wtaymans@redhat.com> - 1.16.1-1
|
||||
- Update to 1.16.1
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.16.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Tue Apr 23 2019 Wim Taymans <wtaymans@redhat.com> - 1.16.0-1
|
||||
- Update to 1.16.0
|
||||
|
||||
* Thu Mar 07 2019 Rex Dieter <rdieter@fedoraproject.org> - 1.15.2-2
|
||||
- update wayland-related build deps, --enable-gtk-doc
|
||||
|
||||
* Thu Mar 07 2019 Rex Dieter <rdieter@fedoraproject.org> - 1.15.2-1
|
||||
- %%build: --disable-gtk-doc to workaround FTBFS (hopefully temporary)
|
||||
|
||||
* Fri Mar 01 2019 Wim Taymans <wtaymans@redhat.com> - 1.15.2-1
|
||||
- Update to 1.15.2
|
||||
- Add egl-wayland dep
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.15.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Mon Jan 28 2019 Wim Taymans <wtaymans@redhat.com> - 1.15.2-1
|
||||
- rebuild for dependencies
|
||||
|
||||
* Fri Jan 25 2019 Wim Taymans <wtaymans@redhat.com> - 1.15.1-1
|
||||
- Update to 1.15.1
|
||||
|
||||
* Fri Jan 11 2019 Bastien Nocera <bnocera@redhat.com> - 1.14.4-2
|
||||
+ gstreamer1-plugins-base-1.14.4-2
|
||||
- Fix thumbnail colours for 10-bit MPEG-4 files
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (gst-plugins-base-1.16.2.tar.xz) = f28e71bba8ba25d4f18ba3a196f057721151f1ebf1309d808bd6771a3f9a68facfa1970dc4353b6f2fd1e8945edf5272854d328ea11ef399544f8b330f754a42
|
||||
SHA512 (gst-plugins-base-1.14.4.tar.xz) = 42c59df9f2d848108f12afa0466acbcfa5ccda64e4d0d44608d4268abed20f2e036713de04e7d71feaed1868ad742c5bcb55ae0eef5dec8e19e053dc8541b8af
|
||||
|
Loading…
Reference in New Issue
Block a user