Hello community,

here is the log from the commit of package dirac.2254 for openSUSE:13.1:Update 
checked in at 2013-12-11 16:28:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/dirac.2254 (Old)
 and      /work/SRC/openSUSE:13.1:Update/.dirac.2254.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dirac.2254"

Changes:
--------
New Changes file:

--- /dev/null   2013-11-25 01:44:08.036031256 +0100
+++ /work/SRC/openSUSE:13.1:Update/.dirac.2254.new/dirac.changes        
2013-12-11 16:28:54.000000000 +0100
@@ -0,0 +1,90 @@
+-------------------------------------------------------------------
+Wed Nov 27 14:56:21 UTC 2013 - [email protected]
+
+- fix build for aarch64, no valgrind there
+
+-------------------------------------------------------------------
+Thu Dec 20 01:00:27 CET 2012 - [email protected]
+
+- buildrequire pkg-config regardless of build-architecture 
+
+-------------------------------------------------------------------
+Fri Dec  9 11:49:18 UTC 2011 - [email protected]
+
+- fix license to be in spdx.org format
+
+-------------------------------------------------------------------
+Fri Sep 30 20:07:55 UTC 2011 - [email protected]
+
+- add libtool as buildrequire to make the spec file more reliable
+
+-------------------------------------------------------------------
+Sun Sep 18 17:17:12 UTC 2011 - [email protected]
+
+- 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 - [email protected]
+   
+- added 32bit compatibility libraries
+
+-------------------------------------------------------------------
+Mon May 24 13:25:36 UTC 2010 - [email protected]
+
+- Split off doc subpackage
+
+-------------------------------------------------------------------
+Mon May 24 07:01:37 UTC 2010 - [email protected]
+
+- 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 - [email protected]
+
+- Fixed factory build with patch from git dirac-1.0.2-gcc45.patch
+
+-------------------------------------------------------------------
+Fri Dec 18 22:46:01 CET 2009 - [email protected]
+
+- exclude valgrind-devel on SPARC
+
+-------------------------------------------------------------------
+Sun Jul 12 14:31:22 CEST 2009 - [email protected]
+
+- fix build in disabling as-needed
+
+-------------------------------------------------------------------
+Wed Jul  1 17:44:48 CEST 2009 - [email protected]
+
+- 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 - [email protected]
+
+- Worked around internal compiler error on 11.0-x86_64.
+
+-------------------------------------------------------------------
+Tue Nov 25 10:26:27 CET 2008 - [email protected]
+
+- do not buildrequire valgrind on ia64 s390 s390x
+  (does not exist on these platforms)
+
+-------------------------------------------------------------------
+Thu Nov  6 10:40:56 CET 2008 - [email protected]
+
+- New SuSE package (bnc#441855).
+

New:
----
  0001-Fix-uninitialised-memory-read-that-causes-the-encode.patch
  baselibs.conf
  dirac-1.0.2-gcc45.patch
  dirac-1.0.2.tar.bz2
  dirac.changes
  dirac.spec

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dirac.spec ++++++
#
# spec file for package dirac
#
# Copyright (c) 2013 SUSE LINUX Products 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
Url:            http://diracvideo.org/
Summary:        The Dirac_Video Codec
License:        MPL-1.1
Group:          Productivity/Multimedia/Video/Editors and Convertors
Source:         %{name}-%{version}.tar.bz2
Patch0:         0001-Fix-uninitialised-memory-read-that-causes-the-encode.patch
Patch1:         %{name}-%{version}-gcc45.patch
BuildRequires:  gcc-c++
BuildRequires:  libcppunit-devel
BuildRequires:  libstdc++-devel
BuildRequires:  libtool
BuildRequires:  pkg-config
%ifarch %ix86 ppc x86_64
BuildRequires:  valgrind-devel
%endif
BuildRequires:  doxygen
BuildRequires:  fdupes
BuildRequires:  graphviz-gd
BuildRequires:  texlive-latex
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%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.

Dirac is intended to develop into real coding and decoding software,
capable of plugging into video processing applications and media
players that need compression. It is intended to develop into a simple
set of reliable but effective coding tools that work over a wide
variety of content and formats, using well-understood compression
techniques, in a clear and accessible software structure. It is not
intended as a demonstration or reference coder.

%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.

Dirac is intended to develop into real coding and decoding software,
capable of plugging into video processing applications and media
players that need compression. It is intended to develop into a simple
set of reliable but effective coding tools that work over a wide
variety of content and formats, using well-understood compression
techniques, in a clear and accessible software structure. It is not
intended as a demonstration or reference coder.

%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.

Dirac is intended to develop into real coding and decoding software,
capable of plugging into video processing applications and media
players that need compression. It is intended to develop into a simple
set of reliable but effective coding tools that work over a wide
variety of content and formats, using well-understood compression
techniques, in a clear and accessible software structure. It is not
intended as a demonstration or reference coder.

%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.

Dirac is intended to develop into real coding and decoding software,
capable of plugging into video processing applications and media
players that need compression. It is intended to develop into a simple
set of reliable but effective coding tools that work over a wide
variety of content and formats, using well-understood compression
techniques, in a clear and accessible software structure. It is not
intended as a demonstration or reference coder.

%package doc
Summary:        Dirac Video Codec api documentation
Group:          Documentation/HTML
%if 0%{?suse_version} > 1110
BuildArch:      noarch
%endif

%description doc
This package provides the api reference documentation for using dirac libraries
in your program.

%prep
%setup -q
%patch0 -p1
%patch1 -p1
# Code is not mature enough for -Werror (unused results)
sed -i 's/-Werror//' configure.ac

%build
# fix build in disabling as-needed
export SUSE_ASNEEDED=0
ACLOCAL="aclocal -I m4" autoreconf -f -i
%if %suse_version == 1100
%ifarch x86_64
export CXXFLAGS="$RPM_OPT_FLAGS -O0"
%endif
%endif
%configure\
        --disable-static \
        --docdir=%{_docdir}/packages/%{name}
make %{?_smp_mflags}
#htmldir=%{_docdir}/%{name}/code/api_html

%install
%makeinstall htmldir=%{_docdir}/%{name}/code/api_html
%{__rm} -f %{buildroot}%{_libdir}/*.la
%{__cp} -a AUTHORS COPYING ChangeLog NEWS README TODO 
%{buildroot}%{_docdir}/%{name}/
%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
%defattr (-, root, root)
#%%doc AUTHORS COPYING ChangeLog NEWS README TODO
#%%doc %{_docdir}/%{name}/[ACNRT]*
%{_bindir}/*

%files -n libdirac_decoder0
%defattr (-, root, root)
%{_libdir}/libdirac_decoder.so.0*

%files -n libdirac_encoder0
%defattr (-, root, root)
%{_libdir}/libdirac_encoder.so.0*

%files devel
%defattr (-, root, root)
#%%doc %{_docdir}/%{name}/[ACNRT]*
%{_libdir}/*.so
#%{_libdir}/*.*a
%{_libdir}/pkgconfig/*.pc
%{_includedir}/%{name}

%files doc
%defattr (-, root, root)
%doc %{_docdir}/%{name}

%changelog
++++++ 0001-Fix-uninitialised-memory-read-that-causes-the-encode.patch ++++++
>From 88fae6224b54ecf92ac6e3ae5083c3f352adc798 Mon Sep 17 00:00:00 2001
From: Anuradha Suraparaju <[email protected]>
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

++++++ baselibs.conf ++++++
libdirac_decoder0
libdirac_encoder0
dirac-devel
        requires -dirac-<targettype>
        requires "libdirac_decoder0-<targettype> = <version>"
        requires "libdirac_encoder0-<targettype> = <version>"
++++++ dirac-1.0.2-gcc45.patch ++++++
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
 
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to