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:
parent
ce90a1d1e8
commit
0df5f843f0
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=255953
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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";;
|
||||
*)
|
||||
|
@ -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
|
||||
|
@ -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 */
|
@ -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++;
|
@ -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},
|
@ -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},
|
@ -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;
|
||||
}
|
Loading…
Reference in New Issue
Block a user