ports/132084: [PATCH] multimedia/libtheora: update to 1.0

Marcin Cieslak saper at SYSTEM.PL
Wed Feb 25 03:50:02 UTC 2009


>Number:         132084
>Category:       ports
>Synopsis:       [PATCH] multimedia/libtheora: update to 1.0
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Feb 25 03:50:01 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Marcin Cieslak
>Release:        FreeBSD 7.1-STABLE amd64
>Organization:
http://saper.info
>Environment:
System: FreeBSD radziecki.saper.info 7.1-STABLE FreeBSD 7.1-STABLE #2 r187968M: Tue Feb 17 10:52:35 CET
>Description:

* Update to 1.0 release
* Included preliminary patch for issue https://trac.xiph.org/ticket/1515
* Assembly optimization is turned on on amd64
* New libtheoraenc/dec libraries (and pkgconfig files)

Works with ffmpeg2theora and as mplayer decoder, encoding with ffmpeg
needs some more testing.

Added file(s):
- files/patch-issue1515

Port maintainer (multimedia at FreeBSD.org) is cc'd.

Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:

--- libtheora-1.0.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/multimedia/libtheora.orig/Makefile /usr/ports/multimedia/libtheora/Makefile
--- /usr/ports/multimedia/libtheora.orig/Makefile	2009-02-25 00:24:11.819196581 +0100
+++ /usr/ports/multimedia/libtheora/Makefile	2009-02-25 03:39:30.121230321 +0100
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	libtheora
-DISTVERSION=	1.0beta2
+DISTVERSION=	1.0
 CATEGORIES=	multimedia
 MASTER_SITES=	http://downloads.xiph.org/releases/theora/ \
 		http://distfiles.master.finkmirrors.net/
@@ -29,5 +29,6 @@
 
 post-patch:
 	@${REINPLACE_CMD} -e 's|doc||g' ${WRKSRC}/Makefile.in
+	@${REINPLACE_CMD} -e 's,  x86_64),  x86_64|amd64),' ${WRKSRC}/configure
 
 .include <bsd.port.mk>
diff -ruN --exclude=CVS /usr/ports/multimedia/libtheora.orig/distinfo /usr/ports/multimedia/libtheora/distinfo
--- /usr/ports/multimedia/libtheora.orig/distinfo	2009-02-25 00:24:11.819196581 +0100
+++ /usr/ports/multimedia/libtheora/distinfo	2009-02-25 03:39:59.138549217 +0100
@@ -1,3 +1,3 @@
-MD5 (libtheora-1.0beta2.tar.bz2) = 6ed9f998a982e996ad53d3686d655cfe
-SHA256 (libtheora-1.0beta2.tar.bz2) = 8bd514ddf5836d82a97f9ff2a4b606c9ccf6ed749055a9fb79f7a335c0ef4b20
-SIZE (libtheora-1.0beta2.tar.bz2) = 1774632
+MD5 (libtheora-1.0.tar.bz2) = c963937053f45a7878954bed37ceb182
+SHA256 (libtheora-1.0.tar.bz2) = 3ae9df56e8fc75ffe26e63a13cae2ce79d079416175fb0baffe0e2de8dc91a6d
+SIZE (libtheora-1.0.tar.bz2) = 1652987
diff -ruN --exclude=CVS /usr/ports/multimedia/libtheora.orig/files/patch-Makefile.in /usr/ports/multimedia/libtheora/files/patch-Makefile.in
--- /usr/ports/multimedia/libtheora.orig/files/patch-Makefile.in	2009-02-25 00:24:11.818198137 +0100
+++ /usr/ports/multimedia/libtheora/files/patch-Makefile.in	2009-02-25 03:36:15.169568719 +0100
@@ -1,7 +1,7 @@
---- Makefile.in.orig	2007-09-18 02:54:23.000000000 -0400
-+++ Makefile.in	2007-10-09 13:37:57.000000000 -0400
-@@ -73,7 +73,7 @@
-   distclean-recursive maintainer-clean-recursive
+--- Makefile.in.orig	2008-10-29 11:36:48.000000000 +0100
++++ Makefile.in	2009-02-25 03:35:59.886902862 +0100
+@@ -80,7 +80,7 @@
+ DATA = $(pkgconfig_DATA)
  ETAGS = etags
  CTAGS = ctags
 -DIST_SUBDIRS = lib include doc tests m4 examples
@@ -9,12 +9,12 @@
  DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
  distdir = $(PACKAGE)-$(VERSION)
  top_distdir = $(distdir)
-@@ -240,7 +240,7 @@
+@@ -274,7 +274,7 @@
  	libtheora.spec libtheora.spec.in \
  	theora-uninstalled.pc.in
  
 -pkgconfigdir = $(libdir)/pkgconfig
 +pkgconfigdir = $(prefix)/libdata/pkgconfig
- pkgconfig_DATA = theora.pc
+ pkgconfig_DATA = theora.pc theoradec.pc theoraenc.pc
  all: config.h
  	$(MAKE) $(AM_MAKEFLAGS) all-recursive
diff -ruN --exclude=CVS /usr/ports/multimedia/libtheora.orig/files/patch-issue1515 /usr/ports/multimedia/libtheora/files/patch-issue1515
--- /usr/ports/multimedia/libtheora.orig/files/patch-issue1515	1970-01-01 01:00:00.000000000 +0100
+++ /usr/ports/multimedia/libtheora/files/patch-issue1515	2009-02-25 02:55:04.310554317 +0100
@@ -0,0 +1,64 @@
+diff -ru lib/enc.orig/encode.c lib/enc/encode.c
+--- lib/enc.orig/encode.c	2009-02-25 00:37:51.868139315 +0100
++++ lib/enc/encode.c	2009-02-25 00:23:45.582743808 +0100
+@@ -934,7 +934,7 @@
+                         ogg_uint32_t SBRows,
+                         ogg_uint32_t SBCols){
+ 
+-  ogg_int32_t   FragIndex;  /* Fragment number */
++  ogg_int32_t   FragIndex, FirstFragIndex;  /* Fragment number */
+   ogg_uint32_t  MB, B;      /* Macro-Block, Block indices */
+   ogg_uint32_t  SBrow;      /* Super-Block row number */
+   ogg_uint32_t  SBcol;      /* Super-Block row number */
+@@ -953,19 +953,20 @@
+         /* There may be MB's lying out of frame which must be
+            ignored. For these MB's Top left block will have a negative
+            Fragment Index. */
+-        if ( QuadMapToMBTopLeft(cpi->pb.BlockMap,SB,MB) >= 0 ) {
++        if ( (FirstFragIndex = QuadMapToMBTopLeft(cpi->pb.BlockMap,SB,MB)) >= 0 ) {
+ 
+           cpi->MBCodingMode = CODE_INTRA;
+ 
+           /* Now actually code the blocks. */
+           for ( B=0; B<4; B++ ) {
+             FragIndex = QuadMapToIndex1( cpi->pb.BlockMap, SB, MB, B );
+-            cpi->pb.FragCodingMethod[FragIndex] = cpi->MBCodingMode;
++            if (FragIndex >= 0)
++	      cpi->pb.FragCodingMethod[FragIndex] = cpi->MBCodingMode;
+           }
+ 
+           /* Matching fragments in the U and V planes */
+-          UVRow = (FragIndex / (cpi->pb.HFragments * 2));
+-          UVColumn = (FragIndex % cpi->pb.HFragments) / 2;
++          UVRow = (FirstFragIndex / (cpi->pb.HFragments * 2));
++          UVColumn = (FirstFragIndex % cpi->pb.HFragments) / 2;
+           UVFragOffset = (UVRow * (cpi->pb.HFragments / 2)) + UVColumn;
+ 
+           cpi->pb.FragCodingMethod[cpi->pb.YPlaneFragments + UVFragOffset] =
+Only in lib/enc: encode.c.orig
+diff -ru lib/enc.orig/misc_common.c lib/enc/misc_common.c
+--- lib/enc.orig/misc_common.c	2009-02-25 00:37:51.865139234 +0100
++++ lib/enc/misc_common.c	2009-02-25 00:51:20.362286530 +0100
+@@ -87,14 +87,14 @@
+   if ( QuadMapToMBTopLeft(cpi->pb.BlockMap, SB, MB ) >= 0 ) {
+     /* Up regulate the component blocks Y then UV. */
+     for ( B=0; B<4; B++ ){
+-      FragIndex = QuadMapToIndex1( cpi->pb.BlockMap, SB, MB, B );
+-
+-      if ( ( !cpi->pb.display_fragments[FragIndex] ) &&
+-           ( (NoCheck) || (cpi->FragmentLastQ[FragIndex] > RegulationQ) ) ){
+-        cpi->pb.display_fragments[FragIndex] = 1;
+-        cpi->extra_fragments[FragIndex] = 1;
+-        cpi->FragmentLastQ[FragIndex] = RegulationQ;
+-        cpi->MotionScore++;
++      if ((FragIndex = QuadMapToIndex1( cpi->pb.BlockMap, SB, MB, B )) >= 0) {
++        if ( ( !cpi->pb.display_fragments[FragIndex] ) &&
++             ( (NoCheck) || (cpi->FragmentLastQ[FragIndex] > RegulationQ) ) ){
++          cpi->pb.display_fragments[FragIndex] = 1;
++          cpi->extra_fragments[FragIndex] = 1;
++          cpi->FragmentLastQ[FragIndex] = RegulationQ;
++          cpi->MotionScore++;
++        }
+       }
+     }
+ 
diff -ruN --exclude=CVS /usr/ports/multimedia/libtheora.orig/pkg-plist /usr/ports/multimedia/libtheora/pkg-plist
--- /usr/ports/multimedia/libtheora.orig/pkg-plist	2009-02-25 00:24:11.819196581 +0100
+++ /usr/ports/multimedia/libtheora/pkg-plist	2009-02-25 03:42:17.763292835 +0100
@@ -1,7 +1,16 @@
 include/theora/theora.h
+include/theora/codec.h
+include/theora/theoraenc.h
+include/theora/theoradec.h
 lib/libtheora.a
 lib/libtheora.la
 lib/libtheora.so
 lib/libtheora.so.0
+lib/libtheoraenc.so
+lib/libtheoraenc.so.1
+lib/libtheoradec.so
+lib/libtheoradec.so.1
 libdata/pkgconfig/theora.pc
+libdata/pkgconfig/theoraenc.pc
+libdata/pkgconfig/theoradec.pc
 @dirrm include/theora
--- libtheora-1.0.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list