Sync from SUSE:SLFO:Main dirac revision e96485b15e5a115091694e907d844f0f
This commit is contained in:
commit
adb553d113
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
@ -0,0 +1,52 @@
|
|||||||
|
From 88fae6224b54ecf92ac6e3ae5083c3f352adc798 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Anuradha Suraparaju <anuradha@hoyle.rd.bbc.co.uk>
|
||||||
|
Date: Fri, 17 Apr 2009 17:47:27 +1000
|
||||||
|
Subject: [PATCH] Fix uninitialised memory read that causes the encoder to crash when using
|
||||||
|
non-overlapping blocks.
|
||||||
|
|
||||||
|
---
|
||||||
|
libdirac_common/mot_comp.cpp | 21 +++++++++++++++------
|
||||||
|
1 files changed, 15 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libdirac_common/mot_comp.cpp b/libdirac_common/mot_comp.cpp
|
||||||
|
index aa8d37c..e0ec2ff 100644
|
||||||
|
--- a/libdirac_common/mot_comp.cpp
|
||||||
|
+++ b/libdirac_common/mot_comp.cpp
|
||||||
|
@@ -306,6 +306,8 @@ void MotionCompensator::CompensateComponent( Picture* pic ,
|
||||||
|
|
||||||
|
int save_from_row = m_bparams.Ybsep()-m_bparams.Yoffset();
|
||||||
|
|
||||||
|
+ bool row_overlap = ((m_bparams.Yblen() - m_bparams.Ybsep()) > 0);
|
||||||
|
+
|
||||||
|
// unpadded picture dimensions
|
||||||
|
const int x_end_data = pic_data_out.FirstX() + std::min(pic_data_out.LengthX(), pic_size.x );
|
||||||
|
const int y_end_data = pic_data_out.FirstY() + std::min(pic_data_out.LengthY(), pic_size.y );
|
||||||
|
@@ -489,12 +491,19 @@ void MotionCompensator::CompensateComponent( Picture* pic ,
|
||||||
|
//Increment the block vertical position
|
||||||
|
pos.y += m_bparams.Ybsep();
|
||||||
|
|
||||||
|
- // Copy the rows required to motion compensate the next row of block.
|
||||||
|
- // This is usually Yblen-Ybsep rows.
|
||||||
|
- memmove (pic_data[0], pic_data[save_from_row], (m_bparams.Yblen() - save_from_row)*pic_data.LengthX()*sizeof(ValueType));
|
||||||
|
- memset( pic_data[m_bparams.Yblen() - save_from_row], 0, save_from_row*pic_data.LengthX()*sizeof(ValueType) );
|
||||||
|
- save_from_row = m_bparams.Ybsep();
|
||||||
|
-
|
||||||
|
+ if (row_overlap)
|
||||||
|
+ {
|
||||||
|
+ // Copy the rows required to motion compensate the next row of
|
||||||
|
+ // blocks. This is usually Yblen-Ybsep rows.
|
||||||
|
+ memmove (pic_data[0], pic_data[save_from_row], (m_bparams.Yblen() - save_from_row)*pic_data.LengthX()*sizeof(ValueType));
|
||||||
|
+ memset( pic_data[m_bparams.Yblen() - save_from_row], 0, save_from_row*pic_data.LengthX()*sizeof(ValueType) );
|
||||||
|
+ save_from_row = m_bparams.Ybsep();
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ // no row overlap. So reset pic_data to 0.
|
||||||
|
+ memset( pic_data[0], 0, m_bparams.Yblen()*pic_data.LengthX()*sizeof(ValueType) );
|
||||||
|
+ }
|
||||||
|
}//yblock
|
||||||
|
|
||||||
|
if ( m_add_or_sub == SUBTRACT)
|
||||||
|
--
|
||||||
|
1.7.0.3
|
||||||
|
|
6
baselibs.conf
Normal file
6
baselibs.conf
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
libdirac_decoder0
|
||||||
|
libdirac_encoder0
|
||||||
|
dirac-devel
|
||||||
|
requires -dirac-<targettype>
|
||||||
|
requires "libdirac_decoder0-<targettype> = <version>"
|
||||||
|
requires "libdirac_encoder0-<targettype> = <version>"
|
22
dirac-1.0.2-gcc45.patch
Normal file
22
dirac-1.0.2-gcc45.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
Index: dirac-1.0.2/libdirac_encoder/quant_chooser.cpp
|
||||||
|
===================================================================
|
||||||
|
--- dirac-1.0.2.orig/libdirac_encoder/quant_chooser.cpp
|
||||||
|
+++ dirac-1.0.2/libdirac_encoder/quant_chooser.cpp
|
||||||
|
@@ -340,7 +340,7 @@ void QuantChooser::SetSkip( CodeBlock& c
|
||||||
|
{
|
||||||
|
for (int i=cblock.Xstart(); i<cblock.Xend(); ++i )
|
||||||
|
{
|
||||||
|
- if ( (std::abs(m_coeff_data[j][i])<<2) >= u_threshold )
|
||||||
|
+ if ( (static_cast<int>(std::abs(m_coeff_data[j][i]))<<2) >= u_threshold )
|
||||||
|
can_skip = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -355,7 +355,7 @@ CoeffType QuantChooser::BlockAbsMax( con
|
||||||
|
{
|
||||||
|
for (int i=node.Xp() ; i<node.Xp()+node.Xl(); ++i)
|
||||||
|
{
|
||||||
|
- val = std::max( val , std::abs(m_coeff_data[j][i]) );
|
||||||
|
+ val = std::max( val , static_cast<int>(std::abs(m_coeff_data[j][i])) );
|
||||||
|
}// i
|
||||||
|
}// j
|
||||||
|
|
BIN
dirac-1.0.2.tar.gz
(Stored with Git LFS)
Normal file
BIN
dirac-1.0.2.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
115
dirac.changes
Normal file
115
dirac.changes
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 4 10:27:05 UTC 2017 - tchvatal@suse.com
|
||||||
|
|
||||||
|
- Cleanu pwith spec-cleaner
|
||||||
|
- Switch to upstream tarball instead of repacking
|
||||||
|
- Update dependencies to match reality
|
||||||
|
- Explicitely enable configuration switches
|
||||||
|
- Disable docu building as they are kinda empty unless we would
|
||||||
|
add latex and dot
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 26 09:17:16 UTC 2015 - jkeil@suse.com
|
||||||
|
|
||||||
|
- Add baselibs.conf as Source
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Apr 12 02:00:27 UTC 2015 - plinnell@opensuse.org
|
||||||
|
|
||||||
|
- added existing baselibs.conf to fix build
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Apr 4 18:11:09 UTC 2015 - dmueller@suse.com
|
||||||
|
|
||||||
|
- remove unneeded texlive-latex dependency
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Dec 7 23:30:21 UTC 2013 - matz@suse.de
|
||||||
|
|
||||||
|
- Don't buildrequire valgrind-devel anywhere, it's unused.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Dec 20 01:00:27 CET 2012 - ro@suse.de
|
||||||
|
|
||||||
|
- buildrequire pkg-config regardless of build-architecture
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Dec 9 11:49:18 UTC 2011 - coolo@suse.com
|
||||||
|
|
||||||
|
- fix license to be in spdx.org format
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 30 20:07:55 UTC 2011 - coolo@suse.com
|
||||||
|
|
||||||
|
- add libtool as buildrequire to make the spec file more reliable
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Sep 18 17:17:12 UTC 2011 - jengelh@medozas.de
|
||||||
|
|
||||||
|
- Remove redundant tags/sections from specfile
|
||||||
|
(cf. packaging guidelines)
|
||||||
|
- Use %_smp_mflags for parallel build
|
||||||
|
- Add dirac-devel to baselibs
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 14 13:38:21 UTC 2011 - toddrme2178@gmail.com
|
||||||
|
|
||||||
|
- added 32bit compatibility libraries
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 24 13:25:36 UTC 2010 - davejplater@gmail.com
|
||||||
|
|
||||||
|
- Split off doc subpackage
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 24 07:01:37 UTC 2010 - davejplater@gmail.com
|
||||||
|
|
||||||
|
- Added Provides: and Obsoletes: for packman libdirac-devel
|
||||||
|
- Included patch from dirac git to fix uninitialised memory read
|
||||||
|
that causes the encoder to crash when using non-overlapping blocks.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun May 9 08:49:10 UTC 2010 - davejplater@gmail.com
|
||||||
|
|
||||||
|
- Fixed factory build with patch from git dirac-1.0.2-gcc45.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Dec 18 22:46:01 CET 2009 - jengelh@medozas.de
|
||||||
|
|
||||||
|
- exclude valgrind-devel on SPARC
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Jul 12 14:31:22 CEST 2009 - coolo@novell.com
|
||||||
|
|
||||||
|
- fix build in disabling as-needed
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 1 17:44:48 CEST 2009 - sbrabec@suse.cz
|
||||||
|
|
||||||
|
- Updated to version 1.0.2:
|
||||||
|
* minor release complying with the latest Dirac Bytestream
|
||||||
|
Specification 2.2.3.
|
||||||
|
* Improved compression performance for small picture sizes.
|
||||||
|
* Improved compression performance at low bit-rates.
|
||||||
|
* Included macros to check the API version.
|
||||||
|
* Improved motion estimation.
|
||||||
|
* New 422 <-> 420 conversion utilities for interlaced video.
|
||||||
|
* New functionality added to encoder API.
|
||||||
|
* Fixed bugs in handling DC subband.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 29 19:26:44 CEST 2009 - sbrabec@suse.cz
|
||||||
|
|
||||||
|
- Worked around internal compiler error on 11.0-x86_64.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 25 10:26:27 CET 2008 - ro@suse.de
|
||||||
|
|
||||||
|
- do not buildrequire valgrind on ia64 s390 s390x
|
||||||
|
(does not exist on these platforms)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 6 10:40:56 CET 2008 - sbrabec@suse.cz
|
||||||
|
|
||||||
|
- New SuSE package (bnc#441855).
|
||||||
|
|
143
dirac.spec
Normal file
143
dirac.spec
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
#
|
||||||
|
# spec file for package dirac
|
||||||
|
#
|
||||||
|
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
Name: dirac
|
||||||
|
Version: 1.0.2
|
||||||
|
Release: 0
|
||||||
|
Summary: The Dirac_Video Codec
|
||||||
|
License: MPL-1.1
|
||||||
|
Group: Productivity/Multimedia/Video/Editors and Convertors
|
||||||
|
Url: https://sourceforge.net/projects/dirac/
|
||||||
|
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
|
||||||
|
Source1: baselibs.conf
|
||||||
|
Patch0: 0001-Fix-uninitialised-memory-read-that-causes-the-encode.patch
|
||||||
|
Patch1: %{name}-%{version}-gcc45.patch
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: libtool
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
BuildRequires: pkgconfig(cppunit)
|
||||||
|
|
||||||
|
%description
|
||||||
|
Dirac is an open source video codec. It uses a traditional hybrid video
|
||||||
|
codec architecture, but with the wavelet transform instead of the usual
|
||||||
|
block transforms. Motion compensation uses overlapped blocks to reduce
|
||||||
|
block artefacts that would upset the transform coding stage.
|
||||||
|
|
||||||
|
Dirac can code just about any size of video, from streaming up to HD
|
||||||
|
and beyond, although certain presets are defined for different
|
||||||
|
applications and standards. These cover the parameters that need to be
|
||||||
|
set for the encoder to work, such as block sizes and temporal
|
||||||
|
prediction structures, which must otherwise be set by hand.
|
||||||
|
|
||||||
|
%package -n libdirac_decoder0
|
||||||
|
Summary: Dirac Video Codec Decoder Library
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n libdirac_decoder0
|
||||||
|
Dirac is an open source video codec. It uses a traditional hybrid video
|
||||||
|
codec architecture, but with the wavelet transform instead of the usual
|
||||||
|
block transforms. Motion compensation uses overlapped blocks to reduce
|
||||||
|
block artefacts that would upset the transform coding stage.
|
||||||
|
|
||||||
|
Dirac can code just about any size of video, from streaming up to HD
|
||||||
|
and beyond, although certain presets are defined for different
|
||||||
|
applications and standards. These cover the parameters that need to be
|
||||||
|
set for the encoder to work, such as block sizes and temporal
|
||||||
|
prediction structures, which must otherwise be set by hand.
|
||||||
|
|
||||||
|
%package -n libdirac_encoder0
|
||||||
|
Summary: Dirac Video Codec Encoder Library
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n libdirac_encoder0
|
||||||
|
Dirac is an open source video codec. It uses a traditional hybrid video
|
||||||
|
codec architecture, but with the wavelet transform instead of the usual
|
||||||
|
block transforms. Motion compensation uses overlapped blocks to reduce
|
||||||
|
block artefacts that would upset the transform coding stage.
|
||||||
|
|
||||||
|
Dirac can code just about any size of video, from streaming up to HD
|
||||||
|
and beyond, although certain presets are defined for different
|
||||||
|
applications and standards. These cover the parameters that need to be
|
||||||
|
set for the encoder to work, such as block sizes and temporal
|
||||||
|
prediction structures, which must otherwise be set by hand.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development Files for Dirac Video Codec
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: libdirac_decoder0 = %{version}
|
||||||
|
Requires: libdirac_encoder0 = %{version}
|
||||||
|
Provides: libdirac-devel = %{version}-%{release}
|
||||||
|
Obsoletes: libdirac-devel < %{version}-%{release}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
Dirac is an open source video codec. It uses a traditional hybrid video
|
||||||
|
codec architecture, but with the wavelet transform instead of the usual
|
||||||
|
block transforms. Motion compensation uses overlapped blocks to reduce
|
||||||
|
block artefacts that would upset the transform coding stage.
|
||||||
|
|
||||||
|
Dirac can code just about any size of video, from streaming up to HD
|
||||||
|
and beyond, although certain presets are defined for different
|
||||||
|
applications and standards. These cover the parameters that need to be
|
||||||
|
set for the encoder to work, such as block sizes and temporal
|
||||||
|
prediction structures, which must otherwise be set by hand.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
# Code is not mature enough for -Werror (unused results)
|
||||||
|
sed -i 's/-Werror//' configure.ac
|
||||||
|
|
||||||
|
%build
|
||||||
|
ACLOCAL="aclocal -I m4" autoreconf -fvi
|
||||||
|
%configure \
|
||||||
|
--disable-silent-rules \
|
||||||
|
--disable-static \
|
||||||
|
--docdir=%{_docdir}/packages/%{name} \
|
||||||
|
--enable-mmx \
|
||||||
|
--enable-overlay
|
||||||
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install htmldir=%{_docdir}/%{name}/code/api_html
|
||||||
|
# remove the docs we want with main pkg
|
||||||
|
find %{buildroot} -type f -name "*.la" -delete -print
|
||||||
|
%fdupes %{buildroot}%{_docdir}/%{name}
|
||||||
|
|
||||||
|
%post -n libdirac_decoder0 -p /sbin/ldconfig
|
||||||
|
%postun -n libdirac_decoder0 -p /sbin/ldconfig
|
||||||
|
%post -n libdirac_encoder0 -p /sbin/ldconfig
|
||||||
|
%postun -n libdirac_encoder0 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files
|
||||||
|
%doc AUTHORS COPYING ChangeLog NEWS README TODO
|
||||||
|
%{_bindir}/*
|
||||||
|
|
||||||
|
%files -n libdirac_decoder0
|
||||||
|
%{_libdir}/libdirac_decoder.so.0*
|
||||||
|
|
||||||
|
%files -n libdirac_encoder0
|
||||||
|
%{_libdir}/libdirac_encoder.so.0*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_libdir}/*.so
|
||||||
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
%{_includedir}/%{name}
|
||||||
|
|
||||||
|
%changelog
|
Loading…
Reference in New Issue
Block a user