1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-21 04:06:46 +00:00

Update to 1.3.1. Improvements in this release:

* Optimized/coupled surround support for 5.1 encoding at 44.1/48kHz
* Added encoder control call to disable channel coupling
* Corrected an overflow bug in very low-bitrate encoding on 32 bit
  machines that caused inflated bitrates
* Numerous API hardening, leak and build fixes
* Correct bug in 22kHz compand setup that could cause a crash
* Correct bug in 16kHz codebooks that could cause unstable pure
  tones at high bitrates
This commit is contained in:
Christian Weisgerber 2010-06-06 20:36:53 +00:00
parent ce90a1d1e8
commit 0df5f843f0
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=255953
10 changed files with 30 additions and 144 deletions

View File

@ -6,22 +6,21 @@
#
PORTNAME= libvorbis
PORTVERSION= 1.2.3
PORTREVISION= 1
PORTVERSION= 1.3.1
PORTEPOCH= 3
CATEGORIES= audio
MASTER_SITES= http://downloads.xiph.org/releases/vorbis/ \
http://freebsd.unixfreunde.de/sources/
MASTER_SITES= http://downloads.xiph.org/releases/vorbis/
MAINTAINER= naddy@FreeBSD.org
COMMENT= Audio compression codec library
LIB_DEPENDS= ogg.6:${PORTSDIR}/audio/libogg
LIB_DEPENDS= ogg.7:${PORTSDIR}/audio/libogg
USE_AUTOTOOLS= libtool:22
GNU_CONFIGURE= yes
USE_GNOME= gnomehack
CONFIGURE_ARGS= --with-ogg=${LOCALBASE}
CONFIGURE_ARGS= --with-ogg=${LOCALBASE} \
--disable-docs # don't rebuild
USE_LDCONFIG= yes
MAKE_JOBS_SAFE= yes

View File

@ -1,3 +1,3 @@
MD5 (libvorbis-1.2.3.tar.gz) = 5aa77f55c0e0aab8eb8ed982335daac8
SHA256 (libvorbis-1.2.3.tar.gz) = c679d1e5e45a3ec8aceb5e71de8e3712630b7a6dec6952886c17435a65955947
SIZE (libvorbis-1.2.3.tar.gz) = 1474492
MD5 (libvorbis-1.3.1.tar.gz) = 016e523fac70bdd786258a9d15fd36e9
SHA256 (libvorbis-1.3.1.tar.gz) = 951f462ba732a76f51002590d56437ee45362f4353d8bdbeb01231a54a2da0f1
SIZE (libvorbis-1.3.1.tar.gz) = 1467164

View File

@ -1,14 +1,14 @@
$FreeBSD$
--- Makefile.in.orig 2009-07-06 20:01:16.000000000 +0200
+++ Makefile.in 2009-07-06 20:01:35.000000000 +0200
@@ -227,7 +227,7 @@ target_vendor = @target_vendor@
--- Makefile.in.orig 2010-06-05 15:15:13.000000000 +0200
+++ Makefile.in 2010-06-05 15:15:27.000000000 +0200
@@ -231,7 +231,7 @@ target_vendor = @target_vendor@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.6 foreign dist-zip dist-bzip2
-SUBDIRS = m4 include vq lib examples test doc
+SUBDIRS = m4 include vq lib examples test $(DOC)
AUTOMAKE_OPTIONS = 1.7 foreign dist-zip dist-bzip2
-SUBDIRS = m4 include vq lib test doc $(am__append_1)
+SUBDIRS = m4 include vq lib test $(DOC) $(am__append_1)
m4datadir = $(datadir)/aclocal
m4data_DATA = vorbis.m4
pkgconfigdir = $(libdir)/pkgconfig

View File

@ -1,9 +1,9 @@
$FreeBSD$
--- configure.orig 2009-07-06 20:01:46.000000000 +0200
+++ configure 2009-07-06 20:02:20.000000000 +0200
@@ -20489,7 +20489,7 @@ if test -z "$GCC"; then
--- configure.orig 2010-06-05 15:16:53.000000000 +0200
+++ configure 2010-06-05 15:20:42.000000000 +0200
@@ -11778,7 +11778,7 @@ if test -z "$GCC"; then
PROFILE="-v -xpg -g -xO4 -fast -native -fsimple -xcg92 -Dsuncc" ;;
*)
DEBUG="-g"
@ -12,7 +12,7 @@ $FreeBSD$
PROFILE="-g -p" ;;
esac
else
@@ -20663,9 +20663,9 @@ rm -f core conftest.err conftest.$ac_obj
@@ -11956,9 +11956,9 @@ rm -f core conftest.err conftest.$ac_obj
CFLAGS="-O20 -Wall -W -ffast-math -D_REENTRANT -fsigned-char"
PROFILE="-pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char";;
*)

View File

@ -1,9 +1,9 @@
$FreeBSD$
--- doc/Makefile.in.orig 2009-07-06 20:04:01.000000000 +0200
+++ doc/Makefile.in 2009-07-06 20:04:14.000000000 +0200
@@ -168,7 +168,7 @@ build_vendor = @build_vendor@
--- doc/Makefile.in.orig 2010-03-26 08:00:08.000000000 +0100
+++ doc/Makefile.in 2010-06-05 15:26:43.000000000 +0200
@@ -171,7 +171,7 @@ build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
@ -12,3 +12,12 @@ $FreeBSD$
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
@@ -275,7 +275,7 @@ SPEC_TEX = \
footer.tex
built_docs = Vorbis_I_spec.pdf Vorbis_I_spec.html Vorbis_I_spec.css
-@BUILD_DOCS_FALSE@doc_DATA = $(static_docs) doxygen-build.stamp
+@BUILD_DOCS_FALSE@doc_DATA = $(static_docs)
# conditionally make the generated documentation
@BUILD_DOCS_TRUE@doc_DATA = $(static_docs) $(SPEC_PNG) $(built_docs) doxygen-build.stamp

View File

@ -1,11 +0,0 @@
$FreeBSD$
--- lib/backends.h.orig 2009-11-24 21:46:47.000000000 +0100
+++ lib/backends.h 2009-11-24 21:46:47.000000000 +0100
@@ -109,6 +109,7 @@ typedef struct vorbis_info_residue0{
/* first stage (lossless partitioning) */
int grouping; /* group n vectors per partition */
int partitions; /* possible codebooks for a partition */
+ int partvals; /* partitions ^ groupbook dim */
int groupbook; /* huffbook for partitioning */
int secondstages[64]; /* expanded out to pointers in lookup */
int booklist[512]; /* list of second stage books */

View File

@ -1,11 +0,0 @@
$FreeBSD$
--- lib/codebook.c.orig 2009-07-09 11:12:08.000000000 +0200
+++ lib/codebook.c 2009-11-24 21:46:47.000000000 +0100
@@ -198,6 +198,7 @@ int vorbis_staticbook_unpack(oggpack_buf
for(i=0;i<s->entries;){
long num=oggpack_read(opb,_ilog(s->entries-i));
if(num==-1)goto _eofout;
+ if(length>32)goto _errout;
for(j=0;j<num && i<s->entries;j++,i++)
s->lengthlist[i]=length;
length++;

View File

@ -1,30 +0,0 @@
$FreeBSD$
--- lib/modes/residue_44.h.orig 2009-07-09 11:12:08.000000000 +0200
+++ lib/modes/residue_44.h 2009-11-24 21:46:47.000000000 +0100
@@ -22,7 +22,7 @@
/***** residue backends *********************************************/
static const vorbis_info_residue0 _residue_44_low={
- 0,-1, -1, 9,-1,
+ 0,-1, -1, 9,-1,-1,
/* 0 1 2 3 4 5 6 7 */
{0},
{-1},
@@ -31,7 +31,7 @@ static const vorbis_info_residue0 _resid
};
static const vorbis_info_residue0 _residue_44_mid={
- 0,-1, -1, 10,-1,
+ 0,-1, -1, 10,-1,-1,
/* 0 1 2 3 4 5 6 7 8 */
{0},
{-1},
@@ -40,7 +40,7 @@ static const vorbis_info_residue0 _resid
};
static const vorbis_info_residue0 _residue_44_high={
- 0,-1, -1, 10,-1,
+ 0,-1, -1, 10,-1,-1,
/* 0 1 2 3 4 5 6 7 8 */
{0},
{-1},

View File

@ -1,30 +0,0 @@
$FreeBSD$
--- lib/modes/residue_44u.h.orig 2009-07-08 07:40:12.000000000 +0200
+++ lib/modes/residue_44u.h 2009-11-24 21:46:47.000000000 +0100
@@ -23,7 +23,7 @@
static const vorbis_info_residue0 _residue_44_low_un={
- 0,-1, -1, 8,-1,
+ 0,-1, -1, 8,-1,-1,
{0},
{-1},
{ .5, 1.5, 1.5, 2.5, 2.5, 4.5, 28.5},
@@ -31,7 +31,7 @@ static const vorbis_info_residue0 _resid
};
static const vorbis_info_residue0 _residue_44_mid_un={
- 0,-1, -1, 10,-1,
+ 0,-1, -1, 10,-1,-1,
/* 0 1 2 3 4 5 6 7 8 9 */
{0},
{-1},
@@ -40,7 +40,7 @@ static const vorbis_info_residue0 _resid
};
static const vorbis_info_residue0 _residue_44_hi_un={
- 0,-1, -1, 10,-1,
+ 0,-1, -1, 10,-1,-1,
/* 0 1 2 3 4 5 6 7 8 9 */
{0},
{-1},

View File

@ -1,40 +0,0 @@
$FreeBSD$
--- lib/res0.c.orig 2009-11-24 21:51:43.000000000 +0100
+++ lib/res0.c 2009-11-24 21:52:01.000000000 +0100
@@ -238,6 +238,10 @@ vorbis_info_residue *res0_unpack(vorbis_
/* verify the phrasebook is not specifying an impossible or
inconsistent partitioning scheme. */
+ /* modify the phrasebook ranging check from r16327; an early beta
+ encoder had a bug where it used an oversized phrasebook by
+ accident. These files should continue to be playable, but don't
+ allow an exploit */
{
int entries = ci->book_param[info->groupbook]->entries;
int dim = ci->book_param[info->groupbook]->dim;
@@ -247,6 +251,7 @@ vorbis_info_residue *res0_unpack(vorbis_
if(partvals > entries) goto errout;
dim--;
}
+ info->partvals = partvals;
}
return(info);
@@ -667,7 +672,7 @@ static int _01inverse(vorbis_block *vb,v
for(j=0;j<ch;j++){
int temp=vorbis_book_decode(look->phrasebook,&vb->opb);
- if(temp==-1)goto eopbreak;
+ if(temp==-1 || temp>=info->partvals)goto eopbreak;
partword[j][l]=look->decodemap[temp];
if(partword[j][l]==NULL)goto errout;
}
@@ -883,7 +888,7 @@ int res2_inverse(vorbis_block *vb,vorbis
if(s==0){
/* fetch the partition word */
int temp=vorbis_book_decode(look->phrasebook,&vb->opb);
- if(temp==-1)goto eopbreak;
+ if(temp==-1 || temp>info->partvals)goto eopbreak;
partword[l]=look->decodemap[temp];
if(partword[l]==NULL)goto errout;
}