commit 47c3c1c31c6d779e8f5a6988f3e586dd706ff106 Author: overweight <5324761+overweight@user.noreply.gitee.com> Date: Mon Sep 30 10:58:28 2019 -0400 Package init diff --git a/libtheora-1.1.1-fix-pp_sharp_mod-calc.patch b/libtheora-1.1.1-fix-pp_sharp_mod-calc.patch new file mode 100644 index 0000000..e797f2b --- /dev/null +++ b/libtheora-1.1.1-fix-pp_sharp_mod-calc.patch @@ -0,0 +1,27 @@ +pp_sharp_modr18268 | tterribe | 2012-05-08 03:51:57 +0100 (Tue, 08 May 2012) | 8 lines + +Fix pp_sharp_mod calculation. + +This was broken when the dequant_tables indexing changed in commit + r16102, but it only affected post-processing quality, so we never + noticed. +With gcc 4.8.0, this can now trigger a segfault during decoder + initialization. + +--- a/lib/decode.c (revision 18267) ++++ b/lib/decode.c (revision 18268) +@@ -400,10 +400,10 @@ + int qsum; + qsum=0; + for(qti=0;qti<2;qti++)for(pli=0;pli<3;pli++){ +- qsum+=_dec->state.dequant_tables[qti][pli][qi][12]+ +- _dec->state.dequant_tables[qti][pli][qi][17]+ +- _dec->state.dequant_tables[qti][pli][qi][18]+ +- _dec->state.dequant_tables[qti][pli][qi][24]<<(pli==0); ++ qsum+=_dec->state.dequant_tables[qi][pli][qti][12]+ ++ _dec->state.dequant_tables[qi][pli][qti][17]+ ++ _dec->state.dequant_tables[qi][pli][qti][18]+ ++ _dec->state.dequant_tables[qi][pli][qti][24]<<(pli==0); + } + _dec->pp_sharp_mod[qi]=-(qsum>>11); + } diff --git a/libtheora-1.1.1-libm.patch b/libtheora-1.1.1-libm.patch new file mode 100644 index 0000000..f54298d --- /dev/null +++ b/libtheora-1.1.1-libm.patch @@ -0,0 +1,12 @@ +diff -up libtheora-1.1.1/examples/Makefile.am.jx libtheora-1.1.1/examples/Makefile.am +--- libtheora-1.1.1/examples/Makefile.am.jx 2009-08-31 16:18:36.000000000 -0400 ++++ libtheora-1.1.1/examples/Makefile.am 2014-06-09 10:39:57.532278533 -0400 +@@ -22,7 +22,7 @@ dump_psnr_LDADD = $(GETOPT_OBJS) $(LDADD + + player_example_SOURCES = player_example.c + player_example_CFLAGS = $(SDL_CFLAGS) $(OGG_CFLAGS) $(VORBIS_CFLAGS) +-player_example_LDADD = $(LDADDDEC) $(SDL_LIBS) $(VORBIS_LIBS) $(OSS_LIBS) ++player_example_LDADD = $(LDADDDEC) $(SDL_LIBS) $(VORBIS_LIBS) $(OSS_LIBS) -lm + + encoder_example_SOURCES = encoder_example.c + EXTRA_encoder_example_SOURCES = getopt.c getopt1.c getopt.h diff --git a/libtheora-1.1.1-libpng16.patch b/libtheora-1.1.1-libpng16.patch new file mode 100644 index 0000000..93da700 --- /dev/null +++ b/libtheora-1.1.1-libpng16.patch @@ -0,0 +1,17 @@ +http://bugs.gentoo.org/465450 +http://trac.xiph.org/ticket/1947 + +--- examples/png2theora.c ++++ examples/png2theora.c +@@ -462,9 +462,9 @@ + png_set_strip_alpha(png_ptr); + + row_data = (png_bytep)png_malloc(png_ptr, +- 3*height*width*png_sizeof(*row_data)); ++ 3*height*width*sizeof(*row_data)); + row_pointers = (png_bytep *)png_malloc(png_ptr, +- height*png_sizeof(*row_pointers)); ++ height*sizeof(*row_pointers)); + for(y = 0; y < height; y++) { + row_pointers[y] = row_data + y*(3*width); + } diff --git a/libtheora-1.1.1.tar.xz b/libtheora-1.1.1.tar.xz new file mode 100644 index 0000000..90eb8fb Binary files /dev/null and b/libtheora-1.1.1.tar.xz differ diff --git a/libtheora.spec b/libtheora.spec new file mode 100644 index 0000000..7e0f9d1 --- /dev/null +++ b/libtheora.spec @@ -0,0 +1,111 @@ +Name: libtheora +Version: 1.1.1 +Release: 23 +Summary: Theora Video Compression +License: BSD +Epoch: 1 +URL: http://www.theora.org +Source0: http://downloads.xiph.org/releases/theora/%{name}-%{version}.tar.xz + +BuildRequires: autoconf automake libtool SDL-devel libpng-devel doxygen +BuildRequires: libogg-devel >= 2:1.1 +BuildRequires: libvorbis-devel tetex-latex transfig + +Patch0: libtheora-1.1.1-fix-pp_sharp_mod-calc.patch +Patch1: libtheora-1.1.1-libpng16.patch +Patch2: libtheora-1.1.1-libm.patch + +%description +Theora is a free and open video compression format from the Xiph.org Foundation. Like all +our multimedia technology it can be used to distribute film and video online and on disc +without the licensing and royalty fees or vendor lock-in associated with other formats. + +devel-docs +The libtheora-devel-docs package contains the documentation needed +to develop applications with libtheora. + +%package devel +Summary: Development tools for Theora applications +Requires: libogg-devel >= 2:1.1 +Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} + +# Provide the same headers as theora-exp-devel did. +Obsoletes: theora-exp-devel +Provides: theora-exp-devel + +%description devel +The libtheora-devel package contains the header files needed to develop +applications with libtheora. + + +%package help +Summary: Help documentation for developing Theora applications +BuildArch: noarch + +Obsoletes: devel-docs +Provides: devel-docs + +%description help +The libtheora-help package contains the documentation to help +developpers to use libtheora. + +%package -n theora-tools +Summary: Command line tools for theora +Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} + +%description -n theora-tools +The theora-tools package contains simple commands to help developpers to +use with theora bitstreams. + + +%prep +%setup -q +%patch0 -p1 +%patch1 -p0 -b .libpng16 +%patch2 -p1 + +sed -i 's/CFLAGS="$CFLAGS $cflags_save"/CFLAGS="$cflags_save"/g' configure +cp /usr/lib/rpm/config.* . + +%build +./autogen.sh +%configure --enable-shared --disable-static +%disable_rpath +%make_build + +make -C doc/spec %{?_smp_mflags} + +%install + +%make_install + +rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la +rm -rf $RPM_BUILD_ROOT/%{_docdir}/ +mkdir -p $RPM_BUILD_ROOT/%{_bindir} +install -m 755 examples/.libs/dump_video $RPM_BUILD_ROOT/%{_bindir}/theora_dump_video +install -m 755 examples/.libs/encoder_example $RPM_BUILD_ROOT/%{_bindir}/theora_encode +install -m 755 examples/.libs/player_example $RPM_BUILD_ROOT/%{_bindir}/theora_player +install -m 755 examples/.libs/png2theora $RPM_BUILD_ROOT/%{_bindir}/png2theora + +%ldconfig_scriptlets + + +%files +%doc README COPYING +%{_libdir}/*.so.* + +%files devel +%{_libdir}/*.so +%{_libdir}/pkgconfig/theora*.pc +%{_includedir}/theora + +%files help +%doc doc/libtheora/html doc/vp3-format.txt doc/spec/Theora.pdf +%doc doc/color.html doc/draft-ietf-avt-rtp-theora-00.txt + +%files -n theora-tools +%{_bindir}/* + +%changelog +* Thu Sep 5 2019 openEuler Buildteam - 1:1.1.1-23 +- Package init