--- /dev/null
+[general]
+upstream_branch = upstream/master
+upstream_tag = v1.3.7
--- /dev/null
+*.o
+*.lo
+*.la
+.libs
+.deps
+aclocal.m4
+configure
+Makefile
+Makefile.in
+autom4te.cache
+compile
+config.guess
+config.h
+config.h.in
+config.h.in~
+config.log
+config.status
+config.sub
+depcomp
+install-sh
+libtool
+ltmain.sh
+missing
+stamp-h1
+m4/libtool.m4
+m4/ltoptions.m4
+m4/ltsugar.m4
+m4/ltversion.m4
+m4/lt~obsolete.m4
+libvorbis.spec
+vorbis-uninstalled.pc
+vorbis.pc
+vorbisenc-uninstalled.pc
+vorbisenc.pc
+vorbisfile-uninstalled.pc
+vorbisfile.pc
+doc/Doxyfile
+doc/doxygen-build.stamp
+examples/chaining_example
+examples/decoder_example
+examples/encoder_example
+examples/seeking_example
+examples/vorbisfile_example
+lib/test_sharedbook
+test/test
+
+CMakeCache.txt
+CMakeFiles
+CMakeScripts
+Testing
+Makefile
+cmake_install.cmake
+install_manifest.txt
+compile_commands.json
+CTestTestfile.cmake
+CMakeSettings.json
+
+*[Bb]uild*/
+
+.vs/
+.vscode/
--- /dev/null
+default:
+ tags:
+ - docker
+ # Image from https://hub.docker.com/_/gcc/ based on Debian
+ image: gcc:9
+
+autoconf:
+ stage: build
+ before_script:
+ - apt-get update &&
+ apt-get install -y libogg-dev zip doxygen
+ script:
+ - ./autogen.sh
+ - ./configure
+ - make
+ - make distcheck
+
+cmake:
+ stage: build
+ before_script:
+ - apt-get update &&
+ apt-get install -y libogg-dev zip doxygen
+ cmake ninja-build
+ script:
+ - mkdir build
+ - cmake -S . -B build -G "Ninja" -DCMAKE_BUILD_TYPE=Release
+ - cmake --build build
--- /dev/null
+language: c
+
+os:
+ - linux
+ - osx
+
+osx_image: xcode11
+
+compiler:
+ - gcc
+ - clang
+
+env:
+ - BUILD_SYSTEM=AUTOTOOLS
+ - BUILD_SYSTEM=CMAKE
+
+addons:
+ apt:
+ packages:
+ - libogg-dev
+ homebrew:
+ brewfile: true
+ update: true
+
+script:
+ - if [[ "$BUILD_SYSTEM" == "AUTOTOOLS" ]] ; then ./autogen.sh && ./configure && make -j2 V=1 distcheck; fi
+ - if [[ "$BUILD_SYSTEM" == "CMAKE" ]] ; then mkdir build && pushd build && cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release .. && cmake --build . && popd; fi
--- /dev/null
+def FlagsForFile(filename, **kwargs):
+ return {
+ 'flags': [
+ '-x', 'c',
+ '-g', '-Wall', '-Wextra',
+ '-D_REENTRANT', '-D__NO_MATH_INLINES', '-fsigned-char'
+ ],
+ }
--- /dev/null
+brew 'doxygen'
+brew 'libogg'
+brew 'xz'
+libvorbis 1.3.7 (2020-07-04) -- "Xiph.Org libVorbis I 20200704 (Reducing Environment)"
+
+* Fix CVE-2018-10393 - out-of-bounds read encoding very low sample rates.
+* Fix CVE-2017-14160 - out-of-bounds read encoding very low sample rates.
+* Fix handling invalid bytes per sample arguments.
+* Fix handling invalid channel count arguments.
+* Fix invalid free on seek failure.
+* Fix negative shift reading blocksize.
+* Fix accepting unreasonable float32 values.
+* Fix tag comparison depending on locale.
+* Fix unnecessarily linking libm.
+* Fix memory leak in test_sharedbook.
+* Update Visual Studio projects for ogg library filename change.
+* Distribute CMake build files with the source package.
+* Remove unnecessary configure --target switch.
+* Add gitlab CI support.
+* Add OSS-Fuzz support.
+* Build system and integration updates.
+
+libvorbis 1.3.6 (2018-03-16) -- "Xiph.Org libVorbis I 20180316 (Now 100% fewer shells)"
+
+* Fix CVE-2018-5146 - out-of-bounds write on codebook decoding.
+* Fix CVE-2017-14632 - free() on unitialized data
+* Fix CVE-2017-14633 - out-of-bounds read
+* Fix bitrate metadata parsing.
+* Fix out-of-bounds read in codebook parsing.
+* Fix residue vector size in Vorbis I spec.
+* Appveyor support
+* Travis CI support
+* Add secondary CMake build system.
+* Build system fixes
+
+libvorbis 1.3.5 (2015-03-03) -- "Xiph.Org libVorbis I 20150105 (⛄⛄⛄⛄)"
+
+* Tolerate single-entry codebooks.
+* Fix decoder crash with invalid input.
+* Fix encoder crash with non-positive sample rates.
+# Fix issues in vorbisfile's seek bisection code.
+* Spec errata.
+* Reject multiple headers of the same type.
+* Various build fixes and code cleanup.
+
+libvorbis 1.3.4 (2014-01-22) -- "Xiph.Org libVorbis I 20140122 (Turpakäräjiin)"
+
+* Reduce codebook footprint in library code.
+* Various build and documentation fixes.
+
libvorbis 1.3.3 (2012-02-03) -- "Xiph.Org libVorbis I 20120203 (Omnipresent)"
* vorbis: additional proofing against invalid/malicious
--- /dev/null
+cmake_minimum_required(VERSION 2.8.12)
+project(vorbis)
+
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+
+# Required modules
+include(GNUInstallDirs)
+include(CheckIncludeFiles)
+include(CheckLibraryExists)
+
+# Build options
+option(BUILD_SHARED_LIBS "Build shared library" OFF)
+if(APPLE)
+ option(BUILD_FRAMEWORK "Build Framework bundle for OSX" OFF)
+endif()
+
+if(BUILD_FRAMEWORK)
+ set(BUILD_SHARED_LIBS TRUE)
+endif()
+
+option(INSTALL_CMAKE_PACKAGE_MODULE "Install CMake package configiguration module" ON)
+
+# Extract project version from configure.ac
+file(READ configure.ac CONFIGURE_AC_CONTENTS)
+string(REGEX MATCH "AC_INIT\\(\\[libvorbis\\],\\[([0-9]*).([0-9]*).([0-9]*)" DUMMY ${CONFIGURE_AC_CONTENTS})
+set(PROJECT_VERSION_MAJOR ${CMAKE_MATCH_1})
+set(PROJECT_VERSION_MINOR ${CMAKE_MATCH_2})
+set(PROJECT_VERSION_PATCH ${CMAKE_MATCH_3})
+set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
+
+# Helper function to get version-info
+function(get_version_info result current_var_name age_var_name revision_var_name)
+ string(REGEX MATCH "${current_var_name}=([0-9]*)" DUMMY ${CONFIGURE_AC_CONTENTS})
+ set(VERSION_INFO_CURRENT ${CMAKE_MATCH_1})
+
+ string(REGEX MATCH "${age_var_name}=([0-9]*)" DUMMY ${CONFIGURE_AC_CONTENTS})
+ set(VERSION_INFO_AGE ${CMAKE_MATCH_1})
+
+ string(REGEX MATCH "${revision_var_name}=([0-9]*)" DUMMY ${CONFIGURE_AC_CONTENTS})
+ set(VERSION_INFO_REVISION ${CMAKE_MATCH_1})
+
+ math(EXPR VERSION_INFO_CURRENT_MINUS_AGE "${VERSION_INFO_CURRENT} - ${VERSION_INFO_AGE}")
+
+ set(${result} "${VERSION_INFO_CURRENT_MINUS_AGE}.${VERSION_INFO_AGE}.${VERSION_INFO_REVISION}" PARENT_SCOPE)
+endfunction()
+
+# Helper function to configure pkg-config files
+function(configure_pkg_config_file pkg_config_file_in)
+ set(prefix ${CMAKE_INSTALL_PREFIX})
+ set(exec_prefix ${CMAKE_INSTALL_FULL_BINDIR})
+ set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
+ set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
+ set(VERSION ${PROJECT_VERSION})
+ string(REPLACE ".in" "" pkg_config_file ${pkg_config_file_in})
+ configure_file(${pkg_config_file_in} ${pkg_config_file} @ONLY)
+endfunction()
+
+message(STATUS "Configuring ${PROJECT_NAME} ${PROJECT_VERSION}")
+
+# Find math library
+
+check_library_exists(m floor "" HAVE_LIBM)
+
+# Find ogg dependency
+find_package(Ogg REQUIRED)
+
+add_subdirectory(lib)
+
+configure_pkg_config_file(vorbis.pc.in)
+configure_pkg_config_file(vorbisenc.pc.in)
+configure_pkg_config_file(vorbisfile.pc.in)
+
+install(
+ FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/vorbis.pc
+ ${CMAKE_CURRENT_BINARY_DIR}/vorbisenc.pc
+ ${CMAKE_CURRENT_BINARY_DIR}/vorbisfile.pc
+ DESTINATION
+ ${CMAKE_INSTALL_LIBDIR}/pkgconfig
+)
-Copyright (c) 2002-2008 Xiph.org Foundation
+Copyright (c) 2002-2020 Xiph.org Foundation
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
## Process this file with automake to produce Makefile.in
-#AUTOMAKE_OPTIONS = 1.7 foreign dist-zip dist-bzip2
-AUTOMAKE_OPTIONS = foreign 1.10 dist-zip
+AUTOMAKE_OPTIONS = foreign 1.11 dist-zip dist-xz
+
ACLOCAL_AMFLAGS = -I m4
+
SUBDIRS = m4 include vq lib test doc
if BUILD_EXAMPLES
EXTRA_DIST = \
CHANGES COPYING \
- todo.txt autogen.sh \
+ autogen.sh \
libvorbis.spec libvorbis.spec.in \
vorbis.m4 \
vorbis.pc.in vorbisenc.pc.in vorbisfile.pc.in \
vorbis-uninstalled.pc.in \
vorbisenc-uninstalled.pc.in \
vorbisfile-uninstalled.pc.in \
- symbian \
- macos macosx win32
-
+ symbian macosx win32 \
+ CMakeLists.txt cmake/FindOgg.cmake cmake/VorbisConfig.cmake.in
DISTCHECK_CONFIGURE_FLAGS = --enable-docs
--- /dev/null
+# Vorbis
+
+[![GitLab Build Status](https://gitlab.xiph.org/xiph/vorbis/badges/master/pipeline.svg)](https://gitlab.xiph.org/xiph/vorbis/-/pipelines)
+[![Travis Build Status](https://travis-ci.org/xiph/vorbis.svg?branch=master)](https://travis-ci.org/xiph/vorbis)
+[![AppVeyor Build status](https://ci.appveyor.com/api/projects/status/github/xiph/vorbis?branch=master&svg=true)](https://ci.appveyor.com/project/rillian/vorbis)
+
+Vorbis is a general purpose audio and music encoding format
+contemporary to MPEG-4's AAC and TwinVQ, the next generation beyond
+MPEG audio layer 3. Unlike the MPEG sponsored formats (and other
+proprietary formats such as RealAudio G2 and Windows' flavor of the
+month), the Vorbis CODEC specification belongs to the public domain.
+All the technical details are published and documented, and any
+software entity may make full use of the format without license
+fee, royalty or patent concerns.
+
+This package contains:
+
+- libvorbis, a BSD-style license software implementation of
+ the Vorbis specification by the Xiph.Org Foundation
+ (https://xiph.org/)
+
+- libvorbisfile, a BSD-style license convenience library
+ built on Vorbis designed to simplify common uses
+
+- libvorbisenc, a BSD-style license library that provides a simple,
+ programmatic encoding setup interface
+
+- example code making use of libogg, libvorbis, libvorbisfile and
+ libvorbisenc
+
+## What's here ##
+
+This source distribution includes libvorbis and an example
+encoder/player to demonstrate use of libvorbis as well as
+documentation on the Ogg Vorbis audio coding format.
+
+You'll need libogg (distributed separately) to compile this library.
+A more comprehensive set of utilities is available in the vorbis-tools
+package.
+
+Directory:
+
+- `lib` The source for the libraries, a BSD-license implementation of the public domain Ogg Vorbis audio encoding format.
+
+- `include` Library API headers
+
+- `debian` Rules/spec files for building Debian .deb packages
+
+- `doc` Vorbis documentation
+
+- `examples` Example code illustrating programmatic use of libvorbis, libvorbisfile and libvorbisenc
+
+- `macosx` Project files for MacOS X.
+
+- `win32` Win32 projects files and build automation
+
+- `vq` Internal utilities for training/building new LSP/residue and auxiliary codebooks.
+
+## Contact ##
+
+The Ogg homepage is located at 'https://xiph.org/ogg/'.
+Vorbis's homepage is located at 'https://xiph.org/vorbis/'.
+Up to date technical documents, contact information, source code and
+pre-built utilities may be found there.
+
+## Building ##
+
+#### Building from master ####
+
+Development source is under git revision control at
+https://gitlab.xiph.org/xiph/vorbis.git. You will also need the
+newest versions of autoconf, automake, libtool and pkg-config in
+order to compile Vorbis from development source. A configure script
+is provided for you in the source tarball distributions.
+
+ ./autogen.sh
+ ./configure
+ make
+
+and as root if desired:
+
+ make install
+
+This will install the Vorbis libraries (static and shared) into
+/usr/local/lib, includes into /usr/local/include and API manpages
+(once we write some) into /usr/local/man.
+
+Documentation building requires xsltproc and pdfxmltex.
+
+#### Building from tarball distributions ####
+
+ ./configure
+ make
+
+and optionally (as root):
+
+ make install
+
+#### Building RPM packages ####
+
+after normal configuring:
+
+ make dist
+ rpm -ta libvorbis-<version>.tar.gz
+
+## Building with CMake ##
+
+Ogg supports building using [CMake](https://cmake.org/). CMake is a meta build system that generates native projects for each platform.
+To generate projects just run cmake replacing `YOUR-PROJECT-GENERATOR` with a proper generator from a list [here](https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html):
+
+ cmake -G YOUR-PROJECT-GENERATOR .
+
+Note that by default cmake generates projects that will build static libraries.
+To generate projects that will build dynamic library use `BUILD_SHARED_LIBS` option like this:
+
+ cmake -G YOUR-PROJECT-GENERATOR -DBUILD_SHARED_LIBS=1 .
+
+After projects are generated use them as usual
+
+#### Building on Windows ####
+
+Use proper generator for your Visual Studio version like:
+
+ cmake -G "Visual Studio 12 2013" .
+
+#### Building on Mac OS X ####
+
+Use Xcode generator. To build framework run:
+
+ cmake -G Xcode -DBUILD_FRAMEWORK=1 .
+
+#### Building on Linux ####
+
+Use Makefile generator which is default one.
+
+ cmake .
+ make
+
+## License ##
+
+THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.
+USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS
+GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE
+IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.
+
+THE OggVorbis SOURCE CODE IS COPYRIGHT (C) 1994-2020
+by the Xiph.Org Foundation https://xiph.org/
--- /dev/null
+image: Visual Studio 2015
+configuration:
+- Debug
+
+platform:
+- Win32
+
+environment:
+ matrix:
+ - BUILD_SYSTEM: MSVC
+ - BUILD_SYSTEM: CMAKE
+
+install:
+- git clone -q https://github.com/xiph/ogg.git %APPVEYOR_BUILD_FOLDER%\..\libogg
+- if "%BUILD_SYSTEM%"=="MSVC" msbuild "%APPVEYOR_BUILD_FOLDER%\..\libogg\win32\VS2015\libogg.sln" /m /v:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /property:Configuration=%CONFIGURATION%;Platform=%PLATFORM%
+- if "%BUILD_SYSTEM%"=="CMAKE" mkdir "%APPVEYOR_BUILD_FOLDER%\..\libogg\build"
+- if "%BUILD_SYSTEM%"=="CMAKE" pushd "%APPVEYOR_BUILD_FOLDER%\..\libogg\build"
+- if "%BUILD_SYSTEM%"=="CMAKE" cmake -A "%PLATFORM%" -G "Visual Studio 14 2015" -DCMAKE_INSTALL_PREFIX="%APPVEYOR_BUILD_FOLDER%\..\libogg\install" ..
+- if "%BUILD_SYSTEM%"=="CMAKE" cmake --build . --config "%CONFIGURATION%" --target install -- /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
+- if "%BUILD_SYSTEM%"=="CMAKE" popd
+
+before_build:
+- if "%BUILD_SYSTEM%" == "CMAKE" mkdir "%APPVEYOR_BUILD_FOLDER%\build"
+- if "%BUILD_SYSTEM%" == "CMAKE" pushd "%APPVEYOR_BUILD_FOLDER%\build"
+- if "%BUILD_SYSTEM%" == "CMAKE" cmake -A "%PLATFORM%" -G "Visual Studio 14 2015" -DOGG_ROOT=%APPVEYOR_BUILD_FOLDER%\..\libogg\install ..
+- if "%BUILD_SYSTEM%" == "CMAKE" popd
+
+build_script:
+- if "%BUILD_SYSTEM%"=="MSVC" msbuild "%APPVEYOR_BUILD_FOLDER%\win32\VS2010\vorbis_dynamic.sln" /m /v:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /property:Configuration=%CONFIGURATION%;Platform=%PLATFORM%
+- if "%BUILD_SYSTEM%" == "CMAKE" pushd "%APPVEYOR_BUILD_FOLDER%\build"
+- if "%BUILD_SYSTEM%" == "CMAKE" cmake --build . --config "%CONFIGURATION%" -- /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
+- if "%BUILD_SYSTEM%" == "CMAKE" popd
--- /dev/null
+#[=======================================================================[.rst:
+
+FindOgg
+--------
+
+Find the native Ogg includes and library.
+
+IMPORTED Targets
+^^^^^^^^^^^^^^^^
+
+This module defines :prop_tgt:`IMPORTED` target ``Ogg::ogg``, if
+Ogg has been found.
+
+Result Variables
+^^^^^^^^^^^^^^^^
+
+This module defines the following variables:
+
+::
+
+ OGG_INCLUDE_DIRS - where to find ogg.h, etc.
+ OGG_LIBRARIES - List of libraries when using ogg.
+ OGG_FOUND - True if ogg found.
+
+::
+
+ OGG_VERSION_STRING - The version of ogg found (x.y.z)
+
+Hints
+^^^^^
+
+A user may set ``OGG_ROOT`` to a ogg installation root to tell this
+module where to look.
+#]=======================================================================]
+
+if(OGG_INCLUDE_DIR)
+ # Already in cache, be silent
+ set(OGG_FIND_QUIETLY TRUE)
+endif()
+
+find_package(PkgConfig QUIET)
+pkg_check_modules(PC_OGG QUIET ogg)
+
+set(OGG_VERSION_STRING ${PC_OGG_VERSION})
+
+find_path(OGG_INCLUDE_DIR ogg/ogg.h
+ HINTS
+ ${PC_OGG_INCLUDEDIR}
+ ${PC_OGG_INCLUDE_DIRS}
+ ${OGG_ROOT}
+ PATH_SUFFIXES
+ include
+)
+# MSVC built ogg may be named ogg_static.
+# The provided project files name the library with the lib prefix.
+find_library(OGG_LIBRARY
+ NAMES
+ ogg
+ ogg_static
+ libogg
+ libogg_static
+ HINTS
+ ${PC_OGG_LIBDIR}
+ ${PC_OGG_LIBRARY_DIRS}
+ ${OGG_ROOT}
+ PATH_SUFFIXES
+ lib
+)
+
+# Handle the QUIETLY and REQUIRED arguments and set OGG_FOUND
+# to TRUE if all listed variables are TRUE.
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Ogg
+ REQUIRED_VARS
+ OGG_LIBRARY
+ OGG_INCLUDE_DIR
+ VERSION_VAR
+ OGG_VERSION_STRING
+)
+
+if(OGG_FOUND)
+ set(OGG_LIBRARIES ${OGG_LIBRARY})
+ set(OGG_INCLUDE_DIRS ${OGG_INCLUDE_DIR})
+
+ if(NOT TARGET Ogg::ogg)
+ add_library(Ogg::ogg UNKNOWN IMPORTED)
+ set_target_properties(Ogg::ogg PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${OGG_INCLUDE_DIRS}"
+ IMPORTED_LOCATION "${OGG_LIBRARIES}"
+ )
+ endif()
+endif()
+
+mark_as_advanced(OGG_INCLUDE_DIR OGG_LIBRARY)
--- /dev/null
+@PACKAGE_INIT@
+
+include(CMakeFindDependencyMacro)
+find_dependency(Ogg REQUIRED)
+
+include(${CMAKE_CURRENT_LIST_DIR}/VorbisTargets.cmake)
+
+set(Vorbis_Vorbis_FOUND 1)
+set(Vorbis_Enc_FOUND 0)
+set(Vorbis_File_FOUND 0)
+
+if(TARGET Vorbis::vorbisenc)
+ set(Vorbis_Enc_FOUND TRUE)
+endif()
+if(TARGET Vorbis::vorbisfile)
+ set(Vorbis_File_FOUND TRUE)
+endif()
+
+check_required_components(Vorbis Enc File)
+++ /dev/null
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libvorbis 1.3.4.
-#
-# Report bugs to <vorbis-dev@xiph.org>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
- test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org and
-$0: vorbis-dev@xiph.org about your system, including any
-$0: error possibly output before this message. Then install
-$0: a modern shell, or manually run the script under such a
-$0: shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libvorbis'
-PACKAGE_TARNAME='libvorbis'
-PACKAGE_VERSION='1.3.4'
-PACKAGE_STRING='libvorbis 1.3.4'
-PACKAGE_BUGREPORT='vorbis-dev@xiph.org'
-PACKAGE_URL=''
-
-ac_unique_file="lib/mdct.c"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBTOOL_DEPS
-pthread_lib
-PROFILE
-DEBUG
-VORBIS_LIBS
-LIBOBJS
-ALLOCA
-OGG_LIBS
-OGG_CFLAGS
-PKG_CONFIG
-BUILD_EXAMPLES_FALSE
-BUILD_EXAMPLES_TRUE
-BUILD_DOCS_FALSE
-BUILD_DOCS_TRUE
-HTLATEX
-PDFLATEX
-HAVE_DOXYGEN_FALSE
-HAVE_DOXYGEN_TRUE
-HAVE_DOXYGEN
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-LIBTOOL
-OBJDUMP
-DLLTOOL
-AS
-CPP
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-am__nodep
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-VE_LIB_AGE
-VE_LIB_REVISION
-VE_LIB_CURRENT
-VF_LIB_AGE
-VF_LIB_REVISION
-VF_LIB_CURRENT
-V_LIB_AGE
-V_LIB_REVISION
-V_LIB_CURRENT
-ACLOCAL_AMFLAGS
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_maintainer_mode
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_docs
-enable_examples
-with_ogg
-with_ogg_libraries
-with_ogg_includes
-enable_oggtest
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP
-PKG_CONFIG
-OGG_CFLAGS
-OGG_LIBS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures libvorbis 1.3.4 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/libvorbis]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of libvorbis 1.3.4:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-shared[=PKGS] build shared libraries [default=yes]
- --enable-static[=PKGS] build static libraries [default=yes]
- --enable-fast-install[=PKGS]
- optimize for fast installation [default=yes]
- --disable-libtool-lock avoid locking (might break parallel builds)
- --enable-docs build the documentation
- --enable-examples build the examples
- --disable-oggtest Do not try to compile and run a test Ogg program
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
- both]
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot=DIR Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).
- --with-ogg=PFX Prefix where libogg is installed (optional)
- --with-ogg-libraries=DIR
- Directory where libogg library is installed
- (optional)
- --with-ogg-includes=DIR Directory where libogg header files are installed
- (optional)
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CPP C preprocessor
- PKG_CONFIG path to pkg-config utility
- OGG_CFLAGS C compiler flags for OGG, overriding pkg-config
- OGG_LIBS linker flags for OGG, overriding pkg-config
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <vorbis-dev@xiph.org>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-libvorbis configure 1.3.4
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $2 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ---------------------------------- ##
-## Report this to vorbis-dev@xiph.org ##
-## ---------------------------------- ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libvorbis $as_me 1.3.4, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-am__api_version='1.11'
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
- *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
-alias in your environment" "$LINENO" 5
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
- done
-IFS=$as_save_IFS
-
-fi
-
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AWK="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libvorbis'
- VERSION='1.3.4'
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AMTAR='$${TAR-tar}'
-
-am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
- # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
- enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
- if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-ACLOCAL_AMFLAGS="-I m4"
-
-
-
-V_LIB_CURRENT=4
-V_LIB_REVISION=7
-V_LIB_AGE=4
-
-VF_LIB_CURRENT=6
-VF_LIB_REVISION=6
-VF_LIB_AGE=3
-
-VE_LIB_CURRENT=2
-VE_LIB_REVISION=10
-VE_LIB_AGE=0
-
-
-
-
-
-
-
-
-
-
-
-
-cflags_save="$CFLAGS"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CFLAGS="$cflags_save"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
-if ${ac_cv_c_inline+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_inline=$ac_kw
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- test "$ac_cv_c_inline" != no && break
-done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
-
-case $ac_cv_c_inline in
- inline | yes) ;;
- *)
- case $ac_cv_c_inline in
- no) ac_val=;;
- *) ac_val=$ac_cv_c_inline;;
- esac
- cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
- ;;
-esac
-
-
-enable_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AS+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AS="${ac_tool_prefix}as"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AS=$ac_cv_prog_AS
-if test -n "$AS"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
-$as_echo "$AS" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AS"; then
- ac_ct_AS=$AS
- # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AS+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AS"; then
- ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AS="as"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AS=$ac_cv_prog_ac_ct_AS
-if test -n "$ac_ct_AS"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
-$as_echo "$ac_ct_AS" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_AS" = x; then
- AS="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AS=$ac_ct_AS
- fi
-else
- AS="$ac_cv_prog_AS"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
- ;;
-esac
-
-test -z "$AS" && AS=as
-
-
-
-
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-case `pwd` in
- *\ * | *\ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4.2'
-macro_revision='1.3337'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO ""
-}
-
-case "$ECHO" in
- printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
- print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- if test -n "$ac_tool_prefix"; then
- for ac_prog in dumpbin "link -dump"
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DUMPBIN"; then
- ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$DUMPBIN" && break
- done
-fi
-if test -z "$DUMPBIN"; then
- ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in dumpbin "link -dump"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DUMPBIN"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_DUMPBIN" && break
-done
-
- if test "x$ac_ct_DUMPBIN" = x; then
- DUMPBIN=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DUMPBIN=$ac_ct_DUMPBIN
- fi
-fi
-
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
-
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&5
- (eval echo "\"\$as_me:$LINENO: output\"" >&5)
- cat conftest.out >&5
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- os2*)
- # The test takes a long time on OS/2.
- lt_cv_sys_max_cmd_len=8192
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
- reload_cmds=false
- fi
- ;;
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
-
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
- ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- for ac_prog in ar
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AR" && break
- done
-fi
-if test -z "$AR"; then
- ac_ct_AR=$AR
- for ac_prog in ar
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AR="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_AR" && break
-done
-
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ar_at_file=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -eq 0; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
- (eval $lt_ar_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if test "$ac_status" -ne 0; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test "x$lt_cv_ar_at_file" = xno; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[ABCDGISTW]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
- ;;
-solaris*)
- symcode='[BDRT]'
- ;;
-sco3.2v5*)
- symcode='[DT]'
- ;;
-sysv4.2uw2*)
- symcode='[DT]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
- ;;
-sysv4)
- symcode='[DFNSTU]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK '"\
-" {last_section=section; section=\$ 3};"\
-" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data. */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
- withval=$with_sysroot;
-else
- with_sysroot=no
-fi
-
-
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
- if test "$GCC" = yes; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
- as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
- ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
- enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line '$LINENO' "configure"' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_cc_needs_belf=yes
-else
- lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*)
- case $host in
- i?86-*-solaris*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- sparc*-*-solaris*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
- if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
- LD="${LD-ld}_sol2"
- fi
- ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$MANIFEST_TOOL"; then
- ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
- ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
- # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_MANIFEST_TOOL"; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_MANIFEST_TOOL" = x; then
- MANIFEST_TOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
- fi
-else
- MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&5
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
- MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DSYMUTIL=$ac_ct_DSYMUTIL
- fi
-else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- NMEDIT=$ac_ct_NMEDIT
- fi
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$LIPO"; then
- ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
- ac_ct_LIPO=$LIPO
- # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_LIPO"; then
- ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_LIPO="lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_LIPO" = x; then
- LIPO=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- LIPO=$ac_ct_LIPO
- fi
-else
- LIPO="$ac_cv_prog_LIPO"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL"; then
- ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
- ac_ct_OTOOL=$OTOOL
- # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL"; then
- ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL="otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL" = x; then
- OTOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL=$ac_ct_OTOOL
- fi
-else
- OTOOL="$ac_cv_prog_OTOOL"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL64"; then
- ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
- ac_ct_OTOOL64=$OTOOL64
- # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL64"; then
- ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL64="otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_OTOOL64" = x; then
- OTOOL64=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL64=$ac_ct_OTOOL64
- fi
-else
- OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- # If there is a non-empty error log, and "single_module"
- # appears in it, assume the flag caused a linker warning
- if test -s conftest.err && $GREP single_module conftest.err; then
- cat conftest.err >&5
- # Otherwise, if the output was created with a 0 exit code from
- # the compiler, it worked.
- elif test -f libconftest.dylib && test $_lt_result -eq 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&5
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_ld_exported_symbols_list=yes
-else
- lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cru libconftest.a conftest.o" >&5
- $AR cru libconftest.a conftest.o 2>&5
- echo "$RANLIB libconftest.a" >&5
- $RANLIB libconftest.a 2>&5
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -s conftest.err && $GREP force_load conftest.err; then
- cat conftest.err >&5
- elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&5
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
- case $host_os in
- rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-
-
-
- enable_dlopen=no
-
-
-
- # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
- # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
- withval=$with_pic; lt_p=${PACKAGE-default}
- case $withval in
- yes|no) pic_mode=$withval ;;
- *)
- pic_mode=default
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for lt_pkg in $withval; do
- IFS="$lt_save_ifs"
- if test "X$lt_pkg" = "X$lt_p"; then
- pic_mode=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
- # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- else
- MAGIC_CMD=:
- fi
-fi
-
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
- case $cc_basename in
- nvcc*)
- lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
- *)
- lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
- esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
- :
-fi
-
-fi
-
-
-
-
-
-
- lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- lt_prog_compiler_pic='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
-
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- lt_prog_compiler_static=
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
-
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
-
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
-
- case $cc_basename in
- nvcc*) # Cuda Compiler Driver 2.2
- lt_prog_compiler_wl='-Xlinker '
- if test -n "$lt_prog_compiler_pic"; then
- lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
- fi
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
-
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='--shared'
- lt_prog_compiler_static='--static'
- ;;
- nagfor*)
- # NAG Fortran compiler
- lt_prog_compiler_wl='-Wl,-Wl,,'
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-qpic'
- lt_prog_compiler_static='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
- ;;
- *Sun\ F* | *Sun*Fortran*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Qoption ld '
- ;;
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Wl,'
- ;;
- *Intel*\ [CF]*Compiler*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
- *Portland\ Group*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
-
- rdos*)
- lt_prog_compiler_static='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
-
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
-
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
-
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
- fi
-
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works=yes
- fi
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
-else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works=yes
- fi
- else
- lt_cv_prog_compiler_static_works=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- :
-else
- lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
- runpath_var=
- allow_undefined_flag=
- always_export_symbols=no
- archive_cmds=
- archive_expsym_cmds=
- compiler_needs_object=no
- enable_shared_with_static_runtimes=no
- export_dynamic_flag_spec=
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- hardcode_automatic=no
- hardcode_direct=no
- hardcode_direct_absolute=no
- hardcode_libdir_flag_spec=
- hardcode_libdir_separator=
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- inherit_rpath=no
- link_all_deplibs=unknown
- module_cmds=
- module_expsym_cmds=
- old_archive_from_new_cmds=
- old_archive_from_expsyms_cmds=
- thread_safe_flag_spec=
- whole_archive_flag_spec=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- ld_shlibs=yes
-
- # On some targets, GNU ld is compatible enough with the native linker
- # that we're better off using the native interface for both.
- lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
- case $host_os in
- aix*)
- # The AIX port of GNU ld has always aspired to compatibility
- # with the native linker. However, as the warning in the GNU ld
- # block says, versions before 2.19.5* couldn't really create working
- # shared libraries, regardless of the interface used.
- case `$LD -v 2>&1` in
- *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
- *\ \(GNU\ Binutils\)\ [3-9]*) ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- fi
-
- if test "$lt_use_gnu_ld_interface" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *GNU\ gold*) supports_anon_versioning=yes ;;
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- export_dynamic_flag_spec='${wl}--export-all-symbols'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
- exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- haiku*)
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- link_all_deplibs=yes
- ;;
-
- interix[3-9]*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=' $pic_flag'
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- whole_archive_flag_spec=
- tmp_sharedflag='--shared' ;;
- xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- nvcc*) # Cuda Compiler Driver 2.2
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf* | bgf* | bgxlf* | mpixlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- ld_shlibs=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
-
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- archive_cmds=''
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- file_list_spec='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- export_dynamic_flag_spec='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- if ${lt_cv_aix_libpath_+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }'
- lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
- fi
-
-fi
-
- aix_libpath=$lt_cv_aix_libpath_
-fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- fi
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
-
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- case $cc_basename in
- cl*)
- # Native MSVC
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- file_list_spec='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
- enable_shared_with_static_runtimes=yes
- exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- # Don't use ranlib
- old_postinstall_cmds='chmod 644 $oldlib'
- postlink_cmds='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # Assume MSVC wrapper
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- enable_shared_with_static_runtimes=yes
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
-
-
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-
- else
- whole_archive_flag_spec=''
- fi
- link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=func_echo_all
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
- else
- ld_shlibs=no
- fi
-
- ;;
-
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2.*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
-
- # Older versions of the 11.00 compiler do not understand -b yet
- # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler__b=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -b"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler__b=yes
- fi
- else
- lt_cv_prog_compiler__b=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- # This should be the same for all languages, so no per-tag cache variable.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- lt_cv_irix_exported_symbol=yes
-else
- lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
- if test "$lt_cv_irix_exported_symbol" = yes; then
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- fi
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- inherit_rpath=yes
- link_all_deplibs=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
-
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
- fi
- ;;
-
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_separator=:
- ;;
-
- solaris*)
- no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
-
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- *)
- ld_shlibs=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
- (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- then
- lt_cv_archive_cmds_need_lc=no
- else
- lt_cv_archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
- archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
- ;;
- esac
- fi
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- case $lt_search_path_spec in
- *\;*)
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- ;;
- *)
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- ;;
- esac
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[lt_foo]++; }
- if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
- # AWK program above erroneously prepends '/' to C:/dos/paths
- # for these hosts.
- case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([A-Za-z]:\),\1,g'` ;;
- esac
- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[4-9]*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[45]*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$cc_basename in
- yes,*)
- # gcc
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- ;;
-
- *,cl*)
- # Native MSVC
- libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
-
- case $build_os in
- mingw*)
- sys_lib_search_path_spec=
- lt_save_ifs=$IFS
- IFS=';'
- for lt_path in $LIB
- do
- IFS=$lt_save_ifs
- # Let DOS variable expansion print the short 8.3 style file name.
- lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
- sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
- done
- IFS=$lt_save_ifs
- # Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
- ;;
- cygwin*)
- # Convert to unix form, then to dos form, then back to unix form
- # but this time dos style (no spaces!) so that the unix form looks
- # like /cygdrive/c/PROGRA~1:/cygdr...
- sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
- sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
- sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- ;;
- *)
- sys_lib_search_path_spec="$LIB"
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # FIXME: find the short name or the path components, as spaces are
- # common. (e.g. "Program Files" -> "PROGRA~1")
- ;;
- esac
-
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
- dynamic_linker='Win32 link.exe'
- ;;
-
- *)
- # Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- dynamic_linker='Win32 ld.exe'
- ;;
- esac
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[23].*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2.*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-haiku*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
- postinstall_cmds='chmod 555 $lib'
- # or fails outright, so override atomically:
- install_override_mode=555
- ;;
-
-interix[3-9]*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux # correct to gnu/linux during the next big refactor
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
-
- # Some binutils ld are patched to set DT_RUNPATH
- if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
- lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
-
-fi
-
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Add ABI-specific directories to the system library path.
- sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
- test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-
-
-
-
-
-
- if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-
-fi
-
- ;;
-
- *)
- ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_shl_load=yes
-else
- ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
- ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_svld_dlopen=yes
-else
- ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_dld_dld_link=yes
-else
- ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- ;;
- esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
- # Report which library types will actually be built
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
-
-
-if test "x$enable_docs" = xyes; then
- # Extract the first word of "doxygen", so it can be a program name with args.
-set dummy doxygen; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_HAVE_DOXYGEN+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$HAVE_DOXYGEN"; then
- ac_cv_prog_HAVE_DOXYGEN="$HAVE_DOXYGEN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_HAVE_DOXYGEN="true"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_prog_HAVE_DOXYGEN" && ac_cv_prog_HAVE_DOXYGEN="false"
-fi
-fi
-HAVE_DOXYGEN=$ac_cv_prog_HAVE_DOXYGEN
-if test -n "$HAVE_DOXYGEN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_DOXYGEN" >&5
-$as_echo "$HAVE_DOXYGEN" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test $HAVE_DOXYGEN = "false"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** doxygen not found, API documentation will not be built" >&5
-$as_echo "$as_me: WARNING: *** doxygen not found, API documentation will not be built" >&2;}
- fi
-else
- HAVE_DOXYGEN=false
-fi
- if $HAVE_DOXYGEN; then
- HAVE_DOXYGEN_TRUE=
- HAVE_DOXYGEN_FALSE='#'
-else
- HAVE_DOXYGEN_TRUE='#'
- HAVE_DOXYGEN_FALSE=
-fi
-
-
-# Check whether --enable-docs was given.
-if test "${enable_docs+set}" = set; then :
- enableval=$enable_docs;
-fi
-
-
-if test "x$enable_docs" = xyes; then
- for ac_prog in pdflatex
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_PDFLATEX+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$PDFLATEX"; then
- ac_cv_prog_PDFLATEX="$PDFLATEX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_PDFLATEX="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-PDFLATEX=$ac_cv_prog_PDFLATEX
-if test -n "$PDFLATEX"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PDFLATEX" >&5
-$as_echo "$PDFLATEX" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$PDFLATEX" && break
-done
-test -n "$PDFLATEX" || PDFLATEX="/bin/false"
-
- for ac_prog in htlatex
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_HTLATEX+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$HTLATEX"; then
- ac_cv_prog_HTLATEX="$HTLATEX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_HTLATEX="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-HTLATEX=$ac_cv_prog_HTLATEX
-if test -n "$HTLATEX"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HTLATEX" >&5
-$as_echo "$HTLATEX" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$HTLATEX" && break
-done
-test -n "$HTLATEX" || HTLATEX="/bin/false"
-
- if test "x$PDFLATEX" = x/bin/false || test "x$HTLATEX" = x/bin/false; then
- enable_docs=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Documentation will not be built!" >&5
-$as_echo "$as_me: WARNING: Documentation will not be built!" >&2;}
- fi
-fi
-
- if test "x$enable_docs" = xyes; then
- BUILD_DOCS_TRUE=
- BUILD_DOCS_FALSE='#'
-else
- BUILD_DOCS_TRUE='#'
- BUILD_DOCS_FALSE=
-fi
-
-
-# Check whether --enable-examples was given.
-if test "${enable_examples+set}" = set; then :
- enableval=$enable_examples;
-fi
-
-
- if test "x$enable_examples" = xyes; then
- BUILD_EXAMPLES_TRUE=
- BUILD_EXAMPLES_FALSE='#'
-else
- BUILD_EXAMPLES_TRUE='#'
- BUILD_EXAMPLES_FALSE=
-fi
-
-
-
-
-cflags_save="$CFLAGS"
-if test -z "$GCC"; then
- case $host in
- *-*-irix*)
- if test -z "$CC"; then
- CC=cc
- fi
- DEBUG="-g -signed"
- CFLAGS="-O2 -w -signed"
- PROFILE="-p -g3 -O2 -signed" ;;
- sparc-sun-solaris*)
- DEBUG="-v -g"
- CFLAGS="-xO4 -fast -w -fsimple -native -xcg92"
- PROFILE="-v -xpg -g -xO4 -fast -native -fsimple -xcg92 -Dsuncc" ;;
- *)
- DEBUG="-g"
- CFLAGS="-O"
- PROFILE="-g -p" ;;
- esac
-else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking GCC version" >&5
-$as_echo_n "checking GCC version... " >&6; }
- GCC_VERSION=`$CC -dumpversion`
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCC_VERSION" >&5
-$as_echo "$GCC_VERSION" >&6; }
- case $host in
- *86-*-linux*)
- DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char"
- CFLAGS="-O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char"
-# PROFILE="-Wall -Wextra -pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char -fno-inline -static"
- PROFILE="-Wall -Wextra -pg -g -O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -fno-inline"
-
- # glibc < 2.1.3 has a serious FP bug in the math inline header
- # that will cripple Vorbis. Look to see if the magic FP stack
- # clobber is missing in the mathinline header, thus indicating
- # the buggy version
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #define __LIBC_INTERNAL_MATH_INLINES 1
- #define __OPTIMIZE__
- #include <math.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "log10.*fldlg2.*fxch" >/dev/null 2>&1; then :
- bad=maybe
-else
- bad=no
-fi
-rm -f conftest*
-
- if test ${bad} = "maybe" ;then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #define __LIBC_INTERNAL_MATH_INLINES 1
- #define __OPTIMIZE__
- #include <math.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "log10.*fldlg2.*fxch.*st\([0123456789]*\)" >/dev/null 2>&1; then :
- bad=no
-else
- bad=yes
-fi
-rm -f conftest*
-
- fi
- if test ${bad} = "yes" ;then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: " >&5
-$as_echo "$as_me: WARNING: " >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ********************************************************" >&5
-$as_echo "$as_me: WARNING: ********************************************************" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * The glibc headers on this machine have a serious bug *" >&5
-$as_echo "$as_me: WARNING: * The glibc headers on this machine have a serious bug *" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * in /usr/include/bits/mathinline.h This bug affects *" >&5
-$as_echo "$as_me: WARNING: * in /usr/include/bits/mathinline.h This bug affects *" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * all floating point code, not just Ogg, built on this *" >&5
-$as_echo "$as_me: WARNING: * all floating point code, not just Ogg, built on this *" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * machine. Upgrading to glibc 2.1.3 is strongly urged *" >&5
-$as_echo "$as_me: WARNING: * machine. Upgrading to glibc 2.1.3 is strongly urged *" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * to correct the problem. Note that upgrading glibc *" >&5
-$as_echo "$as_me: WARNING: * to correct the problem. Note that upgrading glibc *" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * will not fix any previously built programs; this is *" >&5
-$as_echo "$as_me: WARNING: * will not fix any previously built programs; this is *" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * a compile-time bug. *" >&5
-$as_echo "$as_me: WARNING: * a compile-time bug. *" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * To work around the problem for this build of Ogg, *" >&5
-$as_echo "$as_me: WARNING: * To work around the problem for this build of Ogg, *" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * autoconf is disabling all math inlining. This will *" >&5
-$as_echo "$as_me: WARNING: * autoconf is disabling all math inlining. This will *" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * hurt Ogg performace but is necessary for an Ogg that *" >&5
-$as_echo "$as_me: WARNING: * hurt Ogg performace but is necessary for an Ogg that *" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * will actually work. Once glibc is upgraded, rerun *" >&5
-$as_echo "$as_me: WARNING: * will actually work. Once glibc is upgraded, rerun *" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: * configure and make to build with inlining. *" >&5
-$as_echo "$as_me: WARNING: * configure and make to build with inlining. *" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ********************************************************" >&5
-$as_echo "$as_me: WARNING: ********************************************************" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: " >&5
-$as_echo "$as_me: WARNING: " >&2;}
-
- CFLAGS=${OPT}" -D__NO_MATH_INLINES"
- PROFILE=${PROFILE}" -D__NO_MATH_INLINES"
- fi;;
- powerpc-*-linux*spe)
- DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES"
- CFLAGS="-O3 -Wall -Wextra -ffast-math -mfused-madd -D_REENTRANT"
- PROFILE="-pg -g -O3 -ffast-math -mfused-madd -D_REENTRANT";;
- powerpc-*-linux*)
- DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES"
- CFLAGS="-O3 -Wall -Wextra -ffast-math -mfused-madd -mcpu=750 -D_REENTRANT"
- PROFILE="-pg -g -O3 -ffast-math -mfused-madd -mcpu=750 -D_REENTRANT";;
- *-*-linux*)
- DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char"
- CFLAGS="-O20 -Wall -Wextra -ffast-math -D_REENTRANT -fsigned-char"
- PROFILE="-pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char";;
- sparc-sun-*)
- sparc_cpu=""
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc supports -mv8" >&5
-$as_echo_n "checking if gcc supports -mv8... " >&6; }
- old_cflags="$CFLAGS"
- CFLAGS="$CFLAGS -mv8"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- sparc_cpu="-mv8"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$old_cflags"
- DEBUG="-g -Wall -Wextra -D__NO_MATH_INLINES -fsigned-char $sparc_cpu"
- CFLAGS="-O20 -Wall -Wextra -ffast-math -D__NO_MATH_INLINES -fsigned-char $sparc_cpu"
- PROFILE="-pg -g -O20 -D__NO_MATH_INLINES -fsigned-char $sparc_cpu" ;;
- *-*-darwin*)
- DEBUG="-DDARWIN -fno-common -force_cpusubtype_ALL -Wall -g -O0 -fsigned-char"
- CFLAGS="-DDARWIN -fno-common -force_cpusubtype_ALL -Wall -g -O4 -ffast-math -fsigned-char"
- PROFILE="-DDARWIN -fno-common -force_cpusubtype_ALL -Wall -g -pg -O4 -ffast-math -fsigned-char";;
- *-*-os2*)
- # Use -W instead of -Wextra because gcc on OS/2 is an old version.
- DEBUG="-g -Wall -W -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char"
- CFLAGS="-O20 -Wall -W -ffast-math -D_REENTRANT -fsigned-char"
- PROFILE="-pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char";;
- *)
- DEBUG="-g -Wall -Wextra -D__NO_MATH_INLINES -fsigned-char"
- CFLAGS="-O20 -Wall -Wextra -D__NO_MATH_INLINES -fsigned-char"
- PROFILE="-O20 -g -pg -D__NO_MATH_INLINES -fsigned-char" ;;
- esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC accepts -Wdeclaration-after-statement" >&5
-$as_echo_n "checking if $CC accepts -Wdeclaration-after-statement... " >&6; }
- ac_add_cflags__old_cflags="$CFLAGS"
- CFLAGS="$CFLAGS -Wdeclaration-after-statement"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-puts("Hello, World!"); return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- CFLAGS="$ac_add_cflags__old_cflags"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-CFLAGS="$CFLAGS $cflags_save"
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "memory.h" "ac_cv_header_memory_h" "$ac_includes_default"
-if test "x$ac_cv_header_memory_h" = xyes; then :
- CFLAGS="$CFLAGS -DUSE_MEMORY_H"
-else
- :
-fi
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
-$as_echo_n "checking for cos in -lm... " >&6; }
-if ${ac_cv_lib_m_cos+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char cos ();
-int
-main ()
-{
-return cos ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_m_cos=yes
-else
- ac_cv_lib_m_cos=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
-$as_echo "$ac_cv_lib_m_cos" >&6; }
-if test "x$ac_cv_lib_m_cos" = xyes; then :
- VORBIS_LIBS="-lm"
-else
- VORBIS_LIBS=""
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5
-$as_echo_n "checking for pthread_create in -lpthread... " >&6; }
-if ${ac_cv_lib_pthread_pthread_create+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpthread $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char pthread_create ();
-int
-main ()
-{
-return pthread_create ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_pthread_pthread_create=yes
-else
- ac_cv_lib_pthread_pthread_create=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_create" >&5
-$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; }
-if test "x$ac_cv_lib_pthread_pthread_create" = xyes; then :
- pthread_lib="-lpthread"
-else
- :
-fi
-
-
-
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKG_CONFIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $PKG_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
- ac_pt_PKG_CONFIG=$PKG_CONFIG
- # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $ac_pt_PKG_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_pt_PKG_CONFIG" = x; then
- PKG_CONFIG=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- PKG_CONFIG=$ac_pt_PKG_CONFIG
- fi
-else
- PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
-
-fi
-if test -n "$PKG_CONFIG"; then
- _pkg_min_version=0.9.0
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
- if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- PKG_CONFIG=""
- fi
-
-fi
-
-HAVE_OGG=no
-if test "x$PKG_CONFIG" != "x"
-then
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OGG" >&5
-$as_echo_n "checking for OGG... " >&6; }
-
-if test -n "$PKG_CONFIG"; then
- if test -n "$OGG_CFLAGS"; then
- pkg_cv_OGG_CFLAGS="$OGG_CFLAGS"
- else
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ogg >= 1.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "ogg >= 1.0") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_OGG_CFLAGS=`$PKG_CONFIG --cflags "ogg >= 1.0" 2>/dev/null`
-else
- pkg_failed=yes
-fi
- fi
-else
- pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
- if test -n "$OGG_LIBS"; then
- pkg_cv_OGG_LIBS="$OGG_LIBS"
- else
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ogg >= 1.0\""; } >&5
- ($PKG_CONFIG --exists --print-errors "ogg >= 1.0") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_OGG_LIBS=`$PKG_CONFIG --libs "ogg >= 1.0" 2>/dev/null`
-else
- pkg_failed=yes
-fi
- fi
-else
- pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
- _pkg_short_errors_supported=yes
-else
- _pkg_short_errors_supported=no
-fi
- if test $_pkg_short_errors_supported = yes; then
- OGG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "ogg >= 1.0"`
- else
- OGG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ogg >= 1.0"`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$OGG_PKG_ERRORS" >&5
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- HAVE_OGG=no
-elif test $pkg_failed = untried; then
- HAVE_OGG=no
-else
- OGG_CFLAGS=$pkg_cv_OGG_CFLAGS
- OGG_LIBS=$pkg_cv_OGG_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- HAVE_OGG=yes
-fi
-fi
-if test "x$HAVE_OGG" = "xno"
-then
-
-# Check whether --with-ogg was given.
-if test "${with_ogg+set}" = set; then :
- withval=$with_ogg; ogg_prefix="$withval"
-else
- ogg_prefix=""
-fi
-
-
-# Check whether --with-ogg-libraries was given.
-if test "${with_ogg_libraries+set}" = set; then :
- withval=$with_ogg_libraries; ogg_libraries="$withval"
-else
- ogg_libraries=""
-fi
-
-
-# Check whether --with-ogg-includes was given.
-if test "${with_ogg_includes+set}" = set; then :
- withval=$with_ogg_includes; ogg_includes="$withval"
-else
- ogg_includes=""
-fi
-
-# Check whether --enable-oggtest was given.
-if test "${enable_oggtest+set}" = set; then :
- enableval=$enable_oggtest;
-else
- enable_oggtest=yes
-fi
-
-
- if test "x$ogg_libraries" != "x" ; then
- OGG_LIBS="-L$ogg_libraries"
- elif test "x$ogg_prefix" = "xno" || test "x$ogg_prefix" = "xyes" ; then
- OGG_LIBS=""
- elif test "x$ogg_prefix" != "x" ; then
- OGG_LIBS="-L$ogg_prefix/lib"
- elif test "x$prefix" != "xNONE" ; then
- OGG_LIBS="-L$prefix/lib"
- fi
-
- if test "x$ogg_prefix" != "xno" ; then
- OGG_LIBS="$OGG_LIBS -logg"
- fi
-
- if test "x$ogg_includes" != "x" ; then
- OGG_CFLAGS="-I$ogg_includes"
- elif test "x$ogg_prefix" = "xno" || test "x$ogg_prefix" = "xyes" ; then
- OGG_CFLAGS=""
- elif test "x$ogg_prefix" != "x" ; then
- OGG_CFLAGS="-I$ogg_prefix/include"
- elif test "x$prefix" != "xNONE"; then
- OGG_CFLAGS="-I$prefix/include"
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Ogg" >&5
-$as_echo_n "checking for Ogg... " >&6; }
- if test "x$ogg_prefix" = "xno" ; then
- no_ogg="disabled"
- enable_oggtest="no"
- else
- no_ogg=""
- fi
-
-
- if test "x$enable_oggtest" = "xyes" ; then
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $OGG_CFLAGS"
- LIBS="$LIBS $OGG_LIBS"
- rm -f conf.oggtest
- if test "$cross_compiling" = yes; then :
- echo $ac_n "cross compiling; assumed OK... $ac_c"
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ogg/ogg.h>
-
-int main ()
-{
- system("touch conf.oggtest");
- return 0;
-}
-
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- no_ogg=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
-
- if test "x$no_ogg" = "xdisabled" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- as_fn_error $? "must have Ogg installed!" "$LINENO" 5
- elif test "x$no_ogg" = "x" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- :
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- if test -f conf.oggtest ; then
- :
- else
- echo "*** Could not run Ogg test program, checking why..."
- CFLAGS="$CFLAGS $OGG_CFLAGS"
- LIBS="$LIBS $OGG_LIBS"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <stdio.h>
-#include <ogg/ogg.h>
-
-int
-main ()
-{
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- echo "*** The test program compiled, but did not run. This usually means"
- echo "*** that the run-time linker is not finding Ogg or finding the wrong"
- echo "*** version of Ogg. If it is not finding Ogg, you'll need to set your"
- echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
- echo "*** to the installed location Also, make sure you have run ldconfig if that"
- echo "*** is required on your system"
- echo "***"
- echo "*** If you have an old version installed, it is best to remove it, although"
- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
-else
- echo "*** The test program failed to compile or link. See the file config.log for the"
- echo "*** exact error that occured. This usually means Ogg was incorrectly installed"
- echo "*** or that you have moved Ogg since it was installed."
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- OGG_CFLAGS=""
- OGG_LIBS=""
- as_fn_error $? "must have Ogg installed!" "$LINENO" 5
- fi
-
-
- rm -f conf.oggtest
-
- libs_save=$LIBS
- LIBS="$OGG_LIBS $VORBIS_LIBS"
- ac_fn_c_check_func "$LINENO" "oggpack_writealign" "ac_cv_func_oggpack_writealign"
-if test "x$ac_cv_func_oggpack_writealign" = xyes; then :
-
-else
- as_fn_error $? "Ogg >= 1.0 required !" "$LINENO" 5
-fi
-
- LIBS=$libs_save
-fi
-
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_working_alloca_h=yes
-else
- ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_func_alloca_works=yes
-else
- ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then :
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_c_stack_direction=0
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- return find_stack_direction () < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_stack_direction=1
-else
- ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working memcmp" >&5
-$as_echo_n "checking for working memcmp... " >&6; }
-if ${ac_cv_func_memcmp_working+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_func_memcmp_working=no
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-
- /* Some versions of memcmp are not 8-bit clean. */
- char c0 = '\100', c1 = '\200', c2 = '\201';
- if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0)
- return 1;
-
- /* The Next x86 OpenStep bug shows up only when comparing 16 bytes
- or more and with at least one buffer not starting on a 4-byte boundary.
- William Lewis provided this test program. */
- {
- char foo[21];
- char bar[21];
- int i;
- for (i = 0; i < 4; i++)
- {
- char *a = foo + i;
- char *b = bar + i;
- strcpy (a, "--------01111111");
- strcpy (b, "--------10000000");
- if (memcmp (a, b, 16) >= 0)
- return 1;
- }
- return 0;
- }
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_func_memcmp_working=yes
-else
- ac_cv_func_memcmp_working=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_memcmp_working" >&5
-$as_echo "$ac_cv_func_memcmp_working" >&6; }
-test $ac_cv_func_memcmp_working = no && case " $LIBOBJS " in
- *" memcmp.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS memcmp.$ac_objext"
- ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-ac_config_files="$ac_config_files Makefile m4/Makefile lib/Makefile lib/modes/Makefile lib/books/Makefile lib/books/coupled/Makefile lib/books/uncoupled/Makefile lib/books/floor/Makefile doc/Makefile doc/vorbisfile/Makefile doc/vorbisenc/Makefile doc/libvorbis/Makefile doc/Doxyfile include/Makefile include/vorbis/Makefile examples/Makefile test/Makefile vq/Makefile libvorbis.spec vorbis.pc vorbisenc.pc vorbisfile.pc vorbis-uninstalled.pc vorbisenc-uninstalled.pc vorbisfile-uninstalled.pc"
-
-ac_config_headers="$ac_config_headers config.h"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
- am__EXEEXT_TRUE=
- am__EXEEXT_FALSE='#'
-else
- am__EXEEXT_TRUE='#'
- am__EXEEXT_FALSE=
-fi
-
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${HAVE_DOXYGEN_TRUE}" && test -z "${HAVE_DOXYGEN_FALSE}"; then
- as_fn_error $? "conditional \"HAVE_DOXYGEN\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_DOCS_TRUE}" && test -z "${BUILD_DOCS_FALSE}"; then
- as_fn_error $? "conditional \"BUILD_DOCS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_EXAMPLES_TRUE}" && test -z "${BUILD_EXAMPLES_FALSE}"; then
- as_fn_error $? "conditional \"BUILD_EXAMPLES\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libvorbis $as_me 1.3.4, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <vorbis-dev@xiph.org>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libvorbis config.status 1.3.4
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in AS \
-DLLTOOL \
-OBJDUMP \
-SHELL \
-ECHO \
-PATH_SEPARATOR \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-nm_file_list_spec \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'
-
-
-
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;;
- "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
- "lib/modes/Makefile") CONFIG_FILES="$CONFIG_FILES lib/modes/Makefile" ;;
- "lib/books/Makefile") CONFIG_FILES="$CONFIG_FILES lib/books/Makefile" ;;
- "lib/books/coupled/Makefile") CONFIG_FILES="$CONFIG_FILES lib/books/coupled/Makefile" ;;
- "lib/books/uncoupled/Makefile") CONFIG_FILES="$CONFIG_FILES lib/books/uncoupled/Makefile" ;;
- "lib/books/floor/Makefile") CONFIG_FILES="$CONFIG_FILES lib/books/floor/Makefile" ;;
- "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
- "doc/vorbisfile/Makefile") CONFIG_FILES="$CONFIG_FILES doc/vorbisfile/Makefile" ;;
- "doc/vorbisenc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/vorbisenc/Makefile" ;;
- "doc/libvorbis/Makefile") CONFIG_FILES="$CONFIG_FILES doc/libvorbis/Makefile" ;;
- "doc/Doxyfile") CONFIG_FILES="$CONFIG_FILES doc/Doxyfile" ;;
- "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "include/vorbis/Makefile") CONFIG_FILES="$CONFIG_FILES include/vorbis/Makefile" ;;
- "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
- "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
- "vq/Makefile") CONFIG_FILES="$CONFIG_FILES vq/Makefile" ;;
- "libvorbis.spec") CONFIG_FILES="$CONFIG_FILES libvorbis.spec" ;;
- "vorbis.pc") CONFIG_FILES="$CONFIG_FILES vorbis.pc" ;;
- "vorbisenc.pc") CONFIG_FILES="$CONFIG_FILES vorbisenc.pc" ;;
- "vorbisfile.pc") CONFIG_FILES="$CONFIG_FILES vorbisfile.pc" ;;
- "vorbis-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES vorbis-uninstalled.pc" ;;
- "vorbisenc-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES vorbisenc-uninstalled.pc" ;;
- "vorbisfile-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES vorbisfile-uninstalled.pc" ;;
- "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = "\a"
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$_am_arg" : 'X\(//\)[^/]' \| \
- X"$_am_arg" : 'X\(//\)$' \| \
- X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
- "libtool":C)
-
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Assembler program.
-AS=$lt_AS
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Object dumper program.
-OBJDUMP=$lt_OBJDUMP
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The PATH separator for the build system.
-PATH_SEPARATOR=$lt_PATH_SEPARATOR
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method = "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and in which our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- if test x"$xsi_shell" = xyes; then
- sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\ # positional parameters, so assign one to ordinary parameter first.\
-\ func_stripname_result=${3}\
-\ func_stripname_result=${func_stripname_result#"${1}"}\
-\ func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\ func_split_long_opt_name=${1%%=*}\
-\ func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\ func_split_short_opt_arg=${1#??}\
-\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\ case ${1} in\
-\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\ *) func_lo2o_result=${1} ;;\
-\ esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
- func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
- func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
- func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
- sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
- eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\ func_quote_for_eval "${2}"\
-\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
- ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
dnl ------------------------------------------------
-AC_INIT([libvorbis],[1.3.4],[vorbis-dev@xiph.org])
+AC_INIT([libvorbis],[1.3.7],[vorbis-dev@xiph.org])
-AC_CONFIG_SRCDIR([lib/mdct.c])
AC_CONFIG_MACRO_DIR([m4])
-AC_CANONICAL_TARGET([])
+
+AC_CONFIG_SRCDIR([lib/mdct.c])
+
+AC_CANONICAL_HOST
AM_INIT_AUTOMAKE
AM_MAINTAINER_MODE
dnl Add parameters for aclocal
AC_SUBST(ACLOCAL_AMFLAGS, "-I m4")
+dnl enable silent rules on automake 1.11 and later
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
dnl Library versioning
dnl - library source changed -> increment REVISION
dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
dnl - interfaces removed -> AGE = 0
V_LIB_CURRENT=4
-V_LIB_REVISION=7
+V_LIB_REVISION=9
V_LIB_AGE=4
VF_LIB_CURRENT=6
-VF_LIB_REVISION=6
+VF_LIB_REVISION=8
VF_LIB_AGE=3
VE_LIB_CURRENT=2
-VE_LIB_REVISION=10
+VE_LIB_REVISION=12
VE_LIB_AGE=0
AC_SUBST(V_LIB_CURRENT)
AC_SUBST(VE_LIB_REVISION)
AC_SUBST(VE_LIB_AGE)
-dnl --------------------------------------------------
+dnl --------------------------------------------------
dnl Check for programs
-dnl --------------------------------------------------
+dnl --------------------------------------------------
dnl save $CFLAGS since AC_PROG_CC likes to insert "-g -O2"
dnl if $CFLAGS is blank
AM_CONDITIONAL(BUILD_DOCS, [test "x$enable_docs" = xyes])
-AC_ARG_ENABLE(examples,
- AS_HELP_STRING([--enable-examples], [build the examples]))
-
-AM_CONDITIONAL(BUILD_EXAMPLES, [test "x$enable_examples" = xyes])
+AC_ARG_ENABLE(examples,
+ AS_HELP_STRING([--enable-examples], [build the examples]))
+
+AM_CONDITIONAL(BUILD_EXAMPLES, [test "x$enable_examples" = xyes])
dnl --------------------------------------------------
dnl Set build flags based on environment
cflags_save="$CFLAGS"
if test -z "$GCC"; then
- case $host in
+ case $host in
*-*-irix*)
- dnl If we're on IRIX, we wanna use cc even if gcc
+ dnl If we're on IRIX, we wanna use cc even if gcc
dnl is there (unless the user has overriden us)...
if test -z "$CC"; then
CC=cc
fi
- DEBUG="-g -signed"
+ DEBUG="-g -signed"
CFLAGS="-O2 -w -signed"
PROFILE="-p -g3 -O2 -signed" ;;
sparc-sun-solaris*)
AC_MSG_CHECKING([GCC version])
GCC_VERSION=`$CC -dumpversion`
AC_MSG_RESULT([$GCC_VERSION])
- case $host in
+ case $host in
*86-*-linux*)
DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char"
- CFLAGS="-O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char"
-# PROFILE="-Wall -Wextra -pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char -fno-inline -static"
- PROFILE="-Wall -Wextra -pg -g -O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -fno-inline"
+ CFLAGS="-O3 -Wall -Wextra -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char"
+# PROFILE="-Wall -Wextra -pg -g -O3 -ffast-math -D_REENTRANT -fsigned-char -fno-inline -static"
+ PROFILE="-Wall -Wextra -pg -g -O3 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -fno-inline"
# glibc < 2.1.3 has a serious FP bug in the math inline header
# that will cripple Vorbis. Look to see if the magic FP stack
CFLAGS=${OPT}" -D__NO_MATH_INLINES"
PROFILE=${PROFILE}" -D__NO_MATH_INLINES"
fi;;
- powerpc-*-linux*spe)
- DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES"
- CFLAGS="-O3 -Wall -Wextra -ffast-math -mfused-madd -D_REENTRANT"
- PROFILE="-pg -g -O3 -ffast-math -mfused-madd -D_REENTRANT";;
+ powerpc-*-linux*spe)
+ DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES"
+ CFLAGS="-O3 -Wall -Wextra -ffast-math -mfused-madd -D_REENTRANT"
+ PROFILE="-pg -g -O3 -ffast-math -mfused-madd -D_REENTRANT";;
powerpc-*-linux*)
DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES"
CFLAGS="-O3 -Wall -Wextra -ffast-math -mfused-madd -mcpu=750 -D_REENTRANT"
PROFILE="-pg -g -O3 -ffast-math -mfused-madd -mcpu=750 -D_REENTRANT";;
*-*-linux*)
DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char"
- CFLAGS="-O20 -Wall -Wextra -ffast-math -D_REENTRANT -fsigned-char"
- PROFILE="-pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char";;
+ CFLAGS="-O3 -Wall -Wextra -ffast-math -D_REENTRANT -fsigned-char"
+ PROFILE="-pg -g -O3 -ffast-math -D_REENTRANT -fsigned-char";;
sparc-sun-*)
sparc_cpu=""
AC_MSG_CHECKING([if gcc supports -mv8])
])
CFLAGS="$old_cflags"
DEBUG="-g -Wall -Wextra -D__NO_MATH_INLINES -fsigned-char $sparc_cpu"
- CFLAGS="-O20 -Wall -Wextra -ffast-math -D__NO_MATH_INLINES -fsigned-char $sparc_cpu"
- PROFILE="-pg -g -O20 -D__NO_MATH_INLINES -fsigned-char $sparc_cpu" ;;
+ CFLAGS="-O3 -Wall -Wextra -ffast-math -D__NO_MATH_INLINES -fsigned-char $sparc_cpu"
+ PROFILE="-pg -g -O3 -D__NO_MATH_INLINES -fsigned-char $sparc_cpu" ;;
*-*-darwin*)
DEBUG="-DDARWIN -fno-common -force_cpusubtype_ALL -Wall -g -O0 -fsigned-char"
- CFLAGS="-DDARWIN -fno-common -force_cpusubtype_ALL -Wall -g -O4 -ffast-math -fsigned-char"
- PROFILE="-DDARWIN -fno-common -force_cpusubtype_ALL -Wall -g -pg -O4 -ffast-math -fsigned-char";;
+ CFLAGS="-DDARWIN -fno-common -force_cpusubtype_ALL -Wall -g -O3 -ffast-math -fsigned-char"
+ PROFILE="-DDARWIN -fno-common -force_cpusubtype_ALL -Wall -g -pg -O3 -ffast-math -fsigned-char";;
*-*-os2*)
# Use -W instead of -Wextra because gcc on OS/2 is an old version.
DEBUG="-g -Wall -W -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char"
- CFLAGS="-O20 -Wall -W -ffast-math -D_REENTRANT -fsigned-char"
- PROFILE="-pg -g -O20 -ffast-math -D_REENTRANT -fsigned-char";;
+ CFLAGS="-O3 -Wall -W -ffast-math -D_REENTRANT -fsigned-char"
+ PROFILE="-pg -g -O3 -ffast-math -D_REENTRANT -fsigned-char";;
*)
DEBUG="-g -Wall -Wextra -D__NO_MATH_INLINES -fsigned-char"
- CFLAGS="-O20 -Wall -Wextra -D__NO_MATH_INLINES -fsigned-char"
- PROFILE="-O20 -g -pg -D__NO_MATH_INLINES -fsigned-char" ;;
+ CFLAGS="-O3 -Wall -Wextra -D__NO_MATH_INLINES -fsigned-char"
+ PROFILE="-O3 -g -pg -D__NO_MATH_INLINES -fsigned-char" ;;
esac
AC_ADD_CFLAGS([-Wdeclaration-after-statement])
--- /dev/null
+#!/bin/bash -eu
+
+pushd $SRC
+mv people.xiph.org/*.ogg decode_corpus/
+zip -r "$OUT/decode_fuzzer_seed_corpus.zip" decode_corpus/
+popd
+
+pushd $SRC/ogg
+./autogen.sh
+./configure --prefix="$WORK" --enable-static --disable-shared --disable-crc
+make clean
+make -j$(nproc)
+make install
+popd
+
+
+./autogen.sh
+./configure --prefix="$WORK" --enable-static --disable-shared
+make clean
+make -j$(nproc)
+make install
+
+$CXX $CXXFLAGS $SRC/vorbis/contrib/oss-fuzz/decode_fuzzer.cc -o $OUT/decode_fuzzer -L"$WORK/lib" -I"$WORK/include" $LIB_FUZZING_ENGINE -lvorbisfile -lvorbis -logg
--- /dev/null
+#include <stdio.h>
+#include <string.h>
+#include <cstdint>
+#include <vorbis/vorbisfile.h>
+
+struct vorbis_data {
+ const uint8_t *current;
+ const uint8_t *data;
+ size_t size;
+};
+
+size_t read_func(void *ptr, size_t size1, size_t size2, void *datasource) {
+ vorbis_data* vd = (vorbis_data *)(datasource);
+ size_t len = size1 * size2;
+ if (vd->current + len > vd->data + vd->size) {
+ len = vd->data + vd->size - vd->current;
+ }
+ memcpy(ptr, vd->current, len);
+ vd->current += len;
+ return len;
+}
+
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
+ ov_callbacks memory_callbacks = {0};
+ memory_callbacks.read_func = read_func;
+ vorbis_data data_st;
+ data_st.size = Size;
+ data_st.current = Data;
+ data_st.data = Data;
+ OggVorbis_File vf;
+ int result = ov_open_callbacks(&data_st, &vf, NULL, 0, memory_callbacks);
+ if (result < 0) {
+ return 0;
+ }
+ int current_section = 0;
+ int eof = 0;
+ char buf[4096];
+ int read_result;
+ while (!eof) {
+ read_result = ov_read(&vf, buf, sizeof(buf), 0, 2, 1, ¤t_section);
+ if (read_result != OV_HOLE && read_result <= 0) {
+ eof = 1;
+ }
+ }
+ ov_clear(&vf);
+ return 0;
+}
--- /dev/null
+libvorbis (1.2.0.dfsg-3.1) unstable; urgency=high
+
+ * Non-maintainer upload by the security team
+ * Fix integer overflows (and possible DoS attacks) via crafted
+ OGG files (Closes: #482518)
+ Fixes: CVE-2008-1423, CVE-2008-1420, CVE-2008-1419
+
+ -- Steffen Joeris <white@debian.org> Mon, 26 May 2008 12:48:06 +0000
+
+libvorbis (1.2.0.dfsg-3) unstable; urgency=low
+
+ * Use dpkg-gensymbols, with symbol files obtained from Mole (stripping
+ debian revision and .dfsg suffix).
+
+ * Install upstream CHANGES file as changelog.gz. (Closes: #302037)
+
+ * Bump debian/compat to 5, and Standards-Version to 3.7.3 (no changes
+ needed).
+
+ * Use quilt.make in debian/rules.
+
+ -- Adeodato Simó <dato@net.com.org.es> Thu, 27 Dec 2007 14:33:45 +0100
+
+libvorbis (1.2.0.dfsg-2) unstable; urgency=high
+
+ * Bump shlibs for libvorbis0a due to new vorbis_synthesis_idheader header.
+ (Closes: #436083)
+
+ -- Adeodato Simó <dato@net.com.org.es> Tue, 14 Aug 2007 20:55:54 +0200
+
+libvorbis (1.2.0.dfsg-1) unstable; urgency=low
+
+ [ Adeodato Simó ]
+ * Use ${binary:Version} instead of ${Source-Version}.
+
+ [ Clint Adams ]
+ * New upstream release.
+ - Remove upstream_r13198-fix_segfault_in_ov_time_seek.diff .
+ * Bump shlibs for libvorbisfile3 to >= 1.2.0 due to new ov_fopen
+ function.
+
+ -- Clint Adams <schizo@debian.org> Fri, 27 Jul 2007 02:57:44 -0400
+
+libvorbis (1.1.2.dfsg-2) unstable; urgency=low
+
+ * Bump to Standards-Version 3.7.2.
+ * Add upstream_r13198-fix_segfault_in_ov_time_seek.diff. closes: #281995.
+
+ -- Clint Adams <schizo@debian.org> Fri, 29 Jun 2007 09:46:12 -0400
+
+libvorbis (1.1.2.dfsg-1.2) unstable; urgency=high
+
+ * Fix shlibs files for libvorbisenc and libvorbisfile, which were broken
+ by my first NMU to have dependencies for libvorbis0a. Closes: #395048
+
+ -- Joey Hess <joeyh@debian.org> Tue, 24 Oct 2006 19:55:19 -0400
+
+libvorbis (1.1.2.dfsg-1.1) unstable; urgency=low
+
+ * NMU
+ * Remove draft RFC files, as they are not under a free license.
+ Closes: #390660
+ * Repackage the source package without these files.
+ * Add README.Source documenting how the upstream source is repackaged.
+ * Modify dh_makeshlibs call to avoid generating a shlibs file that has
+ an unncessarily tight versioned dependency on this new pseudo-version
+ of libvorbis.
+
+ -- Joey Hess <joeyh@debian.org> Sun, 15 Oct 2006 17:21:37 -0400
+
+libvorbis (1.1.2-1) unstable; urgency=low
+
+ * Switch maintenance to the Debian Xiph.org Maintainers (alioth/pkg-xiph).
+
+ * New upstream release packaged. (Closes: #327586)
+
+ * Move HTML documentation from /usr/share/doc/libvorbis-dev itself to an
+ html/ subdirectory of it.
+
+ * Update debian/control:
+ + drop unnecessary build-dependency on devscripts.
+ + drop version restriction on debhelper and libogg-dev build-dependencies,
+ since they're already satisfied with stable.
+
+ * Overhaul debian/rules, and switch to quilt for patch management.
+
+ * Add debian/compat file, instead of exporting DH_COMPAT.
+
+ * Update download URL in debian/copyright.
+
+ * Add debian/watch file.
+
+ * Bumped Standards-Version to 3.6.2 (no changes required).
+
+ -- Adeodato Simó <dato@net.com.org.es> Thu, 26 Jan 2006 01:35:39 +0100
+
+libvorbis (1.1.0-1) unstable; urgency=low
+
+ * New upstream.
+
+ -- Christopher L Cheney <ccheney@debian.org> Thu, 17 Mar 2005 21:30:00 -0600
+
+libvorbis (1.0.1-1) unstable; urgency=low
+
+ * New upstream.
+ * Improved descriptions. (Closes: #166649)
+ * Updated DEB_BUILD_OPTIONS support. (Closes: #188464)
+
+ -- Christopher L Cheney <ccheney@debian.org> Tue, 9 Dec 2003 01:00:00 -0600
+
+libvorbis (1.0.0-3) unstable; urgency=low
+
+ * Add libvorbis0 conflict to libvorbis0a.
+
+ -- Christopher L Cheney <ccheney@debian.org> Wed, 12 Mar 2003 17:00:00 -0600
+
+libvorbis (1.0.0-2) unstable; urgency=low
+
+ * Rename libvorbis0 -> libvorbis0a to keep packages from upgrading to it
+ by mistake. (Closes: #156227, #156365, #161961, #171548, #172466,
+ #172469, #178756)
+ * GNU config automated update: config.sub (20020621 to 20030103),
+ config.guess (20020529 to 20030110)
+
+ -- Christopher L Cheney <ccheney@debian.org> Sat, 8 Mar 2003 13:00:00 -0600
+
+libvorbis (1.0.0-1) unstable; urgency=low
+
+ * New upstream.
+ * Split libvorbis package into libvorbis libvorbisenc libvorbisfile due to
+ shared object major versions going out of sync.
+
+ -- Christopher L Cheney <ccheney@debian.org> Fri, 19 Jul 2002 09:00:00 -0500
+
+libvorbis (1.0rc3-1) unstable; urgency=low
+
+ * New upstream. (Closes: #121995, #123472)
+ * added autotools target (config.* updater) to rules
+
+ -- Christopher L Cheney <ccheney@debian.org> Mon, 24 Dec 2001 11:00:00 -0600
+
+libvorbis (1.0rc2-1) unstable; urgency=low
+
+ * New upstream.
+
+ -- Christopher L Cheney <ccheney@debian.org> Sun, 12 Aug 2001 22:00:00 -0500
+
+libvorbis (1.0rc1-1) unstable; urgency=low
+
+ * New upstream. (Closes: #84977, #95330)
+ * Upstream says lame at fault. See bug details. (Closes: #98010)
+ * Fixed versioned depends.
+ * Changed clean method to distclean.
+
+ -- Christopher L Cheney <ccheney@debian.org> Sun, 17 Jun 2001 20:00:00 -0500
+
+libvorbis (1.0beta4-1) unstable; urgency=low
+
+ * New upstream.
+ * Appears to be fixed, can't reproduce bug (closes: #78848)
+
+ -- Christopher L Cheney <ccheney@debian.org> Mon, 26 Feb 2001 08:00:00 -0600
+
+libvorbis (1.0beta3-3) unstable; urgency=low
+
+ * Fixed Build-Depends libogg-dev version dependency.
+ * Fixed Sections.
+ * Updated to Standards-Version to 3.5.1.0
+
+ -- Christopher L Cheney <ccheney@debian.org> Sat, 17 Feb 2001 18:14:53 -0600
+
+libvorbis (1.0beta3-2) unstable; urgency=low
+
+ * Added dependency for libogg-dev (closes: #78262)
+ * Added dependency for libogg-dev (closes: #81432)
+ * Corrected development library package name (closes: #82464)
+
+ -- Christopher L Cheney <ccheney@debian.org> Sat, 3 Feb 2001 13:29:30 -0600
+
+libvorbis (1.0beta3-1) unstable; urgency=low
+
+ * New Maintainer.
+ * Upstream source was reorganized.
+ * Package split according to the upstream reorganization.
+
+ -- Christopher L Cheney <ccheney@debian.org> Tue, 31 Oct 2000 15:08:22 -0600
+
+vorbis (1.0beta2-1) unstable; urgency=low
+
+ * New upstream version. Closes: #67326, #68416
+ * Changed xmms-vorbis to Architechture: any. Closes: #67395
+ * Added Build-deps. Closes: #66628
+ * Moved vorbize to vorbis-tools along with oggenc and vorbiscomment
+
+ -- Michael Beattie <mjb@debian.org> Wed, 9 Aug 2000 00:30:15 +1200
+
+vorbis (1.0beta1-1) unstable; urgency=low
+
+ * First Beta, Ready for debian release.
+
+ -- Michael Beattie <mickyb@es.co.nz> Fri, 30 Jun 2000 19:26:59 +1200
+
+vorbis (0.0-1) unstable; urgency=low
+
+ * Initial Release.
+ * Initial package, not placed in archive.
+
+ -- Michael Beattie <mickyb@es.co.nz> Mon, 26 Jun 2000 18:59:56 +1200
--- /dev/null
+Source: libvorbis
+Section: libs
+Priority: optional
+Maintainer: Christopher L Cheney <ccheney@debian.org>
+Build-Depends: autotools-dev, debhelper (>> 4.0.18), devscripts, libogg-dev (>> 1.1.0)
+Standards-Version: 3.6.1.0
+
+Package: libvorbis0a
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}
+Conflicts: libvorbis0
+Replaces: libvorbis0
+Description: The Vorbis General Audio Compression Codec
+ Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free,
+ general-purpose compressed audio format for audio and music at fixed
+ and variable bitrates from 16 to 128 kbps/channel.
+ .
+ The Vorbis library is the primary Ogg Vorbis library.
+
+Package: libvorbisenc2
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}
+Conflicts: libvorbis0 (<< 1.0.0)
+Replaces: libvorbis0 (<< 1.0.0)
+Description: The Vorbis General Audio Compression Codec
+ Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free,
+ general-purpose compressed audio format for audio and music at fixed
+ and variable bitrates from 16 to 128 kbps/channel.
+ .
+ The Vorbisenc library provides a convenient API for setting up an encoding
+ environment using libvorbis.
+
+Package: libvorbisfile3
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}
+Conflicts: libvorbis0 (<< 1.0.0)
+Replaces: libvorbis0 (<< 1.0.0)
+Description: The Vorbis General Audio Compression Codec
+ Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free,
+ general-purpose compressed audio format for audio and music at fixed
+ and variable bitrates from 16 to 128 kbps/channel.
+ .
+ The Vorbisfile library provides a convenient high-level API for decoding
+ and basic manipulation of all Vorbis I audio streams.
+
+Package: libvorbis-dev
+Architecture: any
+Section: libdevel
+Depends: libogg-dev, libvorbis0a (= ${Source-Version}), libvorbisenc2 (= ${Source-Version}), libvorbisfile3 (= ${Source-Version})
+Description: The Vorbis General Audio Compression Codec (development files)
+ Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free,
+ general-purpose compressed audio format for audio and music at fixed
+ and variable bitrates from 16 to 128 kbps/channel.
+ .
+ This package contains the header files and documentation needed to develop
+ applications with libvorbis.
+
--- /dev/null
+This package was debianized by Christopher L Cheney <ccheney@debian.org> on
+Tue, 31 Oct 2000 15:08:22 -0600.
+
+It was downloaded from https://downloads.xiph.org/releases/vorbis/
+
+Upstream Author: Monty <monty@xiph.org>
+
+Copyright:
+
+Copyright (c) 2020, Xiph.org Foundation
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+- Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+
+- Neither the name of the Xiph.org Foundation nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
--- /dev/null
+debian/tmp/usr/share/doc/libvorbis-*/*
--- /dev/null
+examples/*.c
+examples/*.pl
--- /dev/null
+debian/tmp/usr/include/vorbis/codec.h
+debian/tmp/usr/include/vorbis/vorbisenc.h
+debian/tmp/usr/include/vorbis/vorbisfile.h
+debian/tmp/usr/lib/libvorbis.a
+debian/tmp/usr/lib/libvorbis.la
+debian/tmp/usr/lib/libvorbis.so
+debian/tmp/usr/lib/libvorbisenc.a
+debian/tmp/usr/lib/libvorbisenc.la
+debian/tmp/usr/lib/libvorbisenc.so
+debian/tmp/usr/lib/libvorbisfile.a
+debian/tmp/usr/lib/libvorbisfile.la
+debian/tmp/usr/lib/libvorbisfile.so
+debian/tmp/usr/lib/pkgconfig/vorbis.pc
+debian/tmp/usr/lib/pkgconfig/vorbisenc.pc
+debian/tmp/usr/lib/pkgconfig/vorbisfile.pc
+debian/tmp/usr/share/aclocal/vorbis.m4
--- /dev/null
+debian/tmp/usr/lib/libvorbis.so.*
--- /dev/null
+debian/tmp/usr/lib/libvorbisenc.so.*
--- /dev/null
+debian/tmp/usr/lib/libvorbisfile.so.*
--- /dev/null
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+#
+# Modified to make a template file for a multi-binary package with separated
+# build-arch and build-indep targets by Bill Allombert 2001
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# This is the debhelper compatibility version to use.
+export DH_COMPAT=4
+
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+objdir = $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+ CFLAGS += -O0
+else
+ CFLAGS += -O2
+endif
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+ INSTALL_PROGRAM += -s
+endif
+
+configure: configure-stamp
+configure-stamp:
+ dh_testdir
+
+ # make build directory
+ mkdir $(objdir)
+
+ # run configure with build tree $(objdir)
+ # change ../configure to ../autogen.sh for CVS build
+ cd $(objdir) && \
+ ../configure --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \
+ --prefix=/usr --enable-static
+
+ touch configure-stamp
+
+#Architecture
+build: build-arch build-indep
+
+build-arch: build-arch-stamp
+build-arch-stamp: configure-stamp
+
+ cd $(objdir) && \
+ $(MAKE)
+
+ touch build-arch-stamp
+
+build-indep: build-indep-stamp
+build-indep-stamp: configure-stamp
+
+ # Add here commands to compile the indep part of the package.
+ #$(MAKE) doc
+ touch build-indep-stamp
+
+debian-clean:
+ dh_testdir
+ dh_testroot
+
+ dh_clean
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-arch-stamp build-indep-stamp configure-stamp
+
+ # Remove build tree
+ rm -rf $(objdir)
+
+ # if Makefile exists run distclean
+ if test -f Makefile; then \
+ $(MAKE) distclean; \
+ fi
+
+ #if test -d CVS; then \
+ $(MAKE) cvs-clean ;\
+ fi
+
+ dh_clean
+
+install: install-indep install-arch
+install-indep:
+ dh_testdir
+ dh_testroot
+# dh_clean -k -i
+# dh_installdirs -i
+
+# dh_install -i --list-missing
+
+install-arch:
+ dh_testdir
+ dh_testroot
+ dh_clean -k -s
+ dh_installdirs -s
+
+ cd $(objdir) && \
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+
+ dh_install -s --list-missing
+
+# Must not depend on anything. This is to be called by
+# binary-arch/binary-indep
+# in another 'make' thread.
+binary-common:
+ dh_testdir
+ dh_testroot
+ dh_installchangelogs CHANGES
+ dh_installdocs
+ dh_installexamples
+# dh_installmenu
+# dh_installdebconf
+# dh_installlogrotate
+# dh_installemacsen
+# dh_installpam
+# dh_installmime
+# dh_installinit
+# dh_installcron
+# dh_installinfo
+ dh_installman
+ dh_link
+ dh_strip
+ dh_compress
+ dh_fixperms
+# dh_perl
+# dh_python
+ dh_makeshlibs -V
+ dh_installdeb
+ dh_shlibdeps -ldebian/libvorbis0a/usr/lib
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+# Build architecture independant packages using the common target.
+binary-indep: build-indep install-indep
+# $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
+
+# Build architecture dependant packages using the common target.
+binary-arch: build-arch install-arch
+ $(MAKE) -f debian/rules DH_OPTIONS=-a binary-common
+
+binary: binary-arch binary-indep
+.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure
--- /dev/null
+version=2
+
+https://downloads.xiph.org/releases/vorbis/libvorbis-(.*)\.tar\.gz debian uupdate
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
%!TEX root = Vorbis_I_spec.tex
-% $Id$
\section{Introduction and Description} \label{vorbis:spec:intro}
\subsection{Overview}
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
%!TEX root = Vorbis_I_spec.tex
-% $Id$
\section{Bitpacking Convention} \label{vorbis:spec:bitpacking}
\subsection{Overview}
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
%!TEX root = Vorbis_I_spec.tex
-% $Id$
\section{Probability Model and Codebooks} \label{vorbis:spec:codebook}
\subsection{Overview}
Similarly, in the original codebook, it's clear that the tree is fully
populated and a ninth codeword is impossible. Both underspecified and
overspecified trees are an error condition rendering the stream
-undecodable. Take special care that a codebook with a single used
-entry is handled properly; it consists of a single codework of zero
-bits and 'reading' a value out of such a codebook always returns the
-single used value and sinks zero bits.
+undecodable.
Codebook entries marked 'unused' are simply skipped in the assigning
process. They have no codeword and do not appear in the decision
tree, thus it's impossible for any bit pattern read from the stream to
decode to that entry number.
-
+\paragraph{Errata 20150226: Single entry codebooks}
+
+A 'single-entry codebook' is a codebook with one active codeword
+entry. A single-entry codebook may be either a fully populated
+codebook with only one declared entry, or a sparse codebook with only
+one entry marked used. The Vorbis I spec provides no means to specify
+a codeword length of zero, and as a result, a single-entry codebook is
+inherently malformed because it is underpopulated. The original
+specification did not address directly the matter of single-entry
+codebooks; they were implicitly illegal as it was not possible to
+write such a codebook with a valid tree structure.
+
+In r14811 of the libvorbis reference implementation, Xiph added an
+additional check to the codebook implementation to reject
+underpopulated Huffman trees. This change led to the discovery of
+single-entry books used 'in the wild' when the new, stricter checks
+rejected a number of apparently working streams.
+
+In order to minimize breakage of deployed (if technically erroneous)
+streams, r16073 of the reference implementation explicitly
+special-cased single-entry codebooks to tolerate the single-entry
+case. Commit r16073 also added the following to the specification:
+
+\blockquote{\sout{Take special care that a codebook with a single used
+ entry is handled properly; it consists of a single codework of
+ zero bits and ’reading’ a value out of such a codebook always
+ returns the single used value and sinks zero bits.
+}}
+
+The intent was to clarify the spec and codify current practice.
+However, this addition is erroneously at odds with the intent of preserving
+usability of existing streams using single-entry codebooks, disagrees
+with the code changes that reinstated decoding, and does not address how
+single-entry codebooks should be encoded.
+
+As such, the above addition made in r16037 is struck from the
+specification and replaced by the following:
+
+\blockquote{It is possible to declare a Vorbis codebook containing a
+ single codework entry. A single-entry codebook may be either a
+ fully populated codebook with \varname{[codebook\_entries]} set to
+ 1, or a sparse codebook marking only one entry used. Note that it
+ is not possible to also encode a \varname{[codeword\_length]} of
+ zero for the single used codeword, as the unsigned value written to
+ the stream is \varname{[codeword\_length]-1}. Instead, encoder
+ implementations should indicate a \varname{[codeword\_length]} of 1
+ and 'write' the codeword to a stream during audio encoding by
+ writing a single zero bit.
+
+ Decoder implementations shall reject a codebook if it contains only
+ one used entry and the encoded \varname{[codeword\_length]} of that
+ entry is not 1. 'Reading' a value from single-entry codebook always
+ returns the single used codeword value and sinks one bit. Decoders
+ should tolerate that the bit read from the stream be '1' instead of
+ '0'; both values shall return the single used codeword.}
\paragraph{VQ lookup table vector representation}
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
%!TEX root = Vorbis_I_spec.tex
-% $Id$
\section{Codec Setup and Packet Decode} \label{vorbis:spec:codec}
\subsection{Overview}
data to be returned is:
\begin{programlisting}
-window\_blocksize(previous\_window)/4+window\_blocksize(current\_window)/4
+window_blocksize(previous_window)/4+window_blocksize(current_window)/4
\end{programlisting}
from the center (element windowsize/2) of the previous window to the
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
%!TEX root = Vorbis_I_spec.tex
-% $Id$
\section{comment field and header specification} \label{vorbis:spec:comment}
\subsection{Overview}
Copyright attribution, e.g., '2001 Nobody's Band' or '1999 Jack Moffitt'
\item[LICENSE]
- License information, eg, 'All Rights Reserved', 'Any
+ License information, for example, 'All Rights Reserved', 'Any
Use Permitted', a URL to a license such as a Creative Commons license
-("www.creativecommons.org/blahblah/license.html") or the EFF Open
-Audio License ('distributed under the terms of the Open Audio
-License. see http://www.eff.org/IP/Open\_licenses/eff\_oal.html for
-details'), etc.
+(e.g. "creativecommons.org/license/by/4.0/") or similar.
\item[ORGANIZATION]
Name of the organization producing the track (i.e.
\item[ISRC]
International Standard Recording Code for the
-track; see \href{http://www.ifpi.org/isrc/}{the ISRC
+track; see \href{https://isrc.ifpi.org/}{the ISRC
intro page} for more information on ISRC numbers.
\end{description}
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
%!TEX root = Vorbis_I_spec.tex
-% $Id$
\section{Floor type 0 setup and decode} \label{vorbis:spec:floor0}
\subsection{Overview}
and
\begin{displaymath}
- \mathrm{bark}(x) = 13.1 \arctan (.00074x) + 2.24 \arctan (.0000000185x^2 + .0001x)
+ \mathrm{bark}(x) = 13.1 \arctan (.00074x) + 2.24 \arctan (.0000000185x^2) + .0001x
\end{displaymath}
The above is used to synthesize the LSP curve on a Bark-scale frequency
\item done
\end{enumerate}
+\paragraph{Errata 20150227: Bark scale computation}
+Due to a typo when typesetting this version of the specification from the original HTML document, the Bark scale computation previously erroneously read:
+ \begin{displaymath}
+ \hbox{\sout{$
+ \mathrm{bark}(x) = 13.1 \arctan (.00074x) + 2.24 \arctan (.0000000185x^2 + .0001x)
+ $}}
+ \end{displaymath}
+Note that the last parenthesis is misplaced. This document now uses the correct equation as it appeared in the original HTML spec document:
-
+ \begin{displaymath}
+ \mathrm{bark}(x) = 13.1 \arctan (.00074x) + 2.24 \arctan (.0000000185x^2) + .0001x
+ \end{displaymath}
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
%!TEX root = Vorbis_I_spec.tex
-% $Id$
\section{Floor type 1 setup and decode} \label{vorbis:spec:floor1}
\subsection{Overview}
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
%!TEX root = Vorbis_I_spec.tex
-% $Id$
\section{Residue setup and decode} \label{vorbis:spec:residue}
\subsection{Overview}
1) [actual\_size] = current blocksize/2;
2) if residue encoding is format 2
3) [actual\_size] = [actual\_size] * [ch];
- 4) [limit\_residue\_begin] = maximum of ([residue\_begin],[actual\_size]);
- 5) [limit\_residue\_end] = maximum of ([residue\_end],[actual\_size]);
+ 4) [limit\_residue\_begin] = minimum of ([residue\_begin],[actual\_size]);
+ 5) [limit\_residue\_end] = minimum of ([residue\_end],[actual\_size]);
\end{programlisting}
The following convenience values are conceptually useful to clarifying
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
%!TEX root = Vorbis_I_spec.tex
-% $Id$
\section{Helper equations} \label{vorbis:spec:helper}
\subsection{Overview}
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
%!TEX root = Vorbis_I_spec.tex
-% $Id$
\section{Tables} \label{vorbis:spec:tables}
\subsection{floor1\_inverse\_dB\_table} \label{vorbis:spec:floor1:inverse:dB:table}
The vector \varname{[floor1\_inverse\_dB\_table]} is a 256 element static
-lookup table consiting of the following values (read left to right
+lookup table consisting of the following values (read left to right
then top to bottom):
\begin{Verbatim}
rfc5215.xml \
rfc5215.txt \
eightphase.png \
- evenlsp.png \
fish_xiph_org.png \
floor1_inverse_dB_table.html \
floorval.png \
framing.html \
helper.html \
index.html \
- lspmap.png \
- oddlsp.png \
oggstream.html \
programming.html \
squarepolar.png \
v-comment.html \
vorbis-clip.txt \
vorbis-errors.txt \
- vorbis-fidelity.html \
- vorbis.html \
- vorbisword2.png \
- wait.png \
- white-xifish.png
+ vorbis-fidelity.html
# bits needed by the spec
-SPEC_PNG = \
- components.png \
- floor1-1.png \
- floor1-2.png \
- floor1-3.png \
- floor1-4.png \
- hufftree.png \
- hufftree-under.png \
- residue-pack.png \
- residue2.png \
- window1.png \
- window2.png
-SPEC_PDF = xifish.pdf
-
-# FIXME: also needed here
-# white-xifish.png
-
SPEC_TEX = \
Vorbis_I_spec.tex \
01-introduction.tex \
a2-encapsulation-rtp.tex \
footer.tex
-built_docs = Vorbis_I_spec.pdf Vorbis_I_spec.html Vorbis_I_spec.css
+SPEC_PNG = \
+ components.png \
+ floor1-1.png \
+ floor1-2.png \
+ floor1-3.png \
+ floor1-4.png \
+ hufftree.png \
+ hufftree-under.png \
+ residue-pack.png \
+ residue2.png \
+ window1.png \
+ window2.png
+
+# Figure images generated by htlatex
+built_SPEC_PNG = \
+ Vorbis_I_spec0x.png \
+ Vorbis_I_spec1x.png \
+ Vorbis_I_spec2x.png \
+ Vorbis_I_spec3x.png \
+ Vorbis_I_spec4x.png \
+ Vorbis_I_spec5x.png \
+ Vorbis_I_spec6x.png \
+ Vorbis_I_spec7x.png \
+ Vorbis_I_spec8x.png \
+ Vorbis_I_spec9x.png \
+ Vorbis_I_spec10x.png \
+ Vorbis_I_spec11x.png \
+ Vorbis_I_spec12x.png \
+ Vorbis_I_spec13x.png \
+ Vorbis_I_spec14x.png
+
+
+built_docs = Vorbis_I_spec.pdf \
+ Vorbis_I_spec.html Vorbis_I_spec.css $(built_SPEC_PNG)
# conditionally make the generated documentation
if BUILD_DOCS
Vorbis_I_spec.lg Vorbis_I_spec.log \
Vorbis_I_spec.out Vorbis_I_spec.tmp \
Vorbis_I_spec.toc Vorbis_I_spec.xref \
- Vorbis_I_spec*.png \
- zzVorbis_I_spec.ps xifish.png
-DISTCLEANFILES = $(built_docs)
-
+ Vorbis_I_spec.out.ps \
+ zzVorbis_I_spec.ps
# explicit rules for generating docs
if BUILD_DOCS
-xifish.png: white-xifish.png
- cp $< $@
-
-Vorbis_I_spec.html Vorbis_I_spec.css: $(SPEC_TEX) $(SPEC_PNG) xifish.png
+Vorbis_I_spec.html Vorbis_I_spec.css: $(SPEC_TEX) $(SPEC_PNG) fish_xiph_org.png
htlatex $<
-Vorbis_I_spec.pdf: $(SPEC_TEX) $(SPEC_PNG) xifish.png
+Vorbis_I_spec.pdf: $(SPEC_TEX) $(SPEC_PNG)
pdflatex $<
pdflatex $<
pdflatex $<
touch doxygen-build.stamp
else
doxygen-build.stamp:
- echo "*** Warning: Doxygen not found; documentation will not be built."
+ echo "*** Warning: Documentation build is disabled."
touch doxygen-build.stamp
endif
+++ /dev/null
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = doc
-DIST_COMMON = $(srcdir)/Doxyfile.in $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = Doxyfile
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(docdir)"
-DATA = $(doc_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = libvorbis vorbisfile vorbisenc
-
-### all of the static docs, commited to SVN and included as is
-static_docs = \
- rfc5215.xml \
- rfc5215.txt \
- eightphase.png \
- evenlsp.png \
- fish_xiph_org.png \
- floor1_inverse_dB_table.html \
- floorval.png \
- fourphase.png \
- framing.html \
- helper.html \
- index.html \
- lspmap.png \
- oddlsp.png \
- oggstream.html \
- programming.html \
- squarepolar.png \
- stereo.html \
- stream.png \
- v-comment.html \
- vorbis-clip.txt \
- vorbis-errors.txt \
- vorbis-fidelity.html \
- vorbis.html \
- vorbisword2.png \
- wait.png \
- white-xifish.png
-
-
-# bits needed by the spec
-SPEC_PNG = \
- components.png \
- floor1-1.png \
- floor1-2.png \
- floor1-3.png \
- floor1-4.png \
- hufftree.png \
- hufftree-under.png \
- residue-pack.png \
- residue2.png \
- window1.png \
- window2.png
-
-SPEC_PDF = xifish.pdf
-
-# FIXME: also needed here
-# white-xifish.png
-SPEC_TEX = \
- Vorbis_I_spec.tex \
- 01-introduction.tex \
- 02-bitpacking.tex \
- 03-codebook.tex \
- 04-codec.tex \
- 05-comment.tex \
- 06-floor0.tex \
- 07-floor1.tex \
- 08-residue.tex \
- 09-helper.tex \
- 10-tables.tex \
- a1-encapsulation-ogg.tex \
- a2-encapsulation-rtp.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
-
-# conditionally make the generated documentation
-@BUILD_DOCS_TRUE@doc_DATA = $(static_docs) $(SPEC_PNG) $(built_docs) doxygen-build.stamp
-EXTRA_DIST = $(static_docs) $(built_docs) \
- $(SPEC_TEX) $(SPEC_PNG) $(SPEC_PDF) Vorbis_I_spec.cfg Doxyfile.in
-
-
-# these are expensive; only remove if we have to
-MAINTAINERCLEANFILES = $(built_docs)
-CLEANFILES = $(SPEC_TEX:%.tex=%.aux) \
- Vorbis_I_spec.4ct Vorbis_I_spec.4tc \
- Vorbis_I_spec.dvi Vorbis_I_spec.idv \
- Vorbis_I_spec.lg Vorbis_I_spec.log \
- Vorbis_I_spec.out Vorbis_I_spec.tmp \
- Vorbis_I_spec.toc Vorbis_I_spec.xref \
- Vorbis_I_spec*.png \
- zzVorbis_I_spec.ps xifish.png
-
-DISTCLEANFILES = $(built_docs)
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu doc/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-Doxyfile: $(top_builddir)/config.status $(srcdir)/Doxyfile.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-install-docDATA: $(doc_DATA)
- @$(NORMAL_INSTALL)
- @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
- done
-
-uninstall-docDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(DATA)
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(docdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
- -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
- -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool clean-local mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-data-local install-docDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-docDATA uninstall-local
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
- install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- clean-local ctags ctags-recursive distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-data-local install-docDATA install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am tags tags-recursive uninstall uninstall-am \
- uninstall-docDATA uninstall-local
-
-
-# explicit rules for generating docs
-@BUILD_DOCS_TRUE@xifish.png: white-xifish.png
-@BUILD_DOCS_TRUE@ cp $< $@
-
-@BUILD_DOCS_TRUE@Vorbis_I_spec.html Vorbis_I_spec.css: $(SPEC_TEX) $(SPEC_PNG) xifish.png
-@BUILD_DOCS_TRUE@ htlatex $<
-
-@BUILD_DOCS_TRUE@Vorbis_I_spec.pdf: $(SPEC_TEX) $(SPEC_PNG) xifish.png
-@BUILD_DOCS_TRUE@ pdflatex $<
-@BUILD_DOCS_TRUE@ pdflatex $<
-@BUILD_DOCS_TRUE@ pdflatex $<
-@BUILD_DOCS_FALSE@Vorbis_I_spec.html: NO_DOCS_ERROR
-@BUILD_DOCS_FALSE@Vorbis_I_spec.pdf: NO_DOCS_ERROR
-@BUILD_DOCS_FALSE@NO_DOCS_ERROR:
-@BUILD_DOCS_FALSE@ @echo
-@BUILD_DOCS_FALSE@ @echo "*** Documentation has not been built! ***"
-@BUILD_DOCS_FALSE@ @echo "Try re-running after passing --enable-docs to configure."
-@BUILD_DOCS_FALSE@ @echo
-
-@HAVE_DOXYGEN_TRUE@doxygen-build.stamp: Doxyfile $(top_srcdir)/include/vorbis/*.h
-@HAVE_DOXYGEN_TRUE@ doxygen
-@HAVE_DOXYGEN_TRUE@ touch doxygen-build.stamp
-@HAVE_DOXYGEN_FALSE@doxygen-build.stamp:
-@HAVE_DOXYGEN_FALSE@ echo "*** Warning: Doxygen not found; documentation will not be built."
-@HAVE_DOXYGEN_FALSE@ touch doxygen-build.stamp
-
-install-data-local: doxygen-build.stamp
- $(mkinstalldirs) $(DESTDIR)$(docdir)
- if test -d vorbis; then \
- for dir in vorbis/*; do \
- if test -d $$dir; then \
- b=`basename $$dir`; \
- $(mkinstalldirs) $(DESTDIR)$(docdir)/$$b; \
- for f in $$dir/*; do \
- $(INSTALL_DATA) $$f $(DESTDIR)$(docdir)/$$b; \
- done \
- fi \
- done \
- fi
-
-uninstall-local:
- rm -rf $(DESTDIR)$(docdir)
-
-clean-local:
- if test -d vorbis; then rm -rf vorbis; fi
- if test -f doxygen-build.stamp; then rm -f doxygen-build.stamp; fi
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
.figure img.graphics {margin-left:10%;}
P.fancyvrb {white-space: nowrap; margin:0em;}
dt.enumerate-enumitem{float:left; clear:left; margin-left:1em; margin-right:1em;}
+.uline{ text-decoration:underline; }
+.uuline{ text-decoration:underline; }
+span.sout {text-decoration: line-through }
+span.xout {text-decoration: line-through }
+span.uwave {text-decoration:underline }
/* end css.sty */
<html >
<head><title>Vorbis I specification</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)">
-<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)">
+<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
+<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
<!-- html -->
<meta name="src" content="Vorbis_I_spec.tex">
-<meta name="date" content="2012-02-03 17:06:00">
<link rel="stylesheet" type="text/css" href="Vorbis_I_spec.css">
</head><body
>
-
-
-
<h2 class="titleHead">Vorbis I specification</h2>
<div class="author" ><span
class="cmr-17">Xiph.Org Foundation</span></div><br />
<div class="date" ><span
-class="cmr-17">February 3, 2012</span></div>
+class="cmr-17">July 4, 2020</span></div>
</div>
<h3 class="likesectionHead"><a
id="x1-1000"></a>Contents</h3>
<br />   <span class="subsubsectionToc" >3.2.1 <a
href="#x1-510003.2.1" id="QQ2-1-54">codebook decode</a></span>
<br />  <span class="subsectionToc" >3.3 <a
-href="#x1-570003.3" id="QQ2-1-62">Use of the codebook abstraction</a></span>
+href="#x1-580003.3" id="QQ2-1-63">Use of the codebook abstraction</a></span>
<br /> <span class="sectionToc" >4 <a
-href="#x1-580004" id="QQ2-1-63">Codec Setup and Packet Decode</a></span>
+href="#x1-590004" id="QQ2-1-64">Codec Setup and Packet Decode</a></span>
<br />  <span class="subsectionToc" >4.1 <a
-href="#x1-590004.1" id="QQ2-1-64">Overview</a></span>
+href="#x1-600004.1" id="QQ2-1-65">Overview</a></span>
<br />  <span class="subsectionToc" >4.2 <a
-href="#x1-600004.2" id="QQ2-1-65">Header decode and decode setup</a></span>
+href="#x1-610004.2" id="QQ2-1-66">Header decode and decode setup</a></span>
<br />   <span class="subsubsectionToc" >4.2.1 <a
-href="#x1-610004.2.1" id="QQ2-1-66">Common header decode</a></span>
+href="#x1-620004.2.1" id="QQ2-1-67">Common header decode</a></span>
<br />   <span class="subsubsectionToc" >4.2.2 <a
-href="#x1-620004.2.2" id="QQ2-1-67">Identification header</a></span>
+href="#x1-630004.2.2" id="QQ2-1-68">Identification header</a></span>
<br />   <span class="subsubsectionToc" >4.2.3 <a
-href="#x1-630004.2.3" id="QQ2-1-68">Comment header</a></span>
+href="#x1-640004.2.3" id="QQ2-1-69">Comment header</a></span>
<br />   <span class="subsubsectionToc" >4.2.4 <a
-href="#x1-640004.2.4" id="QQ2-1-69">Setup header</a></span>
+href="#x1-650004.2.4" id="QQ2-1-70">Setup header</a></span>
<br />  <span class="subsectionToc" >4.3 <a
-href="#x1-710004.3" id="QQ2-1-77">Audio packet decode and synthesis</a></span>
+href="#x1-720004.3" id="QQ2-1-78">Audio packet decode and synthesis</a></span>
<br />   <span class="subsubsectionToc" >4.3.1 <a
-href="#x1-720004.3.1" id="QQ2-1-78">packet type, mode and window decode</a></span>
+href="#x1-730004.3.1" id="QQ2-1-79">packet type, mode and window decode</a></span>
<br />   <span class="subsubsectionToc" >4.3.2 <a
-href="#x1-730004.3.2" id="QQ2-1-79">floor curve decode</a></span>
+href="#x1-740004.3.2" id="QQ2-1-80">floor curve decode</a></span>
<br />   <span class="subsubsectionToc" >4.3.3 <a
-href="#x1-740004.3.3" id="QQ2-1-80">nonzero vector propagate</a></span>
+href="#x1-750004.3.3" id="QQ2-1-81">nonzero vector propagate</a></span>
<br />   <span class="subsubsectionToc" >4.3.4 <a
-href="#x1-750004.3.4" id="QQ2-1-81">residue decode</a></span>
+href="#x1-760004.3.4" id="QQ2-1-82">residue decode</a></span>
<br />   <span class="subsubsectionToc" >4.3.5 <a
-href="#x1-760004.3.5" id="QQ2-1-82">inverse coupling</a></span>
+href="#x1-770004.3.5" id="QQ2-1-83">inverse coupling</a></span>
<br />   <span class="subsubsectionToc" >4.3.6 <a
-href="#x1-770004.3.6" id="QQ2-1-83">dot product</a></span>
+href="#x1-780004.3.6" id="QQ2-1-84">dot product</a></span>
<br />   <span class="subsubsectionToc" >4.3.7 <a
-href="#x1-780004.3.7" id="QQ2-1-84">inverse MDCT</a></span>
+href="#x1-790004.3.7" id="QQ2-1-85">inverse MDCT</a></span>
<br />   <span class="subsubsectionToc" >4.3.8 <a
-href="#x1-790004.3.8" id="QQ2-1-85">overlap_add</a></span>
+href="#x1-800004.3.8" id="QQ2-1-86">overlap_add</a></span>
<br />   <span class="subsubsectionToc" >4.3.9 <a
-href="#x1-800004.3.9" id="QQ2-1-86">output channel order</a></span>
+href="#x1-810004.3.9" id="QQ2-1-87">output channel order</a></span>
<br /> <span class="sectionToc" >5 <a
-href="#x1-810005" id="QQ2-1-87">comment field and header specification</a></span>
+href="#x1-820005" id="QQ2-1-88">comment field and header specification</a></span>
<br />  <span class="subsectionToc" >5.1 <a
-href="#x1-820005.1" id="QQ2-1-88">Overview</a></span>
+href="#x1-830005.1" id="QQ2-1-89">Overview</a></span>
<br />  <span class="subsectionToc" >5.2 <a
-href="#x1-830005.2" id="QQ2-1-89">Comment encoding</a></span>
+href="#x1-840005.2" id="QQ2-1-90">Comment encoding</a></span>
<br />   <span class="subsubsectionToc" >5.2.1 <a
-href="#x1-840005.2.1" id="QQ2-1-90">Structure</a></span>
+href="#x1-850005.2.1" id="QQ2-1-91">Structure</a></span>
<br />   <span class="subsubsectionToc" >5.2.2 <a
-href="#x1-850005.2.2" id="QQ2-1-91">Content vector format</a></span>
+href="#x1-860005.2.2" id="QQ2-1-92">Content vector format</a></span>
<br />   <span class="subsubsectionToc" >5.2.3 <a
-href="#x1-880005.2.3" id="QQ2-1-94">Encoding</a></span>
+href="#x1-890005.2.3" id="QQ2-1-95">Encoding</a></span>
<br /> <span class="sectionToc" >6 <a
-href="#x1-890006" id="QQ2-1-95">Floor type 0 setup and decode</a></span>
+href="#x1-900006" id="QQ2-1-96">Floor type 0 setup and decode</a></span>
<br />  <span class="subsectionToc" >6.1 <a
-href="#x1-900006.1" id="QQ2-1-96">Overview</a></span>
+href="#x1-910006.1" id="QQ2-1-97">Overview</a></span>
<br />  <span class="subsectionToc" >6.2 <a
-href="#x1-910006.2" id="QQ2-1-97">Floor 0 format</a></span>
+href="#x1-920006.2" id="QQ2-1-98">Floor 0 format</a></span>
<br />   <span class="subsubsectionToc" >6.2.1 <a
-href="#x1-920006.2.1" id="QQ2-1-98">header decode</a></span>
+href="#x1-930006.2.1" id="QQ2-1-99">header decode</a></span>
<br />   <span class="subsubsectionToc" >6.2.2 <a
-href="#x1-930006.2.2" id="QQ2-1-99">packet decode</a></span>
+href="#x1-940006.2.2" id="QQ2-1-100">packet decode</a></span>
<br />   <span class="subsubsectionToc" >6.2.3 <a
-href="#x1-940006.2.3" id="QQ2-1-100">curve computation</a></span>
+href="#x1-950006.2.3" id="QQ2-1-101">curve computation</a></span>
<br /> <span class="sectionToc" >7 <a
-href="#x1-950007" id="QQ2-1-101">Floor type 1 setup and decode</a></span>
+href="#x1-970007" id="QQ2-1-103">Floor type 1 setup and decode</a></span>
<br />  <span class="subsectionToc" >7.1 <a
-href="#x1-960007.1" id="QQ2-1-102">Overview</a></span>
+href="#x1-980007.1" id="QQ2-1-104">Overview</a></span>
<br />  <span class="subsectionToc" >7.2 <a
-href="#x1-970007.2" id="QQ2-1-103">Floor 1 format</a></span>
+href="#x1-990007.2" id="QQ2-1-105">Floor 1 format</a></span>
<br />   <span class="subsubsectionToc" >7.2.1 <a
-href="#x1-980007.2.1" id="QQ2-1-104">model</a></span>
+href="#x1-1000007.2.1" id="QQ2-1-106">model</a></span>
<br />   <span class="subsubsectionToc" >7.2.2 <a
-href="#x1-990007.2.2" id="QQ2-1-109">header decode</a></span>
+href="#x1-1010007.2.2" id="QQ2-1-111">header decode</a></span>
<br />   <span class="subsubsectionToc" >7.2.3 <a
-href="#x1-1000007.2.3" id="QQ2-1-110">packet decode</a></span>
+href="#x1-1020007.2.3" id="QQ2-1-112">packet decode</a></span>
<br />   <span class="subsubsectionToc" >7.2.4 <a
-href="#x1-1010007.2.4" id="QQ2-1-111">curve computation</a></span>
+href="#x1-1030007.2.4" id="QQ2-1-113">curve computation</a></span>
<br /> <span class="sectionToc" >8 <a
-href="#x1-1020008" id="QQ2-1-112">Residue setup and decode</a></span>
+href="#x1-1040008" id="QQ2-1-114">Residue setup and decode</a></span>
<br />  <span class="subsectionToc" >8.1 <a
-href="#x1-1030008.1" id="QQ2-1-113">Overview</a></span>
+href="#x1-1050008.1" id="QQ2-1-115">Overview</a></span>
<br />  <span class="subsectionToc" >8.2 <a
-href="#x1-1040008.2" id="QQ2-1-114">Residue format</a></span>
+href="#x1-1060008.2" id="QQ2-1-116">Residue format</a></span>
<br />  <span class="subsectionToc" >8.3 <a
-href="#x1-1050008.3" id="QQ2-1-116">residue 0</a></span>
+href="#x1-1070008.3" id="QQ2-1-118">residue 0</a></span>
<br />  <span class="subsectionToc" >8.4 <a
-href="#x1-1060008.4" id="QQ2-1-117">residue 1</a></span>
+href="#x1-1080008.4" id="QQ2-1-119">residue 1</a></span>
<br />  <span class="subsectionToc" >8.5 <a
-href="#x1-1070008.5" id="QQ2-1-118">residue 2</a></span>
+href="#x1-1090008.5" id="QQ2-1-120">residue 2</a></span>
<br />  <span class="subsectionToc" >8.6 <a
-href="#x1-1080008.6" id="QQ2-1-120">Residue decode</a></span>
+href="#x1-1100008.6" id="QQ2-1-122">Residue decode</a></span>
<br />   <span class="subsubsectionToc" >8.6.1 <a
-href="#x1-1090008.6.1" id="QQ2-1-121">header decode</a></span>
+href="#x1-1110008.6.1" id="QQ2-1-123">header decode</a></span>
<br />   <span class="subsubsectionToc" >8.6.2 <a
-href="#x1-1100008.6.2" id="QQ2-1-122">packet decode</a></span>
+href="#x1-1120008.6.2" id="QQ2-1-124">packet decode</a></span>
<br />   <span class="subsubsectionToc" >8.6.3 <a
-href="#x1-1110008.6.3" id="QQ2-1-123">format 0 specifics</a></span>
+href="#x1-1130008.6.3" id="QQ2-1-125">format 0 specifics</a></span>
<br />   <span class="subsubsectionToc" >8.6.4 <a
-href="#x1-1120008.6.4" id="QQ2-1-124">format 1 specifics</a></span>
+href="#x1-1140008.6.4" id="QQ2-1-126">format 1 specifics</a></span>
<br />   <span class="subsubsectionToc" >8.6.5 <a
-href="#x1-1130008.6.5" id="QQ2-1-125">format 2 specifics</a></span>
+href="#x1-1150008.6.5" id="QQ2-1-127">format 2 specifics</a></span>
<br /> <span class="sectionToc" >9 <a
-href="#x1-1140009" id="QQ2-1-126">Helper equations</a></span>
+href="#x1-1160009" id="QQ2-1-128">Helper equations</a></span>
<br />  <span class="subsectionToc" >9.1 <a
-href="#x1-1150009.1" id="QQ2-1-127">Overview</a></span>
+href="#x1-1170009.1" id="QQ2-1-129">Overview</a></span>
<br />  <span class="subsectionToc" >9.2 <a
-href="#x1-1160009.2" id="QQ2-1-128">Functions</a></span>
+href="#x1-1180009.2" id="QQ2-1-130">Functions</a></span>
<br />   <span class="subsubsectionToc" >9.2.1 <a
-href="#x1-1170009.2.1" id="QQ2-1-129">ilog</a></span>
+href="#x1-1190009.2.1" id="QQ2-1-131">ilog</a></span>
<br />   <span class="subsubsectionToc" >9.2.2 <a
-href="#x1-1180009.2.2" id="QQ2-1-130">float32_unpack</a></span>
+href="#x1-1200009.2.2" id="QQ2-1-132">float32_unpack</a></span>
<br />   <span class="subsubsectionToc" >9.2.3 <a
-href="#x1-1190009.2.3" id="QQ2-1-131">lookup1_values</a></span>
+href="#x1-1210009.2.3" id="QQ2-1-133">lookup1_values</a></span>
<br />   <span class="subsubsectionToc" >9.2.4 <a
-href="#x1-1200009.2.4" id="QQ2-1-132">low_neighbor</a></span>
+href="#x1-1220009.2.4" id="QQ2-1-134">low_neighbor</a></span>
<br />   <span class="subsubsectionToc" >9.2.5 <a
-href="#x1-1210009.2.5" id="QQ2-1-133">high_neighbor</a></span>
+href="#x1-1230009.2.5" id="QQ2-1-135">high_neighbor</a></span>
<br />   <span class="subsubsectionToc" >9.2.6 <a
-href="#x1-1220009.2.6" id="QQ2-1-134">render_point</a></span>
+href="#x1-1240009.2.6" id="QQ2-1-136">render_point</a></span>
<br />   <span class="subsubsectionToc" >9.2.7 <a
-href="#x1-1230009.2.7" id="QQ2-1-135">render_line</a></span>
+href="#x1-1250009.2.7" id="QQ2-1-137">render_line</a></span>
<br /> <span class="sectionToc" >10 <a
-href="#x1-12400010" id="QQ2-1-136">Tables</a></span>
+href="#x1-12600010" id="QQ2-1-138">Tables</a></span>
<br />  <span class="subsectionToc" >10.1 <a
-href="#x1-12500010.1" id="QQ2-1-137">floor1_inverse_dB_table</a></span>
+href="#x1-12700010.1" id="QQ2-1-139">floor1_inverse_dB_table</a></span>
<br /> <span class="sectionToc" >A <a
-href="#x1-126000A" id="QQ2-1-138">Embedding Vorbis into an Ogg stream</a></span>
+href="#x1-128000A" id="QQ2-1-140">Embedding Vorbis into an Ogg stream</a></span>
<br />  <span class="subsectionToc" >A.1 <a
-href="#x1-127000A.1" id="QQ2-1-139">Overview</a></span>
+href="#x1-129000A.1" id="QQ2-1-141">Overview</a></span>
<br />   <span class="subsubsectionToc" >A.1.1 <a
-href="#x1-128000A.1.1" id="QQ2-1-140">Restrictions</a></span>
+href="#x1-130000A.1.1" id="QQ2-1-142">Restrictions</a></span>
<br />   <span class="subsubsectionToc" >A.1.2 <a
-href="#x1-129000A.1.2" id="QQ2-1-141">MIME type</a></span>
+href="#x1-131000A.1.2" id="QQ2-1-143">MIME type</a></span>
<br />  <span class="subsectionToc" >A.2 <a
-href="#x1-130000A.2" id="QQ2-1-142">Encapsulation</a></span>
+href="#x1-132000A.2" id="QQ2-1-144">Encapsulation</a></span>
<br /> <span class="sectionToc" >B <a
-href="#x1-132000B" id="QQ2-1-144">Vorbis encapsulation in RTP</a></span>
+href="#x1-134000B" id="QQ2-1-146">Vorbis encapsulation in RTP</a></span>
</div>
<h3 class="sectionHead"><span class="titlemark">1. </span> <a
id="x1-20001"></a>Introduction and Description</h3>
-<!--l. 6--><p class="noindent" >
+<!--l. 5--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">1.1. </span> <a
id="x1-30001.1"></a>Overview</h4>
-<!--l. 8--><p class="noindent" >This document provides a high level description of the Vorbis codec’s construction. A bit-by-bit
+<!--l. 7--><p class="noindent" >This document provides a high level description of the Vorbis codec’s construction. A bit-by-bit
specification appears beginning in <a
-href="#x1-580004">Section 4</a>, “<a
-href="#x1-580004">Codec Setup and Packet Decode<!--tex4ht:ref: vorbis:spec:codec --></a>”. The later
+href="#x1-590004">section 4</a>, “<a
+href="#x1-590004">Codec Setup and Packet Decode<!--tex4ht:ref: vorbis:spec:codec --></a>”. The later
sections assume a high-level understanding of the Vorbis decode process, which is provided
here.
-<!--l. 15--><p class="noindent" >
+<!--l. 14--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">1.1.1. </span> <a
id="x1-40001.1.1"></a>Application</h5>
-<!--l. 16--><p class="noindent" >Vorbis is a general purpose perceptual audio CODEC intended to allow maximum encoder
+<!--l. 15--><p class="noindent" >Vorbis is a general purpose perceptual audio CODEC intended to allow maximum encoder
flexibility, thus allowing it to scale competitively over an exceptionally wide range of bitrates. At
the high quality/bitrate end of the scale (CD or DAT rate stereo, 16/24 bits) it is in the same
league as MPEG-2 and MPC. Similarly, the 1.0 encoder can encode high-quality CD and DAT
and higher sample rates (from 8kHz telephony to 192kHz digital masters) and a range of channel
representations (monaural, polyphonic, stereo, quadraphonic, 5.1, ambisonic, or up to 255
discrete channels).
-<!--l. 29--><p class="noindent" >
+<!--l. 28--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">1.1.2. </span> <a
id="x1-50001.1.2"></a>Classification</h5>
-<!--l. 30--><p class="noindent" >Vorbis I is a forward-adaptive monolithic transform CODEC based on the Modified Discrete
+<!--l. 29--><p class="noindent" >Vorbis I is a forward-adaptive monolithic transform CODEC based on the Modified Discrete
Cosine Transform. The codec is structured to allow addition of a hybrid wavelet filterbank in
Vorbis II to offer better transient response and reproduction using a transform better suited to
localized time events.
-<!--l. 37--><p class="noindent" >
+<!--l. 36--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">1.1.3. </span> <a
id="x1-60001.1.3"></a>Assumptions</h5>
-<!--l. 39--><p class="noindent" >The Vorbis CODEC design assumes a complex, psychoacoustically-aware encoder and simple,
+<!--l. 38--><p class="noindent" >The Vorbis CODEC design assumes a complex, psychoacoustically-aware encoder and simple,
low-complexity decoder. Vorbis decode is computationally simpler than mp3, although it does
require more working memory as Vorbis has no static probability model; the vector codebooks
used in the first stage of decoding from the bitstream are packed in their entirety into the Vorbis
bitstream headers. In packed form, these codebooks occupy only a few kilobytes; the extent to
which they are pre-decoded into a cache is the dominant factor in decoder memory
usage.
-<!--l. 50--><p class="noindent" >Vorbis provides none of its own framing, synchronization or protection against errors; it
+<!--l. 49--><p class="noindent" >Vorbis provides none of its own framing, synchronization or protection against errors; it
is solely a method of accepting input audio, dividing it into individual frames and
compressing these frames into raw, unformatted ’packets’. The decoder then accepts
these raw packets in sequence, decodes them, synthesizes audio frames from them, and
extensively in bitrate management in peeling. Both the transport mechanism and
decoder must allow that a packet may be any size, or end before or after packet decode
expects.
-<!--l. 64--><p class="noindent" >Vorbis packets are thus intended to be used with a transport mechanism that provides free-form
+<!--l. 63--><p class="noindent" >Vorbis packets are thus intended to be used with a transport mechanism that provides free-form
framing, sync, positioning and error correction in accordance with these design assumptions, such
as Ogg (for file transport) or RTP (for network multicast). For purposes of a few examples in this
document, we will assume that Vorbis is to be embedded in an Ogg stream specifically,
although this is by no means a requirement or fundamental assumption in the Vorbis
design.
-<!--l. 72--><p class="noindent" >The specification for embedding Vorbis into an Ogg transport stream is in <a
-href="#x1-126000A">Section A</a>,
+<!--l. 71--><p class="noindent" >The specification for embedding Vorbis into an Ogg transport stream is in <a
+href="#x1-128000A">section A</a>,
“<a
-href="#x1-126000A">Embedding Vorbis into an Ogg stream<!--tex4ht:ref: vorbis:over:ogg --></a>”.
-<!--l. 77--><p class="noindent" >
+href="#x1-128000A">Embedding Vorbis into an Ogg stream<!--tex4ht:ref: vorbis:over:ogg --></a>”.
+<!--l. 76--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">1.1.4. </span> <a
id="x1-70001.1.4"></a>Codec Setup and Probability Model</h5>
-<!--l. 79--><p class="noindent" >Vorbis’ heritage is as a research CODEC and its current design reflects a desire to allow multiple
+<!--l. 78--><p class="noindent" >Vorbis’ heritage is as a research CODEC and its current design reflects a desire to allow multiple
decades of continuous encoder improvement before running out of room within the codec
specification. For these reasons, configurable aspects of codec setup intentionally lean toward the
extreme of forward adaptive.
-<!--l. 85--><p class="noindent" >The single most controversial design decision in Vorbis (and the most unusual for a Vorbis
+<!--l. 84--><p class="noindent" >The single most controversial design decision in Vorbis (and the most unusual for a Vorbis
developer to keep in mind) is that the entire probability model of the codec, the Huffman and
VQ codebooks, is packed into the bitstream header along with extensive CODEC setup
parameters (often several hundred fields). This makes it impossible, as it would be with
MPEG audio layers, to embed a simple frame type flag in each audio packet, or begin
decode at any frame in the stream without having previously fetched the codec setup
header.
-<!--l. 95--><p class="noindent" ><span class="likesubparagraphHead"><a
+<!--l. 94--><p class="noindent" ><span class="likesubparagraphHead"><a
id="x1-80001.1.4"></a><span
class="cmbx-12">Note:</span></span> Vorbis <span
class="cmti-12">can </span>initiate decode at any arbitrary packet within a bitstream so long as the codec
has been initialized/setup with the setup headers.
-<!--l. 101--><p class="noindent" >Thus, Vorbis headers are both required for decode to begin and relatively large as bitstream
+<!--l. 100--><p class="noindent" >Thus, Vorbis headers are both required for decode to begin and relatively large as bitstream
headers go. The header size is unbounded, although for streaming a rule-of-thumb of 4kB or less
is recommended (and Xiph.Org’s Vorbis encoder follows this suggestion).
-<!--l. 106--><p class="noindent" >Our own design work indicates the primary liability of the required header is in mindshare; it is
+<!--l. 105--><p class="noindent" >Our own design work indicates the primary liability of the required header is in mindshare; it is
an unusual design and thus causes some amount of complaint among engineers as this runs
against current design trends (and also points out limitations in some existing software/interface
designs, such as Windows’ ACM codec framework). However, we find that it does not
fundamentally limit Vorbis’ suitable application space.
-<!--l. 115--><p class="noindent" >
+<!--l. 114--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">1.1.5. </span> <a
id="x1-90001.1.5"></a>Format Specification</h5>
-<!--l. 116--><p class="noindent" >The Vorbis format is well-defined by its decode specification; any encoder that produces packets
+<!--l. 115--><p class="noindent" >The Vorbis format is well-defined by its decode specification; any encoder that produces packets
that are correctly decoded by the reference Vorbis decoder described below may be considered
a proper Vorbis encoder. A decoder must faithfully and completely implement the
specification defined below (except where noted) to be considered a proper Vorbis
decoder.
-<!--l. 123--><p class="noindent" >
+<!--l. 122--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">1.1.6. </span> <a
id="x1-100001.1.6"></a>Hardware Profile</h5>
-<!--l. 124--><p class="noindent" >Although Vorbis decode is computationally simple, it may still run into specific limitations of an
+<!--l. 123--><p class="noindent" >Although Vorbis decode is computationally simple, it may still run into specific limitations of an
embedded design. For this reason, embedded designs are allowed to deviate in limited ways from
the ‘full’ decode specification yet still be certified compliant. These optional omissions are
labelled in the spec where relevant.
-<!--l. 131--><p class="noindent" >
+<!--l. 130--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">1.2. </span> <a
id="x1-110001.2"></a>Decoder Configuration</h4>
-<!--l. 133--><p class="noindent" >Decoder setup consists of configuration of multiple, self-contained component abstractions that
+<!--l. 132--><p class="noindent" >Decoder setup consists of configuration of multiple, self-contained component abstractions that
perform specific functions in the decode pipeline. Each different component instance of a specific
type is semantically interchangeable; decoder configuration consists both of internal component
configuration, as well as arrangement of specific instances into a decode pipeline. Componentry
arrangement is roughly as follows:
<div class="center"
>
-<!--l. 141--><p class="noindent" >
+<!--l. 140--><p class="noindent" >
-<!--l. 142--><p class="noindent" ><img
+<!--l. 141--><p class="noindent" ><img
src="components.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure 1: </span><span
class="content">decoder pipeline configuration</span></div><!--tex4ht:label?: x1-110011 -->
</div>
-<!--l. 146--><p class="noindent" >
+<!--l. 145--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">1.2.1. </span> <a
id="x1-120001.2.1"></a>Global Config</h5>
-<!--l. 147--><p class="noindent" >Global codec configuration consists of a few audio related fields (sample rate, channels), Vorbis
+<!--l. 146--><p class="noindent" >Global codec configuration consists of a few audio related fields (sample rate, channels), Vorbis
version (always ’0’ in Vorbis I), bitrate hints, and the lists of component instances. All other
configuration is in the context of specific components.
-<!--l. 152--><p class="noindent" >
+<!--l. 151--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">1.2.2. </span> <a
id="x1-130001.2.2"></a>Mode</h5>
-<!--l. 154--><p class="noindent" >Each Vorbis frame is coded according to a master ’mode’. A bitstream may use one or many
+<!--l. 153--><p class="noindent" >Each Vorbis frame is coded according to a master ’mode’. A bitstream may use one or many
modes.
-<!--l. 157--><p class="noindent" >The mode mechanism is used to encode a frame according to one of multiple possible
+<!--l. 156--><p class="noindent" >The mode mechanism is used to encode a frame according to one of multiple possible
methods with the intention of choosing a method best suited to that frame. Different
modes are, e.g. how frame size is changed from frame to frame. The mode number of a
frame serves as a top level configuration switch for all other specific aspects of frame
decode.
-<!--l. 164--><p class="noindent" >A ’mode’ configuration consists of a frame size setting, window type (always 0, the Vorbis
+<!--l. 163--><p class="noindent" >A ’mode’ configuration consists of a frame size setting, window type (always 0, the Vorbis
window, in Vorbis I), transform type (always type 0, the MDCT, in Vorbis I) and a mapping
number. The mapping number specifies which mapping configuration instance to use for low-level
packet decode and synthesis.
-<!--l. 171--><p class="noindent" >
+<!--l. 170--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">1.2.3. </span> <a
id="x1-140001.2.3"></a>Mapping</h5>
-<!--l. 173--><p class="noindent" >A mapping contains a channel coupling description and a list of ’submaps’ that bundle sets
+<!--l. 172--><p class="noindent" >A mapping contains a channel coupling description and a list of ’submaps’ that bundle sets
of channel vectors together for grouped encoding and decoding. These submaps are
not references to external components; the submap list is internal and specific to a
mapping.
-<!--l. 178--><p class="noindent" >A ’submap’ is a configuration/grouping that applies to a subset of floor and residue vectors
+<!--l. 177--><p class="noindent" >A ’submap’ is a configuration/grouping that applies to a subset of floor and residue vectors
within a mapping. The submap functions as a last layer of indirection such that specific special
floor or residue settings can be applied not only to all the vectors in a given mode, but also
specific vectors in a specific mode. Each submap specifies the proper floor and residue
instance number to use for decoding that submap’s spectral floor and spectral residue
vectors.
-<!--l. 186--><p class="noindent" >As an example:
-<!--l. 188--><p class="noindent" >Assume a Vorbis stream that contains six channels in the standard 5.1 format. The sixth
+<!--l. 185--><p class="noindent" >As an example:
+<!--l. 187--><p class="noindent" >Assume a Vorbis stream that contains six channels in the standard 5.1 format. The sixth
channel, as is normal in 5.1, is bass only. Therefore it would be wasteful to encode a
full-spectrum version of it as with the other channels. The submapping mechanism can be used
to apply a full range floor and residue encoding to channels 0 through 4, and a bass-only
-<!--l. 199--><p class="noindent" >
+<!--l. 198--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">1.2.4. </span> <a
id="x1-150001.2.4"></a>Floor</h5>
-<!--l. 201--><p class="noindent" >Vorbis encodes a spectral ’floor’ vector for each PCM channel. This vector is a low-resolution
+<!--l. 200--><p class="noindent" >Vorbis encodes a spectral ’floor’ vector for each PCM channel. This vector is a low-resolution
representation of the audio spectrum for the given channel in the current frame, generally used
akin to a whitening filter. It is named a ’floor’ because the Xiph.Org reference encoder has
historically used it as a unit-baseline for spectral resolution.
-<!--l. 208--><p class="noindent" >A floor encoding may be of two types. Floor 0 uses a packed LSP representation on a dB
+<!--l. 207--><p class="noindent" >A floor encoding may be of two types. Floor 0 uses a packed LSP representation on a dB
amplitude scale and Bark frequency scale. Floor 1 represents the curve as a piecewise linear
interpolated representation on a dB amplitude scale and linear frequency scale. The two floors
are semantically interchangeable in encoding/decoding. However, floor type 1 provides more
stable inter-frame behavior, and so is the preferred choice in all coupled-stereo and
high bitrate modes. Floor 1 is also considerably less expensive to decode than floor
0.
-<!--l. 218--><p class="noindent" >Floor 0 is not to be considered deprecated, but it is of limited modern use. No known Vorbis
+<!--l. 217--><p class="noindent" >Floor 0 is not to be considered deprecated, but it is of limited modern use. No known Vorbis
encoder past Xiph.Org’s own beta 4 makes use of floor 0.
-<!--l. 222--><p class="noindent" >The values coded/decoded by a floor are both compactly formatted and make use of entropy
+<!--l. 221--><p class="noindent" >The values coded/decoded by a floor are both compactly formatted and make use of entropy
coding to save space. For this reason, a floor configuration generally refers to multiple
codebooks in the codebook component list. Entropy coding is thus provided as an
abstraction, and each floor instance may choose from any and all available codebooks when
coding/decoding.
-<!--l. 230--><p class="noindent" >
+<!--l. 229--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">1.2.5. </span> <a
id="x1-160001.2.5"></a>Residue</h5>
-<!--l. 231--><p class="noindent" >The spectral residue is the fine structure of the audio spectrum once the floor curve has been
+<!--l. 230--><p class="noindent" >The spectral residue is the fine structure of the audio spectrum once the floor curve has been
subtracted out. In simplest terms, it is coded in the bitstream using cascaded (multi-pass) vector
quantization according to one of three specific packing/coding algorithms numbered
0 through 2. The packing algorithm details are configured by residue instance. As
with the floor components, the final VQ/entropy encoding is provided by external
codebook instances and each residue instance may choose from any and all available
codebooks.
-<!--l. 241--><p class="noindent" >
+<!--l. 240--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">1.2.6. </span> <a
id="x1-170001.2.6"></a>Codebooks</h5>
-<!--l. 243--><p class="noindent" >Codebooks are a self-contained abstraction that perform entropy decoding and, optionally, use
+<!--l. 242--><p class="noindent" >Codebooks are a self-contained abstraction that perform entropy decoding and, optionally, use
the entropy-decoded integer value as an offset into an index of output value vectors, returning
the indicated vector of values.
-<!--l. 248--><p class="noindent" >The entropy coding in a Vorbis I codebook is provided by a standard Huffman binary tree
+<!--l. 247--><p class="noindent" >The entropy coding in a Vorbis I codebook is provided by a standard Huffman binary tree
representation. This tree is tightly packed using one of several methods, depending on whether
codeword lengths are ordered or unordered, or the tree is sparse.
-<!--l. 253--><p class="noindent" >The codebook vector index is similarly packed according to index characteristic. Most commonly,
+<!--l. 252--><p class="noindent" >The codebook vector index is similarly packed according to index characteristic. Most commonly,
the vector index is encoded as a single list of values of possible values that are then permuted
into a list of n-dimensional rows (lattice VQ).
-<!--l. 260--><p class="noindent" >
+<!--l. 259--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">1.3. </span> <a
id="x1-180001.3"></a>High-level Decode Process</h4>
-<!--l. 262--><p class="noindent" >
+<!--l. 261--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">1.3.1. </span> <a
id="x1-190001.3.1"></a>Decode Setup</h5>
-<!--l. 264--><p class="noindent" >Before decoding can begin, a decoder must initialize using the bitstream headers matching the
+<!--l. 263--><p class="noindent" >Before decoding can begin, a decoder must initialize using the bitstream headers matching the
stream to be decoded. Vorbis uses three header packets; all are required, in-order, by
this specification. Once set up, decode may begin at any audio packet belonging to
the Vorbis stream. In Vorbis I, all packets after the three initial headers are audio
packets.
-<!--l. 271--><p class="noindent" >The header packets are, in order, the identification header, the comments header, and the setup
+<!--l. 270--><p class="noindent" >The header packets are, in order, the identification header, the comments header, and the setup
header.
-<!--l. 274--><p class="noindent" ><span class="paragraphHead"><a
+<!--l. 273--><p class="noindent" ><span class="paragraphHead"><a
id="x1-200001.3.1"></a><span
class="cmbx-12">Identification Header</span></span>
The identification header identifies the bitstream as Vorbis, Vorbis version, and the simple audio
-<!--l. 279--><p class="noindent" ><span class="paragraphHead"><a
+<!--l. 278--><p class="noindent" ><span class="paragraphHead"><a
id="x1-210001.3.1"></a><span
class="cmbx-12">Comment Header</span></span>
The comment header includes user text comments (“tags”) and a vendor string for the
application/library that produced the bitstream. The encoding and proper use of the comment
header is described in <a
-href="#x1-810005">Section 5</a>, “<a
-href="#x1-810005">comment field and header specification<!--tex4ht:ref: vorbis:spec:comment --></a>”.
-<!--l. 284--><p class="noindent" ><span class="paragraphHead"><a
+href="#x1-820005">section 5</a>, “<a
+href="#x1-820005">comment field and header specification<!--tex4ht:ref: vorbis:spec:comment --></a>”.
+<!--l. 283--><p class="noindent" ><span class="paragraphHead"><a
id="x1-220001.3.1"></a><span
class="cmbx-12">Setup Header</span></span>
The setup header includes extensive CODEC setup information as well as the complete VQ and
Huffman codebooks needed for decode.
-<!--l. 289--><p class="noindent" >
+<!--l. 288--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">1.3.2. </span> <a
id="x1-230001.3.2"></a>Decode Procedure</h5>
-<!--l. 291--><p class="noindent" >The decoding and synthesis procedure for all audio packets is fundamentally the same.
+<!--l. 290--><p class="noindent" >The decoding and synthesis procedure for all audio packets is fundamentally the same.
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
class="enumerate-enumitem">decode packet type flag
</dd><dt class="enumerate-enumitem">
12. </dt><dd
class="enumerate-enumitem">if not first frame, return results of overlap/add as audio result of current frame</dd></dl>
-<!--l. 308--><p class="noindent" >Note that clever rearrangement of the synthesis arithmetic is possible; as an example, one can
+<!--l. 307--><p class="noindent" >Note that clever rearrangement of the synthesis arithmetic is possible; as an example, one can
take advantage of symmetries in the MDCT to store the right-hand transform data of a partial
MDCT for a 50% inter-frame buffer space savings, and then complete the transform later before
overlap/add with the next frame. This optimization produces entirely equivalent output and is
naturally perfectly legal. The decoder must be <span
class="cmti-12">entirely mathematically equivalent </span>to the
specification, it need not be a literal semantic implementation.
-<!--l. 317--><p class="noindent" ><span class="paragraphHead"><a
+<!--l. 316--><p class="noindent" ><span class="paragraphHead"><a
id="x1-240001.3.2"></a><span
class="cmbx-12">Packet type decode</span></span>
Vorbis I uses four packet types. The first three packet types mark each of the three Vorbis
headers described above. The fourth packet type marks an audio packet. All other packet types
are reserved; packets marked with a reserved type should be ignored.
-<!--l. 324--><p class="noindent" >Following the three header packets, all packets in a Vorbis I stream are audio. The first step of
+<!--l. 323--><p class="noindent" >Following the three header packets, all packets in a Vorbis I stream are audio. The first step of
audio packet decode is to read and verify the packet type; <span
class="cmti-12">a non-audio packet when audio is</span>
<span
class="cmti-12">expected indicates stream corruption or a non-compliant stream. The decoder must ignore the</span>
<span
class="cmti-12">packet and not attempt decoding it to audio</span>.
-<!--l. 334--><p class="noindent" ><span class="paragraphHead"><a
+<!--l. 333--><p class="noindent" ><span class="paragraphHead"><a
id="x1-250001.3.2"></a><span
class="cmbx-12">Mode decode</span></span>
Vorbis allows an encoder to set up multiple, numbered packet ’modes’, as described earlier, all of
which may be used in a given Vorbis stream. The mode is encoded as an integer used as a direct
offset into the mode instance index.
-<!--l. 341--><p class="noindent" ><span class="paragraphHead"><a
+<!--l. 340--><p class="noindent" ><span class="paragraphHead"><a
id="x1-260001.3.2"></a><span
class="cmbx-12">Window shape decode (long windows only)</span></span>
Vorbis frames may be one of two PCM sample sizes specified during codec setup. In Vorbis I,
-<!--l. 348--><p class="noindent" >Vorbis uses an overlapping transform, namely the MDCT, to blend one frame into the next,
+<!--l. 347--><p class="noindent" >Vorbis uses an overlapping transform, namely the MDCT, to blend one frame into the next,
avoiding most inter-frame block boundary artifacts. The MDCT output of one frame is windowed
according to MDCT requirements, overlapped 50% with the output of the previous frame and
added. The window shape assures seamless reconstruction.
-<!--l. 354--><p class="noindent" >This is easy to visualize in the case of equal sized-windows:
+<!--l. 353--><p class="noindent" >This is easy to visualize in the case of equal sized-windows:
<div class="center"
>
-<!--l. 356--><p class="noindent" >
+<!--l. 355--><p class="noindent" >
-<!--l. 357--><p class="noindent" ><img
+<!--l. 356--><p class="noindent" ><img
src="window1.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure 2: </span><span
class="content">overlap of two equal-sized windows</span></div><!--tex4ht:label?: x1-260012 -->
</div>
-<!--l. 361--><p class="noindent" >And slightly more complex in the case of overlapping unequal sized windows:
+<!--l. 360--><p class="noindent" >And slightly more complex in the case of overlapping unequal sized windows:
<div class="center"
>
-<!--l. 364--><p class="noindent" >
+<!--l. 363--><p class="noindent" >
-<!--l. 365--><p class="noindent" ><img
+<!--l. 364--><p class="noindent" ><img
src="window2.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure 3: </span><span
class="content">overlap of a long and a short window</span></div><!--tex4ht:label?: x1-260023 -->
</div>
-<!--l. 369--><p class="noindent" >In the unequal-sized window case, the window shape of the long window must be modified for
+<!--l. 368--><p class="noindent" >In the unequal-sized window case, the window shape of the long window must be modified for
seamless lapping as above. It is possible to correctly infer window shape to be applied to the
current window from knowing the sizes of the current, previous and next window. It is legal for a
decoder to use this method. However, in the case of a long window (short windows require no
the point of lapping entirely independently of any other packet, allowing easier abstraction of
decode layers as well as allowing a greater level of easy parallelism in encode and
decode.
-<!--l. 382--><p class="noindent" >A description of valid window functions for use with an inverse MDCT can be found in <span class="cite">[<a
+<!--l. 381--><p class="noindent" >A description of valid window functions for use with an inverse MDCT can be found in <span class="cite">[<a
href="#XSporer/Brandenburg/Edler">1</a>]</span>.
Vorbis windows all use the slope function
<center class="math-display" >
<img
-src="Vorbis_I_spec0x.png" alt="y = sin (.5 ∗ π sin2((x + .5)∕n ∗ π)).
+src="Vorbis_I_spec0x.png" alt="y = sin (.5 * π sin2((x + .5)∕n * π)).
" class="math-display" ></center>
-<!--l. 385--><p class="nopar" >
-<!--l. 389--><p class="noindent" ><span class="paragraphHead"><a
+<!--l. 384--><p class="nopar" >
+<!--l. 388--><p class="noindent" ><span class="paragraphHead"><a
id="x1-270001.3.2"></a><span
class="cmbx-12">floor decode</span></span>
Each floor is encoded/decoded in channel order, however each floor belongs to a ’submap’ that
specifies which floor configuration to use. All floors are decoded before residue decode
begins.
-<!--l. 395--><p class="noindent" ><span class="paragraphHead"><a
+<!--l. 394--><p class="noindent" ><span class="paragraphHead"><a
id="x1-280001.3.2"></a><span
class="cmbx-12">residue decode</span></span>
Although the number of residue vectors equals the number of channels, channel coupling may
channels. When channel coupling is in use, some vectors will correspond to coupled magnitude or
angle. The coupling relationships are described in the codec setup and may differ from frame to
frame, due to different mode numbers.
-<!--l. 404--><p class="noindent" >Vorbis codes residue vectors in groups by submap; the coding is done in submap order from
+<!--l. 403--><p class="noindent" >Vorbis codes residue vectors in groups by submap; the coding is done in submap order from
submap 0 through n-1. This differs from floors which are coded using a configuration provided by
submap number, but are coded individually in channel order.
-<!--l. 411--><p class="noindent" ><span class="paragraphHead"><a
+<!--l. 410--><p class="noindent" ><span class="paragraphHead"><a
id="x1-290001.3.2"></a><span
class="cmbx-12">inverse channel coupling</span></span>
A detailed discussion of stereo in the Vorbis codec can be found in the document
href="stereo.html" >Stereo Channel Coupling in the Vorbis CODEC</a>. Vorbis is not limited to only stereo
coupling, but the stereo document also gives a good overview of the generic coupling
mechanism.
-<!--l. 419--><p class="noindent" >Vorbis coupling applies to pairs of residue vectors at a time; decoupling is done in-place a
+<!--l. 418--><p class="noindent" >Vorbis coupling applies to pairs of residue vectors at a time; decoupling is done in-place a
pair at a time in the order and using the vectors specified in the current mapping
configuration. The decoupling operation is the same for all pairs, converting square polar
representation (where one vector is magnitude and the second angle) back to Cartesian
representation.
-<!--l. 426--><p class="noindent" >After decoupling, in order, each pair of vectors on the coupling list, the resulting residue vectors
+<!--l. 425--><p class="noindent" >After decoupling, in order, each pair of vectors on the coupling list, the resulting residue vectors
represent the fine spectral detail of each output channel.
-<!--l. 432--><p class="noindent" ><span class="paragraphHead"><a
+<!--l. 431--><p class="noindent" ><span class="paragraphHead"><a
id="x1-300001.3.2"></a><span
class="cmbx-12">generate floor curve</span></span>
The decoder may choose to generate the floor curve at any appropriate time. It is reasonable to
can be generated after inverse coupling and applied to the spectral residue directly,
combining generation and the dot product into one step and eliminating some working
space.
-<!--l. 441--><p class="noindent" >Both floor 0 and floor 1 generate a linear-range, linear-domain output vector to be multiplied
+<!--l. 440--><p class="noindent" >Both floor 0 and floor 1 generate a linear-range, linear-domain output vector to be multiplied
(dot product) by the linear-range, linear-domain spectral residue.
-<!--l. 447--><p class="noindent" ><span class="paragraphHead"><a
+<!--l. 446--><p class="noindent" ><span class="paragraphHead"><a
id="x1-310001.3.2"></a><span
class="cmbx-12">compute floor/residue dot product</span></span>
This step is straightforward; for each output channel, the decoder multiplies the floor curve and
residue vectors element by element, producing the finished audio spectrum of each
channel.
-<!--l. 455--><p class="noindent" >One point is worth mentioning about this dot product; a common mistake in a fixed point
+<!--l. 454--><p class="noindent" >One point is worth mentioning about this dot product; a common mistake in a fixed point
implementation might be to assume that a 32 bit fixed-point representation for floor and
residue and direct multiplication of the vectors is sufficient for acceptable spectral depth
in all cases because it happens to mostly work with the current Xiph.Org reference
encoder.
-<!--l. 462--><p class="noindent" >However, floor vector values can span <span
-class="cmsy-10x-x-120">∼</span>140dB (<span
-class="cmsy-10x-x-120">∼</span>24 bits unsigned), and the audio spectrum
+<!--l. 461--><p class="noindent" >However, floor vector values can span <span
+class="cmsy-10x-x-120">~</span>140dB (<span
+class="cmsy-10x-x-120">~</span>24 bits unsigned), and the audio spectrum
vector should represent a minimum of 120dB (<span
-class="cmsy-10x-x-120">∼</span>21 bits with sign), even when output is to a 16
+class="cmsy-10x-x-120">~</span>21 bits with sign), even when output is to a 16
bit PCM device. For the residue vector to represent full scale if the floor is nailed
to <span
-class="cmsy-10x-x-120">−</span>140dB, it must be able to span 0 to +140dB. For the residue vector to reach
+class="cmsy-10x-x-120">-</span>140dB, it must be able to span 0 to +140dB. For the residue vector to reach
full scale if the floor is nailed at 0dB, it must be able to represent <span
-class="cmsy-10x-x-120">−</span>140dB to +0dB.
+class="cmsy-10x-x-120">-</span>140dB to +0dB.
Thus, in order to handle full range dynamics, a residue vector may span <span
-class="cmsy-10x-x-120">−</span>140dB to
+class="cmsy-10x-x-120">-</span>140dB to
+140dB entirely within spec. A 280dB range is approximately 48 bits with sign; thus the
residue vector must be able to represent a 48 bit range and the dot product must
be able to handle an effective 48 bit times 24 bit multiplication. This range may be
achieved using large (64 bit or larger) integers, or implementing a movable binary point
representation.
-<!--l. 479--><p class="noindent" ><span class="paragraphHead"><a
+<!--l. 478--><p class="noindent" ><span class="paragraphHead"><a
id="x1-320001.3.2"></a><span
class="cmbx-12">inverse monolithic transform (MDCT)</span></span>
The audio spectrum is converted back into time domain PCM audio via an inverse Modified
Discrete Cosine Transform (MDCT). A detailed description of the MDCT is available in
<span class="cite">[<a
href="#XSporer/Brandenburg/Edler">1</a>]</span>.
-<!--l. 485--><p class="noindent" >Note that the PCM produced directly from the MDCT is not yet finished audio; it must be
+<!--l. 484--><p class="noindent" >Note that the PCM produced directly from the MDCT is not yet finished audio; it must be
lapped with surrounding frames using an appropriate window (such as the Vorbis window) before
the MDCT can be considered orthogonal.
-<!--l. 492--><p class="noindent" ><span class="paragraphHead"><a
+<!--l. 491--><p class="noindent" ><span class="paragraphHead"><a
id="x1-330001.3.2"></a><span
class="cmbx-12">overlap/add data</span></span>
Windowed MDCT output is overlapped and added with the right hand data of the previous
current window (as illustrated in the window overlap diagram). At this point, the audio data
between the center of the previous frame and the center of the current frame is now finished and
ready to be returned.
-<!--l. 501--><p class="noindent" ><span class="paragraphHead"><a
+<!--l. 500--><p class="noindent" ><span class="paragraphHead"><a
id="x1-340001.3.2"></a><span
class="cmbx-12">cache right hand data</span></span>
The decoder must cache the right hand portion of the current frame to be lapped with the left
hand portion of the next frame.
-<!--l. 507--><p class="noindent" ><span class="paragraphHead"><a
+<!--l. 506--><p class="noindent" ><span class="paragraphHead"><a
id="x1-350001.3.2"></a><span
class="cmbx-12">return finished audio data</span></span>
The overlapped portion produced from overlapping the previous and current frame data
range is not actually overlap. This does not damage transform orthogonality. Pay
attention however to returning the correct data range; the amount of data to be returned
is:
-<!--l. 519--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb1">
-<a
+<!--l. 518--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb1"><a
id="x1-35002r1"></a><span
class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> window_blocksize(previous_window)/4+window_blocksize(current_window)/4</span>
-</div>
-<!--l. 523--><p class="noindent" >from the center of the previous window to the center of the current window.
-<!--l. 526--><p class="noindent" >Data is not returned from the first frame; it must be used to ’prime’ the decode engine. The
+class="cmtt-8">window</span><span
+class="cmtt-8">_blocksize(previous</span><span
+class="cmtt-8">_window)/4+window</span><span
+class="cmtt-8">_blocksize(current</span><span
+class="cmtt-8">_window)/4</span></div>
+<!--l. 522--><p class="noindent" >from the center of the previous window to the center of the current window.
+<!--l. 525--><p class="noindent" >Data is not returned from the first frame; it must be used to ’prime’ the decode engine. The
encoder accounts for this priming when calculating PCM offsets; after the first frame, the proper
PCM output offset is ’0’ (as no data has been returned yet).
<h3 class="sectionHead"><span class="titlemark">2. </span> <a
id="x1-360002"></a>Bitpacking Convention</h3>
-<!--l. 6--><p class="noindent" >
+<!--l. 5--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">2.1. </span> <a
id="x1-370002.1"></a>Overview</h4>
-<!--l. 8--><p class="noindent" >The Vorbis codec uses relatively unstructured raw packets containing arbitrary-width binary
+<!--l. 7--><p class="noindent" >The Vorbis codec uses relatively unstructured raw packets containing arbitrary-width binary
integer fields. Logically, these packets are a bitstream in which bits are coded one-by-one by the
encoder and then read one-by-one in the same monotonically increasing order by the decoder.
Most current binary storage arrangements group bits into a native word size of eight bits
(octets), sixteen bits, thirty-two bits or, less commonly other fixed word sizes. The Vorbis
bitpacking convention specifies the correct mapping of the logical packet bitstream into an actual
representation in fixed-width words.
-<!--l. 19--><p class="noindent" >
+<!--l. 18--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">2.1.1. </span> <a
id="x1-380002.1.1"></a>octets, bytes and words</h5>
-<!--l. 21--><p class="noindent" >In most contemporary architectures, a ’byte’ is synonymous with an ’octet’, that is, eight bits.
+<!--l. 20--><p class="noindent" >In most contemporary architectures, a ’byte’ is synonymous with an ’octet’, that is, eight bits.
This has not always been the case; seven, ten, eleven and sixteen bit ’bytes’ have been used.
For purposes of the bitpacking convention, a byte implies the native, smallest integer
storage representation offered by a platform. On modern platforms, this is generally
filesystem/memory architecture. Modern filesystems invariably offer bytes as the fundamental
atom of storage). A ’word’ is an integer size that is a grouped multiple of this smallest
size.
-<!--l. 32--><p class="noindent" >The most ubiquitous architectures today consider a ’byte’ to be an octet (eight bits) and a word
+<!--l. 31--><p class="noindent" >The most ubiquitous architectures today consider a ’byte’ to be an octet (eight bits) and a word
to be a group of two, four or eight bytes (16, 32 or 64 bits). Note however that the Vorbis
bitpacking convention is still well defined for any native byte size; Vorbis uses the native
bit-width of a given storage system. This document assumes that a byte is one octet for purposes
of example.
-<!--l. 39--><p class="noindent" >
+<!--l. 38--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">2.1.2. </span> <a
id="x1-390002.1.2"></a>bit order</h5>
-<!--l. 41--><p class="noindent" >A byte has a well-defined ’least significant’ bit (LSb), which is the only bit set when the byte is
+<!--l. 40--><p class="noindent" >A byte has a well-defined ’least significant’ bit (LSb), which is the only bit set when the byte is
storing the two’s complement integer value +1. A byte’s ’most significant’ bit (MSb) is at the
opposite end of the byte. Bits in a byte are numbered from zero at the LSb to <span
class="cmmi-12">n </span>(<span
class="cmmi-12">n </span>= 7 in an
octet) for the MSb.
-<!--l. 50--><p class="noindent" >
+<!--l. 49--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">2.1.3. </span> <a
id="x1-400002.1.3"></a>byte order</h5>
-<!--l. 52--><p class="noindent" >Words are native groupings of multiple bytes. Several byte orderings are possible in a word; the
+<!--l. 51--><p class="noindent" >Words are native groupings of multiple bytes. Several byte orderings are possible in a word; the
common ones are 3-2-1-0 (’big endian’ or ’most significant byte first’ in which the
highest-valued byte comes first), 0-1-2-3 (’little endian’ or ’least significant byte first’ in
which the lowest value byte comes first) and less commonly 3-1-2-0 and 0-2-1-3 (’mixed
endian’).
-<!--l. 59--><p class="noindent" >The Vorbis bitpacking convention specifies storage and bitstream manipulation at the byte, not
+<!--l. 58--><p class="noindent" >The Vorbis bitpacking convention specifies storage and bitstream manipulation at the byte, not
word, level, thus host word ordering is of a concern only during optimization when writing high
performance code that operates on a word of storage at a time rather than by byte.
Logically, bytes are always coded and decoded in order from byte zero through byte
<span
class="cmmi-12">n</span>.
-<!--l. 68--><p class="noindent" >
+<!--l. 67--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">2.1.4. </span> <a
id="x1-410002.1.4"></a>coding bits into byte sequences</h5>
-<!--l. 70--><p class="noindent" >The Vorbis codec has need to code arbitrary bit-width integers, from zero to 32 bits
+<!--l. 69--><p class="noindent" >The Vorbis codec has need to code arbitrary bit-width integers, from zero to 32 bits
wide, into packets. These integer fields are not aligned to the boundaries of the byte
representation; the next field is written at the bit position at which the previous field
ends.
-<!--l. 75--><p class="noindent" >The encoder logically packs integers by writing the LSb of a binary integer to the logical
+<!--l. 74--><p class="noindent" >The encoder logically packs integers by writing the LSb of a binary integer to the logical
bitstream first, followed by next least significant bit, etc, until the requested number of bits
have been coded. When packing the bits into bytes, the encoder begins by placing
the LSb of the integer to be written into the least significant unused bit position of
as encoding, but by reading bits from the byte stream and reassembling them into
integers.
-<!--l. 90--><p class="noindent" >
+<!--l. 89--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">2.1.5. </span> <a
id="x1-420002.1.5"></a>signedness</h5>
-<!--l. 92--><p class="noindent" >The signedness of a specific number resulting from decode is to be interpreted by the decoder
+<!--l. 91--><p class="noindent" >The signedness of a specific number resulting from decode is to be interpreted by the decoder
given decode context. That is, the three bit binary pattern ’b111’ can be taken to represent
either ’seven’ as an unsigned integer, or ’-1’ as a signed, two’s complement integer. The
encoder and decoder are responsible for knowing if fields are to be treated as signed or
unsigned.
-<!--l. 101--><p class="noindent" >
+<!--l. 100--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">2.1.6. </span> <a
id="x1-430002.1.6"></a>coding example</h5>
-<!--l. 103--><p class="noindent" >Code the 4 bit integer value ’12’ [b1100] into an empty bytestream. Bytestream result:
-<!--l. 106--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb2">
-<a
+<!--l. 102--><p class="noindent" >Code the 4 bit integer value ’12’ [b1100] into an empty bytestream. Bytestream result:
+<!--l. 105--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb2"><a
id="x1-43002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> |</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> |</span><br class="fancyvrb" /><a
id="x1-43004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> V</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> V</span><br class="fancyvrb" /><a
id="x1-43006r3"></a><span
-class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">3</span><br class="fancyvrb" /><a
id="x1-43008r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7</span><span
class="cmtt-8"> 6</span><span
class="cmtt-8"> 5</span><span
class="cmtt-8"> 3</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> 1</span><span
-class="cmtt-8"> 0</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 0</span><br class="fancyvrb" /><a
id="x1-43010r5"></a><span
class="cmr-6">5</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> [0</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> 0]</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> <-</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> <-</span><br class="fancyvrb" /><a
id="x1-43012r6"></a><span
class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> </span><span
<br class="fancyvrb" /><a
id="x1-43014r7"></a><span
class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> ]</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
id="x1-43016r8"></a><span
class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 3</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> ]</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
id="x1-43018r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> ...</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> ...</span><br class="fancyvrb" /><a
id="x1-43020r10"></a><span
class="cmr-6">10</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> n</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> length</span><span
class="cmtt-8"> ==</span><span
class="cmtt-8"> 1</span><span
-class="cmtt-8"> byte</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> byte</span><br class="fancyvrb" /><a
id="x1-43022r11"></a><span
-class="cmr-6">11</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-</div>
-<!--l. 121--><p class="noindent" >Continue by coding the 3 bit integer value ’-1’ [b111]:
-<!--l. 123--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb3">
-<a
+class="cmr-6">11</span></div>
+<!--l. 120--><p class="noindent" >Continue by coding the 3 bit integer value ’-1’ [b111]:
+<!--l. 122--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb3"><a
id="x1-43024r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> |</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> |</span><br class="fancyvrb" /><a
id="x1-43026r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> V</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> V</span><br class="fancyvrb" /><a
id="x1-43028r3"></a><span
-class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">3</span><br class="fancyvrb" /><a
id="x1-43030r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7</span><span
class="cmtt-8"> 6</span><span
class="cmtt-8"> 5</span><span
class="cmtt-8"> 3</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> 1</span><span
-class="cmtt-8"> 0</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 0</span><br class="fancyvrb" /><a
id="x1-43032r5"></a><span
class="cmr-6">5</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> [0</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> 0]</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> <-</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> <-</span><br class="fancyvrb" /><a
id="x1-43034r6"></a><span
class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> ]</span>
-
-
-
-<br class="fancyvrb" /><a
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
id="x1-43036r7"></a><span
class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> </span><span
<br class="fancyvrb" /><a
id="x1-43038r8"></a><span
class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 3</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> ]</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
id="x1-43040r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> ...</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> ...</span><br class="fancyvrb" /><a
id="x1-43042r10"></a><span
class="cmr-6">10</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> n</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> length</span><span
class="cmtt-8"> ==</span><span
class="cmtt-8"> 1</span><span
-class="cmtt-8"> byte</span>
-</div>
-<!--l. 137--><p class="noindent" >Continue by coding the 7 bit integer value ’17’ [b0010001]:
-<!--l. 139--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb4">
-<a
+class="cmtt-8"> byte</span></div>
+<!--l. 136--><p class="noindent" >Continue by coding the 7 bit integer value ’17’ [b0010001]:
+<!--l. 138--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb4"><a
id="x1-43044r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> |</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> |</span><br class="fancyvrb" /><a
id="x1-43046r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> V</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> V</span><br class="fancyvrb" /><a
id="x1-43048r3"></a><span
-class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">3</span><br class="fancyvrb" /><a
id="x1-43050r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7</span><span
class="cmtt-8"> 6</span><span
class="cmtt-8"> 5</span><span
class="cmtt-8"> 3</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> 1</span><span
-class="cmtt-8"> 0</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 0</span><br class="fancyvrb" /><a
id="x1-43052r5"></a><span
class="cmr-6">5</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> [1</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 0</span><span
-class="cmtt-8"> 0]</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 0]</span><br class="fancyvrb" /><a
id="x1-43054r6"></a><span
class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> [0</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> 0]</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> <-</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> <-</span><br class="fancyvrb" /><a
id="x1-43056r7"></a><span
class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> </span><span
<br class="fancyvrb" /><a
id="x1-43058r8"></a><span
class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 3</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> ]</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
id="x1-43060r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> ...</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> ...</span><br class="fancyvrb" /><a
id="x1-43062r10"></a><span
class="cmr-6">10</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> n</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> length</span><span
class="cmtt-8"> ==</span><span
class="cmtt-8"> 2</span><span
-class="cmtt-8"> bytes</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> bytes</span><br class="fancyvrb" /><a
id="x1-43064r11"></a><span
class="cmr-6">11</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> bit</span><span
class="cmtt-8"> cursor</span><span
class="cmtt-8"> ==</span><span
-class="cmtt-8"> 6</span>
-</div>
-<!--l. 154--><p class="noindent" >Continue by coding the 13 bit integer value ’6969’ [b110 11001110 01]:
-<!--l. 156--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb5">
-<a
+class="cmtt-8"> 6</span></div>
+<!--l. 153--><p class="noindent" >Continue by coding the 13 bit integer value ’6969’ [b110 11001110 01]:
+<!--l. 155--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb5"><a
id="x1-43066r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> |</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> |</span><br class="fancyvrb" /><a
id="x1-43068r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> V</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> V</span><br class="fancyvrb" /><a
id="x1-43070r3"></a><span
-class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">3</span><br class="fancyvrb" /><a
id="x1-43072r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7</span><span
class="cmtt-8"> 6</span><span
class="cmtt-8"> 5</span><span
class="cmtt-8"> 3</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> 1</span><span
-class="cmtt-8"> 0</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 0</span><br class="fancyvrb" /><a
id="x1-43074r5"></a><span
class="cmr-6">5</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> [1</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 0</span><span
-class="cmtt-8"> 0]</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 0]</span><br class="fancyvrb" /><a
id="x1-43076r6"></a><span
class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> [0</span><span
class="cmtt-8"> 1</span><span
<br class="fancyvrb" /><a
id="x1-43078r7"></a><span
class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> [1</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 1</span><span
-class="cmtt-8"> 0]</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 0]</span><br class="fancyvrb" /><a
id="x1-43080r8"></a><span
class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 3</span><span
class="cmtt-8"> [0</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 0]</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> <-</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> <-</span><br class="fancyvrb" /><a
id="x1-43082r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> ...</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> ...</span><br class="fancyvrb" /><a
id="x1-43084r10"></a><span
class="cmr-6">10</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> n</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> length</span><span
class="cmtt-8"> ==</span><span
class="cmtt-8"> 4</span><span
-class="cmtt-8"> bytes</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> bytes</span><br class="fancyvrb" /><a
id="x1-43086r11"></a><span
-class="cmr-6">11</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-</div>
-<!--l. 173--><p class="noindent" >
-<h5 class="subsubsectionHead"><span class="titlemark">2.1.7. </span> <a
- id="x1-440002.1.7"></a>decoding example</h5>
-<!--l. 175--><p class="noindent" >Reading from the beginning of the bytestream encoded in the above example:
-<!--l. 177--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb6">
+class="cmr-6">11</span></div>
-<a
+<!--l. 172--><p class="noindent" >
+<h5 class="subsubsectionHead"><span class="titlemark">2.1.7. </span> <a
+ id="x1-440002.1.7"></a>decoding example</h5>
+<!--l. 174--><p class="noindent" >Reading from the beginning of the bytestream encoded in the above example:
+<!--l. 176--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb6"><a
id="x1-44002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> |</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> |</span><br class="fancyvrb" /><a
id="x1-44004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> V</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> V</span><br class="fancyvrb" /><a
id="x1-44006r3"></a><span
-class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">3</span><br class="fancyvrb" /><a
id="x1-44008r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7</span><span
class="cmtt-8"> 6</span><span
class="cmtt-8"> 5</span><span
class="cmtt-8"> 3</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> 1</span><span
-class="cmtt-8"> 0</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 0</span><br class="fancyvrb" /><a
id="x1-44010r5"></a><span
class="cmr-6">5</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> [1</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> 0]</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> <-</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> <-</span><br class="fancyvrb" /><a
id="x1-44012r6"></a><span
class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> [0</span><span
class="cmtt-8"> 1</span><span
<br class="fancyvrb" /><a
id="x1-44014r7"></a><span
class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> [1</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 1</span><span
-class="cmtt-8"> 0]</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 0]</span><br class="fancyvrb" /><a
id="x1-44016r8"></a><span
class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 3</span><span
class="cmtt-8"> [0</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> length</span><span
class="cmtt-8"> ==</span><span
class="cmtt-8"> 4</span><span
-class="cmtt-8"> bytes</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> bytes</span><br class="fancyvrb" /><a
id="x1-44018r9"></a><span
-class="cmr-6">9</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-</div>
-<!--l. 190--><p class="noindent" >We read two, two-bit integer fields, resulting in the returned numbers ’b00’ and ’b11’. Two things
+class="cmr-6">9</span></div>
+<!--l. 189--><p class="noindent" >We read two, two-bit integer fields, resulting in the returned numbers ’b00’ and ’b11’. Two things
are worth noting here:
<ul class="itemize1">
<li class="itemize">Although these four bits were originally written as a single four-bit integer, reading
<li class="itemize">The second value is the two-bit-wide integer ’b11’. This value may be interpreted
either as the unsigned value ’3’, or the signed value ’-1’. Signedness is dependent on
decode context.</li></ul>
-<!--l. 208--><p class="noindent" >
+<!--l. 207--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">2.1.8. </span> <a
id="x1-450002.1.8"></a>end-of-packet alignment</h5>
-<!--l. 210--><p class="noindent" >The typical use of bitpacking is to produce many independent byte-aligned packets which are
+<!--l. 209--><p class="noindent" >The typical use of bitpacking is to produce many independent byte-aligned packets which are
embedded into a larger byte-aligned container structure, such as an Ogg transport bitstream.
Externally, each bytestream (encoded bitstream) must begin and end on a byte boundary. Often,
the encoded bitstream is not an integer number of bytes, and so there is unused (uncoded) space
in the last byte of a packet.
-<!--l. 218--><p class="noindent" >Unused space in the last byte of a bytestream is always zeroed during the coding process. Thus,
+<!--l. 217--><p class="noindent" >Unused space in the last byte of a bytestream is always zeroed during the coding process. Thus,
should this unused space be read, it will return binary zeroes.
-<!--l. 222--><p class="noindent" >Attempting to read past the end of an encoded packet results in an ’end-of-packet’ condition.
+<!--l. 221--><p class="noindent" >Attempting to read past the end of an encoded packet results in an ’end-of-packet’ condition.
End-of-packet is not to be considered an error; it is merely a state indicating that there is
insufficient remaining data to fulfill the desired read size. Vorbis uses truncated packets as a
-normal mode of operation, and as such, decoders must handle reading past the end of a packet as
-a typical mode of operation. Any further read operations after an ’end-of-packet’ condition shall
-also return ’end-of-packet’.
-<!--l. 233--><p class="noindent" >
+normal mode of operation, and as such, decoders must handle reading past the end of a packet as
+a typical mode of operation. Any further read operations after an ’end-of-packet’ condition shall
+also return ’end-of-packet’.
+<!--l. 232--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">2.1.9. </span> <a
id="x1-460002.1.9"></a>reading zero bits</h5>
-<!--l. 235--><p class="noindent" >Reading a zero-bit-wide integer returns the value ’0’ and does not increment the stream cursor.
+<!--l. 234--><p class="noindent" >Reading a zero-bit-wide integer returns the value ’0’ and does not increment the stream cursor.
Reading to the end of the packet (but not past, such that an ’end-of-packet’ condition has not
triggered) and then reading a zero bit integer shall succeed, returning 0, and not trigger an
end-of-packet condition. Reading a zero-bit-wide integer after a previous read sets ’end-of-packet’
<h3 class="sectionHead"><span class="titlemark">3. </span> <a
id="x1-470003"></a>Probability Model and Codebooks</h3>
-<!--l. 6--><p class="noindent" >
+<!--l. 5--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">3.1. </span> <a
id="x1-480003.1"></a>Overview</h4>
-<!--l. 8--><p class="noindent" >Unlike practically every other mainstream audio codec, Vorbis has no statically configured
+<!--l. 7--><p class="noindent" >Unlike practically every other mainstream audio codec, Vorbis has no statically configured
probability model, instead packing all entropy decoding configuration, VQ and Huffman, into the
bitstream itself in the third header, the codec setup header. This packed configuration consists of
multiple ’codebooks’, each containing a specific Huffman-equivalent representation for decoding
compressed codewords as well as an optional lookup table of output vector values to which a
decoded Huffman value is applied as an offset, generating the final decoded output corresponding
to a given compressed codeword.
-<!--l. 18--><p class="noindent" >
+<!--l. 17--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.1.1. </span> <a
id="x1-490003.1.1"></a>Bitwise operation</h5>
-<!--l. 19--><p class="noindent" >The codebook mechanism is built on top of the vorbis bitpacker. Both the codebooks themselves
+<!--l. 18--><p class="noindent" >The codebook mechanism is built on top of the vorbis bitpacker. Both the codebooks themselves
and the codewords they decode are unrolled from a packet as a series of arbitrary-width values
read from the stream according to <a
-href="#x1-360002">Section 2</a>, “<a
+href="#x1-360002">section 2</a>, “<a
href="#x1-360002">Bitpacking Convention<!--tex4ht:ref: vorbis:spec:bitpacking --></a>”.
-<!--l. 27--><p class="noindent" >
+<!--l. 26--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">3.2. </span> <a
id="x1-500003.2"></a>Packed codebook format</h4>
-<!--l. 29--><p class="noindent" >For purposes of the examples below, we assume that the storage system’s native byte width is
+<!--l. 28--><p class="noindent" >For purposes of the examples below, we assume that the storage system’s native byte width is
eight bits. This is not universally true; see <a
-href="#x1-360002">Section 2</a>, “<a
+href="#x1-360002">section 2</a>, “<a
href="#x1-360002">Bitpacking Convention<!--tex4ht:ref: vorbis:spec:bitpacking --></a>” for discussion
relating to non-eight-bit bytes.
-<!--l. 34--><p class="noindent" >
+<!--l. 33--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.1. </span> <a
id="x1-510003.2.1"></a>codebook decode</h5>
-<!--l. 36--><p class="noindent" >A codebook begins with a 24 bit sync pattern, 0x564342:
-<!--l. 38--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb7">
-<a
+<!--l. 35--><p class="noindent" >A codebook begins with a 24 bit sync pattern, 0x564342:
+<!--l. 37--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb7"><a
id="x1-51002r1"></a><span
class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 0:</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ]</span><span
-class="cmtt-8"> (0x42)</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> (0x42)</span><br class="fancyvrb" /><a
id="x1-51004r2"></a><span
class="cmr-6">2</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 1:</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> ]</span><span
-class="cmtt-8"> (0x43)</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> (0x43)</span><br class="fancyvrb" /><a
id="x1-51006r3"></a><span
class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 2:</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ]</span><span
-class="cmtt-8"> (0x56)</span>
-</div>
-<!--l. 44--><p class="noindent" >16 bit <span
-class="cmtt-12">[codebook_dimensions] </span>and 24 bit <span
-class="cmtt-12">[codebook_entries] </span>fields:
-<!--l. 46--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb8">
-<a
+class="cmtt-8"> (0x56)</span></div>
+<!--l. 43--><p class="noindent" >16 bit <span
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_dimensions] </span>and 24 bit <span
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_entries] </span>fields:
+<!--l. 45--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb8"><a
id="x1-51008r1"></a><span
-class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">1</span><br class="fancyvrb" /><a
id="x1-51010r2"></a><span
class="cmr-6">2</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 3:</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> X</span><span
class="cmtt-8"> X</span><span
class="cmtt-8"> X</span><span
class="cmtt-8"> X</span><span
-class="cmtt-8"> ]</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
id="x1-51012r3"></a><span
class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 4:</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> X</span><span
class="cmtt-8"> X</span><span
class="cmtt-8"> X</span><span
class="cmtt-8"> ]</span><span
-class="cmtt-8"> [codebook_dimensions]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_dimensions]</span><span
class="cmtt-8"> (16</span><span
class="cmtt-8"> bit</span><span
-class="cmtt-8"> unsigned)</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> unsigned)</span><br class="fancyvrb" /><a
id="x1-51014r4"></a><span
-class="cmr-6">4</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">4</span><br class="fancyvrb" /><a
id="x1-51016r5"></a><span
class="cmr-6">5</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 5:</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> X</span><span
<br class="fancyvrb" /><a
id="x1-51018r6"></a><span
class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 6:</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> X</span><span
class="cmtt-8"> X</span><span
class="cmtt-8"> X</span><span
class="cmtt-8"> X</span><span
-class="cmtt-8"> ]</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
id="x1-51020r7"></a><span
class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 7:</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> X</span><span
class="cmtt-8"> X</span><span
class="cmtt-8"> X</span><span
class="cmtt-8"> ]</span><span
-class="cmtt-8"> [codebook_entries]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_entries]</span><span
class="cmtt-8"> (24</span><span
class="cmtt-8"> bit</span><span
-class="cmtt-8"> unsigned)</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> unsigned)</span><br class="fancyvrb" /><a
id="x1-51022r8"></a><span
-class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-</div>
-<!--l. 57--><p class="noindent" >Next is the <span
+class="cmr-6">8</span></div>
+<!--l. 56--><p class="noindent" >Next is the <span
class="cmtt-12">[ordered] </span>bit flag:
-<!--l. 59--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb9">
-<a
+<!--l. 58--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb9"><a
id="x1-51024r1"></a><span
-class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">1</span><br class="fancyvrb" /><a
id="x1-51026r2"></a><span
class="cmr-6">2</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 8:</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> ]</span><span
class="cmtt-8"> [ordered]</span><span
class="cmtt-8"> (1</span><span
-class="cmtt-8"> bit)</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> bit)</span><br class="fancyvrb" /><a
id="x1-51028r3"></a><span
-class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-</div>
-<!--l. 65--><p class="noindent" >Each entry, numbering a total of <span
-class="cmtt-12">[codebook_entries]</span>, is assigned a codeword length.
+class="cmr-6">3</span></div>
+<!--l. 64--><p class="noindent" >Each entry, numbering a total of <span
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_entries]</span>, is assigned a codeword length.
We now read the list of codeword lengths and store these lengths in the array
<span
-class="cmtt-12">[codebook_codeword_lengths]</span>. Decode of lengths is according to whether the <span
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_codeword</span><span
+class="cmtt-12">_lengths]</span>. Decode of lengths is according to whether the <span
class="cmtt-12">[ordered] </span>flag
is set or unset.
<ul class="itemize1">
<li class="itemize">If the <span
class="cmtt-12">[ordered] </span>flag is unset, the codeword list is not length ordered and the decoder
needs to read each codeword length one-by-one.
- <!--l. 77--><p class="noindent" >The decoder first reads one additional bit flag, the <span
+ <!--l. 76--><p class="noindent" >The decoder first reads one additional bit flag, the <span
class="cmtt-12">[sparse] </span>flag. This flag determines
whether or not the codebook contains unused entries that are not to be included in
-
-
-
the codeword decode tree:
- <!--l. 82--><p class="noindent" >
- <div class="fancyvrb" id="fancyvrb10">
-<a
+ <!--l. 81--><p class="noindent" >
+ <div class="fancyvrb" id="fancyvrb10"><a
id="x1-51030r1"></a><span
class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> byte</span><span
+class="cmtt-8">byte</span><span
class="cmtt-8"> 8:</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> [sparse]</span><span
class="cmtt-8"> flag</span><span
class="cmtt-8"> (1</span><span
-class="cmtt-8"> bit)</span>
-</div>
- <!--l. 86--><p class="noindent" >The decoder now performs for each of the <span
-class="cmtt-12">[codebook_entries] </span>codebook entries:
- <!--l. 89--><p class="noindent" >
- <div class="fancyvrb" id="fancyvrb11">
-<a
+class="cmtt-8"> bit)</span></div>
+ <!--l. 85--><p class="noindent" >The decoder now performs for each of the <span
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_entries] </span>codebook entries:
+ <!--l. 88--><p class="noindent" >
+ <div class="fancyvrb" id="fancyvrb11"><a
id="x1-51032r1"></a><span
-class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">1</span><br class="fancyvrb" /><a
id="x1-51034r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> if([sparse]</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> set)</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
+class="cmsy-8">{</span><br class="fancyvrb" /><a
id="x1-51036r3"></a><span
-class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">3</span><br class="fancyvrb" /><a
id="x1-51038r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> [flag]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> one</span><span
-class="cmtt-8"> bit;</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> bit;</span><br class="fancyvrb" /><a
id="x1-51040r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> if([flag]</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> set)</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
+class="cmsy-8">{</span><br class="fancyvrb" /><a
id="x1-51042r6"></a><span
-class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">6</span>
+ <br class="fancyvrb" /><a
id="x1-51044r7"></a><span
class="cmr-6">7</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> [length]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> five</span><span
class="cmtt-8"> bit</span><span
class="cmtt-8"> unsigned</span><span
-class="cmtt-8"> integer;</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> integer;</span><br class="fancyvrb" /><a
id="x1-51046r8"></a><span
class="cmr-6">8</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> codeword</span><span
class="cmtt-8"> length</span><span
class="cmtt-8"> this</span><span
class="cmtt-8"> entry</span><span
class="cmtt-8"> is</span><span
-class="cmtt-8"> [length]+1;</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> [length]+1;</span><br class="fancyvrb" /><a
id="x1-51048r9"></a><span
-class="cmr-6">9</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">9</span>
+ <br class="fancyvrb" /><a
id="x1-51050r10"></a><span
class="cmr-6">10</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmsy-8">}</span><span
class="cmtt-8"> else</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
+class="cmsy-8">{</span><br class="fancyvrb" /><a
id="x1-51052r11"></a><span
-class="cmr-6">11</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">11</span><br class="fancyvrb" /><a
id="x1-51054r12"></a><span
class="cmr-6">12</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
class="cmtt-8"> this</span><span
class="cmtt-8"> entry</span><span
class="cmtt-8"> mark</span><span
class="cmtt-8"> it</span><span
class="cmtt-8"> as</span><span
-class="cmtt-8"> such.</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> such.</span><br class="fancyvrb" /><a
id="x1-51056r13"></a><span
-class="cmr-6">13</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">13</span><br class="fancyvrb" /><a
id="x1-51058r14"></a><span
class="cmr-6">14</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
+class="cmsy-8">}</span><br class="fancyvrb" /><a
id="x1-51060r15"></a><span
-class="cmr-6">15</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">15</span><br class="fancyvrb" /><a
id="x1-51062r16"></a><span
class="cmr-6">16</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmsy-8">}</span><span
class="cmtt-8"> else</span><span
class="cmtt-8"> the</span><span
class="cmtt-8"> not</span><span
class="cmtt-8"> set</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
+class="cmsy-8">{</span><br class="fancyvrb" /><a
id="x1-51064r17"></a><span
-class="cmr-6">17</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">17</span>
+ <br class="fancyvrb" /><a
id="x1-51066r18"></a><span
class="cmr-6">18</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
class="cmtt-8"> [length]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> five</span><span
class="cmtt-8"> bit</span><span
class="cmtt-8"> unsigned</span><span
-class="cmtt-8"> integer;</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> integer;</span><br class="fancyvrb" /><a
id="x1-51068r19"></a><span
class="cmr-6">19</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 8)</span><span
class="cmtt-8"> the</span><span
class="cmtt-8"> codeword</span><span
class="cmtt-8"> this</span><span
class="cmtt-8"> entry</span><span
class="cmtt-8"> is</span><span
-class="cmtt-8"> [length]+1;</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> [length]+1;</span><br class="fancyvrb" /><a
id="x1-51070r20"></a><span
-class="cmr-6">20</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">20</span><br class="fancyvrb" /><a
id="x1-51072r21"></a><span
class="cmr-6">21</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
+class="cmsy-8">}</span><br class="fancyvrb" /><a
id="x1-51074r22"></a><span
-class="cmr-6">22</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-</div>
+class="cmr-6">22</span></div>
+
+
+
</li>
<li class="itemize">If the <span
class="cmtt-12">[ordered] </span>flag is set, the codeword list for this codebook is encoded in
ascending length order. Rather than reading a length for every codeword, the
encoder reads the number of codewords per length. That is, beginning at entry
zero:
- <!--l. 120--><p class="noindent" >
- <div class="fancyvrb" id="fancyvrb12">
-<a
+ <!--l. 119--><p class="noindent" >
+ <div class="fancyvrb" id="fancyvrb12"><a
id="x1-51076r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
-class="cmtt-8"> [current_entry]</span><span
+class="cmtt-8"> [current</span><span
+class="cmtt-8">_entry]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> 0;</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 0;</span><br class="fancyvrb" /><a
id="x1-51078r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
-class="cmtt-8"> [current_length]</span><span
+class="cmtt-8"> [current</span><span
+class="cmtt-8">_length]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> a</span><span
class="cmtt-8"> and</span><span
class="cmtt-8"> add</span><span
class="cmtt-8"> 1;</span>
-<br class="fancyvrb" /><a
+ <br class="fancyvrb" /><a
id="x1-51080r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> [number]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> </span><a
-href="#x1-1170009.2.1"><span
+href="#x1-1190009.2.1"><span
class="cmtt-8">ilog</span></a><span
-class="cmtt-8">([codebook_entries]</span><span
+class="cmtt-8">([codebook</span><span
+class="cmtt-8">_entries]</span><span
class="cmtt-8"> -</span><span
-class="cmtt-8"> [current_entry])</span><span
+class="cmtt-8"> [current</span><span
+class="cmtt-8">_entry])</span><span
class="cmtt-8"> bits</span><span
class="cmtt-8"> as</span><span
class="cmtt-8"> an</span><span
class="cmtt-8"> unsigned</span><span
class="cmtt-8"> integer</span>
-<br class="fancyvrb" /><a
+ <br class="fancyvrb" /><a
id="x1-51082r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> set</span><span
class="cmtt-8"> the</span><span
class="cmtt-8"> entries</span><span
-class="cmtt-8"> [current_entry]</span><span
+class="cmtt-8"> [current</span><span
+class="cmtt-8">_entry]</span><span
class="cmtt-8"> through</span><span
-class="cmtt-8"> [current_entry]+[number]-1,</span><span
+class="cmtt-8"> [current</span><span
+class="cmtt-8">_entry]+[number]-1,</span><span
class="cmtt-8"> inclusive,</span>
-<br class="fancyvrb" /><a
+ <br class="fancyvrb" /><a
id="x1-51084r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> of</span><span
class="cmtt-8"> the</span><span
-class="cmtt-8"> [codebook_codeword_lengths]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_codeword</span><span
+class="cmtt-8">_lengths]</span><span
class="cmtt-8"> array</span><span
class="cmtt-8"> to</span><span
-class="cmtt-8"> [current_length]</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> [current</span><span
+class="cmtt-8">_length]</span><br class="fancyvrb" /><a
id="x1-51086r6"></a><span
class="cmr-6">6</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> set</span><span
-class="cmtt-8"> [current_entry]</span><span
+class="cmtt-8"> [current</span><span
+class="cmtt-8">_entry]</span><span
class="cmtt-8"> to</span><span
class="cmtt-8"> [number]</span><span
class="cmtt-8"> +</span><span
-class="cmtt-8"> [current_entry]</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> [current</span><span
+class="cmtt-8">_entry]</span>
+ <br class="fancyvrb" /><a
id="x1-51088r7"></a><span
class="cmr-6">7</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
class="cmtt-8"> increment</span><span
-class="cmtt-8"> [current_length]</span><span
+class="cmtt-8"> [current</span><span
+class="cmtt-8">_length]</span><span
class="cmtt-8"> by</span><span
-class="cmtt-8"> 1</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 1</span><br class="fancyvrb" /><a
id="x1-51090r8"></a><span
class="cmr-6">8</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
class="cmtt-8"> if</span><span
-class="cmtt-8"> [current_entry]</span><span
+class="cmtt-8"> [current</span><span
+class="cmtt-8">_entry]</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> greater</span><span
class="cmtt-8"> than</span><span
-class="cmtt-8"> [codebook_entries]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_entries]</span><span
class="cmtt-8"> ERROR</span><span
class="cmtt-8"> CONDITION;</span>
-<br class="fancyvrb" /><a
+ <br class="fancyvrb" /><a
id="x1-51092r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> the</span><span
class="cmtt-8"> decoder</span><span
class="cmtt-8"> will</span><span
class="cmtt-8"> to</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> this</span><span
-class="cmtt-8"> stream.</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> stream.</span><br class="fancyvrb" /><a
id="x1-51094r10"></a><span
class="cmr-6">10</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 8)</span><span
class="cmtt-8"> if</span><span
-class="cmtt-8"> [current_entry]</span><span
+class="cmtt-8"> [current</span><span
+class="cmtt-8">_entry]</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> less</span><span
class="cmtt-8"> than</span><span
-class="cmtt-8"> [codebook_entries],</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_entries],</span><span
class="cmtt-8"> repeat</span><span
class="cmtt-8"> process</span><span
class="cmtt-8"> starting</span><span
class="cmtt-8"> at</span><span
class="cmtt-8"> 3)</span>
-<br class="fancyvrb" /><a
+ <br class="fancyvrb" /><a
id="x1-51096r11"></a><span
class="cmr-6">11</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 9)</span><span
-class="cmtt-8"> done.</span>
-
-
-
-</div>
+class="cmtt-8"> done.</span></div>
</li></ul>
-<!--l. 136--><p class="noindent" >After all codeword lengths have been decoded, the decoder reads the vector lookup table. Vorbis
+<!--l. 135--><p class="noindent" >After all codeword lengths have been decoded, the decoder reads the vector lookup table. Vorbis
I supports three lookup types:
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
</dd><dt class="enumerate-enumitem">
3. </dt><dd
class="enumerate-enumitem">Explicitly populated value mapping (tessellated or ’foam’ VQ)</dd></dl>
-<!--l. 149--><p class="noindent" >The lookup table type is read as a four bit unsigned integer:
-<div class="fancyvrb" id="fancyvrb13">
-<a
+<!--l. 148--><p class="noindent" >The lookup table type is read as a four bit unsigned integer:
+<div class="fancyvrb" id="fancyvrb13"><a
id="x1-51101r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
-class="cmtt-8"> [codebook_lookup_type]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_lookup</span><span
+class="cmtt-8">_type]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> four</span><span
class="cmtt-8"> as</span><span
class="cmtt-8"> an</span><span
class="cmtt-8"> unsigned</span><span
-class="cmtt-8"> integer</span>
-</div>
-<!--l. 154--><p class="noindent" >Codebook decode precedes according to <span
-class="cmtt-12">[codebook_lookup_type]</span>:
+class="cmtt-8"> integer</span></div>
+<!--l. 153--><p class="noindent" >Codebook decode precedes according to <span
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_lookup</span><span
+class="cmtt-12">_type]</span>:
<ul class="itemize1">
<li class="itemize">Lookup type zero indicates no lookup to be read. Proceed past lookup decode.
</li>
<li class="itemize">Lookup types one and two are similar, differing only in the number of lookup values to
be read. Lookup type one reads a list of values that are permuted in a set pattern to
build a list of vectors, each vector of order <span
-class="cmtt-12">[codebook_dimensions] </span>scalars. Lookup
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_dimensions] </span>scalars. Lookup
type two builds the same vector list, but reads each scalar for each vector explicitly,
rather than building vectors from a smaller list of possible scalar values. Lookup
decode proceeds as follows:
- <!--l. 168--><p class="noindent" >
- <div class="fancyvrb" id="fancyvrb14">
-<a
+ <!--l. 167--><p class="noindent" >
+ <div class="fancyvrb" id="fancyvrb14"><a
id="x1-51103r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
-class="cmtt-8"> [codebook_minimum_value]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_minimum</span><span
+class="cmtt-8">_value]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> </span><a
-href="#x1-1180009.2.2"><span
-class="cmtt-8">float32_unpack</span></a><span
+href="#x1-1200009.2.2"><span
+class="cmtt-8">float32</span><span
+class="cmtt-8">_unpack</span></a><span
class="cmtt-8">(</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> 32</span><span
class="cmtt-8"> an</span><span
class="cmtt-8"> unsigned</span><span
class="cmtt-8"> integer)</span>
-<br class="fancyvrb" /><a
+ <br class="fancyvrb" /><a
id="x1-51105r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
-class="cmtt-8"> [codebook_delta_value]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_delta</span><span
+class="cmtt-8">_value]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> </span><a
-href="#x1-1180009.2.2"><span
-class="cmtt-8">float32_unpack</span></a><span
+href="#x1-1200009.2.2"><span
+class="cmtt-8">float32</span><span
+class="cmtt-8">_unpack</span></a><span
class="cmtt-8">(</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> 32</span><span
class="cmtt-8"> an</span><span
class="cmtt-8"> unsigned</span><span
class="cmtt-8"> integer)</span>
-<br class="fancyvrb" /><a
+ <br class="fancyvrb" /><a
id="x1-51107r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
-class="cmtt-8"> [codebook_value_bits]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_value</span><span
+class="cmtt-8">_bits]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> 4</span><span
class="cmtt-8"> integer</span><span
class="cmtt-8"> and</span><span
class="cmtt-8"> add</span><span
-class="cmtt-8"> 1</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 1</span><br class="fancyvrb" /><a
id="x1-51109r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
-class="cmtt-8"> [codebook_sequence_p]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_sequence</span><span
+class="cmtt-8">_p]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> as</span><span
class="cmtt-8"> a</span><span
class="cmtt-8"> boolean</span><span
-class="cmtt-8"> flag</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> flag</span><br class="fancyvrb" /><a
id="x1-51111r5"></a><span
-class="cmr-6">5</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">5</span>
+
+
+
+ <br class="fancyvrb" /><a
id="x1-51113r6"></a><span
class="cmr-6">6</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
-class="cmtt-8"> [codebook_lookup_type]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_lookup</span><span
+class="cmtt-8">_type]</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
+class="cmsy-8">{</span><br class="fancyvrb" /><a
id="x1-51115r7"></a><span
-class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">7</span><br class="fancyvrb" /><a
id="x1-51117r8"></a><span
class="cmr-6">8</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
-class="cmtt-8"> [codebook_lookup_values]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_lookup</span><span
+class="cmtt-8">_values]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> </span><a
-href="#x1-1190009.2.3"><span
-class="cmtt-8">lookup1_values</span></a><span
-class="cmtt-8">([codebook_entries],</span><span
-class="cmtt-8"> [codebook_dimensions]</span><span
-class="cmtt-8"> )</span>
-<br class="fancyvrb" /><a
+href="#x1-1210009.2.3"><span
+class="cmtt-8">lookup1</span><span
+class="cmtt-8">_values</span></a><span
+class="cmtt-8">([codebook</span><span
+class="cmtt-8">_entries],</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_dimensions]</span><span
+class="cmtt-8"> )</span><br class="fancyvrb" /><a
id="x1-51119r9"></a><span
-class="cmr-6">9</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">9</span>
+ <br class="fancyvrb" /><a
id="x1-51121r10"></a><span
class="cmr-6">10</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmsy-8">}</span><span
class="cmtt-8"> else</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
+class="cmsy-8">{</span><br class="fancyvrb" /><a
id="x1-51123r11"></a><span
-class="cmr-6">11</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">11</span><br class="fancyvrb" /><a
id="x1-51125r12"></a><span
class="cmr-6">12</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
-class="cmtt-8"> [codebook_lookup_values]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_lookup</span><span
+class="cmtt-8">_values]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> [codebook_entries]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_entries]</span><span
class="cmtt-8"> *</span><span
-class="cmtt-8"> [codebook_dimensions]</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_dimensions]</span><br class="fancyvrb" /><a
id="x1-51127r13"></a><span
-class="cmr-6">13</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">13</span><br class="fancyvrb" /><a
id="x1-51129r14"></a><span
class="cmr-6">14</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
+class="cmsy-8">}</span><br class="fancyvrb" /><a
id="x1-51131r15"></a><span
-class="cmr-6">15</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
+class="cmr-6">15</span>
+ <br class="fancyvrb" /><a
id="x1-51133r16"></a><span
class="cmr-6">16</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> a</span><span
class="cmtt-8"> total</span><span
class="cmtt-8"> of</span><span
-class="cmtt-8"> [codebook_lookup_values]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_lookup</span><span
+class="cmtt-8">_values]</span><span
class="cmtt-8"> unsigned</span><span
class="cmtt-8"> integers</span><span
class="cmtt-8"> of</span><span
-class="cmtt-8"> [codebook_value_bits]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_value</span><span
+class="cmtt-8">_bits]</span><span
class="cmtt-8"> each;</span>
-
-
-
-<br class="fancyvrb" /><a
+ <br class="fancyvrb" /><a
id="x1-51135r17"></a><span
class="cmr-6">17</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> store</span><span
class="cmtt-8"> these</span><span
class="cmtt-8"> in</span><span
class="cmtt-8"> in</span><span
class="cmtt-8"> the</span><span
class="cmtt-8"> array</span><span
-class="cmtt-8"> [codebook_multiplicands]</span>
-</div>
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_multiplicands]</span></div>
</li>
<li class="itemize">A <span
-class="cmtt-12">[codebook_lookup_type] </span>of greater than two is reserved and indicates a stream that is
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_lookup</span><span
+class="cmtt-12">_type] </span>of greater than two is reserved and indicates a stream that is
not decodable by the specification in this document.
</li></ul>
-<!--l. 195--><p class="noindent" >An ’end of packet’ during any read operation in the above steps is considered an error condition
+<!--l. 194--><p class="noindent" >An ’end of packet’ during any read operation in the above steps is considered an error condition
rendering the stream undecodable.
-<!--l. 198--><p class="noindent" ><span class="paragraphHead"><a
+<!--l. 197--><p class="noindent" ><span class="paragraphHead"><a
id="x1-520003.2.1"></a><span
class="cmbx-12">Huffman decision tree representation</span></span>
The <span
-class="cmtt-12">[codebook_codeword_lengths] </span>array and <span
-class="cmtt-12">[codebook_entries] </span>value uniquely define the
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_codeword</span><span
+class="cmtt-12">_lengths] </span>array and <span
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_entries] </span>value uniquely define the
Huffman decision tree used for entropy decoding.
-<!--l. 204--><p class="noindent" >Briefly, each used codebook entry (recall that length-unordered codebooks support unused
+<!--l. 203--><p class="noindent" >Briefly, each used codebook entry (recall that length-unordered codebooks support unused
codeword entries) is assigned, in order, the lowest valued unused binary Huffman codeword
possible. Assume the following codeword length list:
-<!--l. 209--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb15">
-<a
+<!--l. 208--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb15"><a
id="x1-52002r1"></a><span
class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> entry</span><span
+class="cmtt-8">entry</span><span
class="cmtt-8"> 0:</span><span
class="cmtt-8"> length</span><span
-class="cmtt-8"> 2</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 2</span><br class="fancyvrb" /><a
id="x1-52004r2"></a><span
class="cmr-6">2</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> entry</span><span
+class="cmtt-8">entry</span><span
class="cmtt-8"> 1:</span><span
class="cmtt-8"> length</span><span
-class="cmtt-8"> 4</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 4</span><br class="fancyvrb" /><a
id="x1-52006r3"></a><span
class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> entry</span><span
+class="cmtt-8">entry</span><span
class="cmtt-8"> 2:</span><span
class="cmtt-8"> length</span><span
-class="cmtt-8"> 4</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 4</span><br class="fancyvrb" /><a
id="x1-52008r4"></a><span
class="cmr-6">4</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> entry</span><span
+class="cmtt-8">entry</span><span
class="cmtt-8"> 3:</span><span
class="cmtt-8"> length</span><span
-class="cmtt-8"> 4</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 4</span><br class="fancyvrb" /><a
id="x1-52010r5"></a><span
class="cmr-6">5</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> entry</span><span
+class="cmtt-8">entry</span><span
class="cmtt-8"> 4:</span><span
class="cmtt-8"> length</span><span
-class="cmtt-8"> 4</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 4</span><br class="fancyvrb" /><a
id="x1-52012r6"></a><span
class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> entry</span><span
+class="cmtt-8">entry</span><span
class="cmtt-8"> 5:</span><span
class="cmtt-8"> length</span><span
-class="cmtt-8"> 2</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 2</span><br class="fancyvrb" /><a
id="x1-52014r7"></a><span
class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> entry</span><span
+class="cmtt-8">entry</span><span
class="cmtt-8"> 6:</span><span
class="cmtt-8"> length</span><span
-class="cmtt-8"> 3</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 3</span><br class="fancyvrb" /><a
id="x1-52016r8"></a><span
class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> entry</span><span
+class="cmtt-8">entry</span><span
class="cmtt-8"> 7:</span><span
class="cmtt-8"> length</span><span
-class="cmtt-8"> 3</span>
-</div>
-<!--l. 220--><p class="noindent" >Assigning codewords in order (lowest possible value of the appropriate length to highest) results
+class="cmtt-8"> 3</span></div>
+<!--l. 219--><p class="noindent" >Assigning codewords in order (lowest possible value of the appropriate length to highest) results
in the following codeword list:
-<!--l. 223--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb16">
-<a
+<!--l. 222--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb16"><a
id="x1-52018r1"></a><span
class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> entry</span><span
+class="cmtt-8">entry</span><span
class="cmtt-8"> 0:</span><span
class="cmtt-8"> length</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> codeword</span><span
-class="cmtt-8"> 00</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 00</span><br class="fancyvrb" /><a
id="x1-52020r2"></a><span
class="cmr-6">2</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> entry</span><span
+class="cmtt-8">entry</span><span
class="cmtt-8"> 1:</span><span
class="cmtt-8"> length</span><span
class="cmtt-8"> 4</span><span
class="cmtt-8"> codeword</span><span
-class="cmtt-8"> 0100</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 0100</span><br class="fancyvrb" /><a
id="x1-52022r3"></a><span
class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> entry</span><span
+class="cmtt-8">entry</span><span
class="cmtt-8"> 2:</span><span
class="cmtt-8"> length</span><span
class="cmtt-8"> 4</span><span
class="cmtt-8"> codeword</span><span
-class="cmtt-8"> 0101</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 0101</span><br class="fancyvrb" /><a
id="x1-52024r4"></a><span
class="cmr-6">4</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> entry</span><span
+class="cmtt-8">entry</span><span
class="cmtt-8"> 3:</span><span
class="cmtt-8"> length</span><span
class="cmtt-8"> 4</span><span
<br class="fancyvrb" /><a
id="x1-52026r5"></a><span
class="cmr-6">5</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> entry</span><span
+class="cmtt-8">entry</span><span
class="cmtt-8"> 4:</span><span
class="cmtt-8"> length</span><span
class="cmtt-8"> 4</span><span
class="cmtt-8"> codeword</span><span
-class="cmtt-8"> 0111</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 0111</span><br class="fancyvrb" /><a
id="x1-52028r6"></a><span
class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> entry</span><span
+class="cmtt-8">entry</span><span
class="cmtt-8"> 5:</span><span
class="cmtt-8"> length</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> codeword</span><span
-class="cmtt-8"> 10</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 10</span><br class="fancyvrb" /><a
id="x1-52030r7"></a><span
class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> entry</span><span
+class="cmtt-8">entry</span><span
class="cmtt-8"> 6:</span><span
class="cmtt-8"> length</span><span
class="cmtt-8"> 3</span><span
class="cmtt-8"> codeword</span><span
-class="cmtt-8"> 110</span>
-<br class="fancyvrb" /><a
+class="cmtt-8"> 110</span><br class="fancyvrb" /><a
id="x1-52032r8"></a><span
class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> entry</span><span
+class="cmtt-8">entry</span><span
class="cmtt-8"> 7:</span><span
class="cmtt-8"> length</span><span
class="cmtt-8"> 3</span><span
class="cmtt-8"> codeword</span><span
-class="cmtt-8"> 111</span>
-</div>
-
-
-
-<!--l. 235--><p class="noindent" ><span class="likesubparagraphHead"><a
+class="cmtt-8"> 111</span></div>
+<!--l. 234--><p class="noindent" ><span class="likesubparagraphHead"><a
id="x1-530003.2.1"></a><span
class="cmbx-12">Note:</span></span> Unlike most binary numerical values in this document, we intend the above codewords to
be read and used bit by bit from left to right, thus the codeword ’001’ is the bit string ’zero, zero,
one’. When determining ’lowest possible value’ in the assignment definition above, the leftmost
bit is the MSb.
-<!--l. 243--><p class="noindent" >It is clear that the codeword length list represents a Huffman decision tree with the entry
+<!--l. 242--><p class="noindent" >It is clear that the codeword length list represents a Huffman decision tree with the entry
numbers equivalent to the leaves numbered left-to-right:
+
+
+
<div class="center"
>
-<!--l. 247--><p class="noindent" >
+<!--l. 246--><p class="noindent" >
-<!--l. 248--><p class="noindent" ><img
+<!--l. 247--><p class="noindent" ><img
src="hufftree.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure 4: </span><span
class="content">huffman tree illustration</span></div><!--tex4ht:label?: x1-530014 -->
</div>
-<!--l. 253--><p class="noindent" >As we assign codewords in order, we see that each choice constructs a new leaf in the leftmost
+<!--l. 252--><p class="noindent" >As we assign codewords in order, we see that each choice constructs a new leaf in the leftmost
possible position.
-<!--l. 256--><p class="noindent" >Note that it’s possible to underspecify or overspecify a Huffman tree via the length list.
+<!--l. 255--><p class="noindent" >Note that it’s possible to underspecify or overspecify a Huffman tree via the length list.
In the above example, if codeword seven were eliminated, it’s clear that the tree is
unfinished:
<div class="center"
>
-<!--l. 260--><p class="noindent" >
+<!--l. 259--><p class="noindent" >
-<!--l. 261--><p class="noindent" ><img
+<!--l. 260--><p class="noindent" ><img
src="hufftree-under.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure 5: </span><span
class="content">underspecified huffman tree illustration</span></div><!--tex4ht:label?: x1-530025 -->
</div>
-<!--l. 266--><p class="noindent" >Similarly, in the original codebook, it’s clear that the tree is fully populated and a ninth
+<!--l. 265--><p class="noindent" >Similarly, in the original codebook, it’s clear that the tree is fully populated and a ninth
codeword is impossible. Both underspecified and overspecified trees are an error condition
-rendering the stream undecodable. Take special care that a codebook with a single used
-entry is handled properly; it consists of a single codework of zero bits and ’reading’
-a value out of such a codebook always returns the single used value and sinks zero
-bits.
-<!--l. 274--><p class="noindent" >Codebook entries marked ’unused’ are simply skipped in the assigning process. They have no
+rendering the stream undecodable.
+<!--l. 270--><p class="noindent" >Codebook entries marked ’unused’ are simply skipped in the assigning process. They have no
codeword and do not appear in the decision tree, thus it’s impossible for any bit pattern read
from the stream to decode to that entry number.
+<!--l. 275--><p class="noindent" ><span class="paragraphHead"><a
+ id="x1-540003.2.1"></a><span
+class="cmbx-12">Errata 20150226: Single entry codebooks</span></span>
+A ’single-entry codebook’ is a codebook with one active codeword entry. A single-entry codebook
+may be either a fully populated codebook with only one declared entry, or a sparse codebook
+with only one entry marked used. The Vorbis I spec provides no means to specify a codeword
+length of zero, and as a result, a single-entry codebook is inherently malformed because it is
+underpopulated. The original specification did not address directly the matter of single-entry
+codebooks; they were implicitly illegal as it was not possible to write such a codebook with a
+valid tree structure.
-<!--l. 281--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-540003.2.1"></a><span
+<!--l. 287--><p class="noindent" >In r14811 of the libvorbis reference implementation, Xiph added an additional check to the
+codebook implementation to reject underpopulated Huffman trees. This change led to the
+discovery of single-entry books used ’in the wild’ when the new, stricter checks rejected a number
+of apparently working streams.
+<!--l. 293--><p class="noindent" >In order to minimize breakage of deployed (if technically erroneous) streams, r16073 of the
+reference implementation explicitly special-cased single-entry codebooks to tolerate the
+single-entry case. Commit r16073 also added the following to the specification:
+<!--l. 302--><p class="noindent" >“<span class="sout">Take special care that a codebook with a single used entry is handled properly; it consists of a
+single codework of zero bits and reading a value out of such a codebook always returns the single
+used value and sinks zero bits. </span>”
+<!--l. 304--><p class="noindent" >The intent was to clarify the spec and codify current practice. However, this addition is
+erroneously at odds with the intent of preserving usability of existing streams using single-entry
+codebooks, disagrees with the code changes that reinstated decoding, and does not address how
+single-entry codebooks should be encoded.
+<!--l. 310--><p class="noindent" >As such, the above addition made in r16037 is struck from the specification and replaced by the
+following:
+<!--l. 329--><p class="noindent" >
+ <div class="quote">
+ <!--l. 329--><p class="noindent" >It is possible to declare a Vorbis codebook containing a single codework
+ entry. A single-entry codebook may be either a fully populated codebook with
+ <span
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_entries] </span>set to 1, or a sparse codebook marking only one entry
+ used. Note that it is not possible to also encode a <span
+class="cmtt-12">[codeword</span><span
+class="cmtt-12">_length] </span>of zero
+ for the single used codeword, as the unsigned value written to the stream
+ is <span
+class="cmtt-12">[codeword</span><span
+class="cmtt-12">_length]-1</span>. Instead, encoder implementations should indicate a
+ <span
+class="cmtt-12">[codeword</span><span
+class="cmtt-12">_length] </span>of 1 and ’write’ the codeword to a stream during audio
+ encoding by writing a single zero bit.
+ <!--l. 329--><p class="noindent" >Decoder implementations shall reject a codebook if it contains only one used
+ entry and the encoded <span
+class="cmtt-12">[codeword</span><span
+class="cmtt-12">_length] </span>of that entry is not 1. ’Reading’ a
+ value from single-entry codebook always returns the single used codeword value
+ and sinks one bit. Decoders should tolerate that the bit read from the stream
+ be ’1’ instead of ’0’; both values shall return the single used codeword.</div>
+<!--l. 331--><p class="noindent" ><span class="paragraphHead"><a
+ id="x1-550003.2.1"></a><span
class="cmbx-12">VQ lookup table vector representation</span></span>
Unpacking the VQ lookup table vectors relies on the following values:
-<div class="fancyvrb" id="fancyvrb17">
-<a
- id="x1-54002r1"></a><span
+
+
+
+<div class="fancyvrb" id="fancyvrb17"><a
+ id="x1-55002r1"></a><span
class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> the</span><span
+class="cmtt-8">the</span><span
class="cmtt-8"> [codebook\_multiplicands]</span><span
-class="cmtt-8"> array</span>
-<br class="fancyvrb" /><a
- id="x1-54004r2"></a><span
+class="cmtt-8"> array</span><br class="fancyvrb" /><a
+ id="x1-55004r2"></a><span
class="cmr-6">2</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> [codebook\_minimum\_value]</span>
-<br class="fancyvrb" /><a
- id="x1-54006r3"></a><span
+class="cmtt-8">[codebook\_minimum\_value]</span><br class="fancyvrb" /><a
+ id="x1-55006r3"></a><span
class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> [codebook\_delta\_value]</span>
-<br class="fancyvrb" /><a
- id="x1-54008r4"></a><span
+class="cmtt-8">[codebook\_delta\_value]</span><br class="fancyvrb" /><a
+ id="x1-55008r4"></a><span
class="cmr-6">4</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> [codebook\_sequence\_p]</span>
+class="cmtt-8">[codebook\_sequence\_p]</span>
<br class="fancyvrb" /><a
- id="x1-54010r5"></a><span
+ id="x1-55010r5"></a><span
class="cmr-6">5</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> [codebook\_lookup\_type]</span>
-<br class="fancyvrb" /><a
- id="x1-54012r6"></a><span
+class="cmtt-8">[codebook\_lookup\_type]</span><br class="fancyvrb" /><a
+ id="x1-55012r6"></a><span
class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> [codebook\_entries]</span>
-<br class="fancyvrb" /><a
- id="x1-54014r7"></a><span
+class="cmtt-8">[codebook\_entries]</span><br class="fancyvrb" /><a
+ id="x1-55014r7"></a><span
class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> [codebook\_dimensions]</span>
-<br class="fancyvrb" /><a
- id="x1-54016r8"></a><span
+class="cmtt-8">[codebook\_dimensions]</span><br class="fancyvrb" /><a
+ id="x1-55016r8"></a><span
class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> [codebook\_lookup\_values]</span>
-</div>
-<!--l. 297--><p class="noindent" >Decoding (unpacking) a specific vector in the vector lookup table proceeds according to
+class="cmtt-8">[codebook\_lookup\_values]</span></div>
+<!--l. 347--><p class="noindent" >Decoding (unpacking) a specific vector in the vector lookup table proceeds according to
<span
-class="cmtt-12">[codebook_lookup_type]</span>. The unpacked vector values are what a codebook would return
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_lookup</span><span
+class="cmtt-12">_type]</span>. The unpacked vector values are what a codebook would return
during audio packet decode in a VQ context.
-<!--l. 302--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-550003.2.1"></a><span
+<!--l. 352--><p class="noindent" ><span class="paragraphHead"><a
+ id="x1-560003.2.1"></a><span
class="cmbx-12">Vector value decode: Lookup type 1</span></span>
Lookup type one specifies a lattice VQ lookup table built algorithmically from a list of
scalar values. Calculate (unpack) the final values of a codebook entry vector from
the entries in <span
-class="cmtt-12">[codebook_multiplicands] </span>as follows (<span
-class="cmtt-12">[value_vector] </span>is the output
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_multiplicands] </span>as follows (<span
+class="cmtt-12">[value</span><span
+class="cmtt-12">_vector] </span>is the output
vector representing the vector of values for entry number <span
-class="cmtt-12">[lookup_offset] </span>in this
+class="cmtt-12">[lookup</span><span
+class="cmtt-12">_offset] </span>in this
codebook):
-<!--l. 311--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb18">
-<a
- id="x1-55002r1"></a><span
+<!--l. 361--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb18"><a
+ id="x1-56002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> [last]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> 0;</span>
-<br class="fancyvrb" /><a
- id="x1-55004r2"></a><span
+class="cmtt-8"> 0;</span><br class="fancyvrb" /><a
+ id="x1-56004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
-class="cmtt-8"> [index_divisor]</span><span
+class="cmtt-8"> [index</span><span
+class="cmtt-8">_divisor]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> 1;</span>
-<br class="fancyvrb" /><a
- id="x1-55006r3"></a><span
+class="cmtt-8"> 1;</span><br class="fancyvrb" /><a
+ id="x1-56006r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> range</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ...</span><span
-class="cmtt-8"> [codebook_dimensions]-1</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_dimensions]-1</span><span
class="cmtt-8"> (once</span><span
class="cmtt-8"> for</span><span
class="cmtt-8"> each</span><span
class="cmtt-8"> value</span><span
class="cmtt-8"> vector)</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-55008r4"></a><span
-class="cmr-6">4</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-56008r4"></a><span
+class="cmr-6">4</span>
<br class="fancyvrb" /><a
- id="x1-55010r5"></a><span
+ id="x1-56010r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
-class="cmtt-8"> [multiplicand_offset]</span><span
+class="cmtt-8"> [multiplicand</span><span
+class="cmtt-8">_offset]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> (</span><span
-class="cmtt-8"> [lookup_offset]</span><span
+class="cmtt-8"> [lookup</span><span
+class="cmtt-8">_offset]</span><span
class="cmtt-8"> divided</span><span
class="cmtt-8"> by</span><span
-class="cmtt-8"> [index_divisor]</span><span
+class="cmtt-8"> [index</span><span
+class="cmtt-8">_divisor]</span><span
class="cmtt-8"> using</span><span
class="cmtt-8"> integer</span>
<br class="fancyvrb" /><a
- id="x1-55012r6"></a><span
+ id="x1-56012r6"></a><span
class="cmr-6">6</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> division</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> integer</span><span
class="cmtt-8"> modulo</span><span
-class="cmtt-8"> [codebook_lookup_values]</span>
-<br class="fancyvrb" /><a
- id="x1-55014r7"></a><span
-class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-55016r8"></a><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_lookup</span><span
+class="cmtt-8">_values]</span><br class="fancyvrb" /><a
+ id="x1-56014r7"></a><span
+class="cmr-6">7</span><br class="fancyvrb" /><a
+ id="x1-56016r8"></a><span
class="cmr-6">8</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [value_vector]</span><span
+class="cmtt-8"> [value</span><span
+class="cmtt-8">_vector]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> =</span>
<br class="fancyvrb" /><a
- id="x1-55018r9"></a><span
+ id="x1-56018r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> (</span><span
-class="cmtt-8"> [codebook_multiplicands]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_multiplicands]</span><span
class="cmtt-8"> array</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> number</span><span
-class="cmtt-8"> [multiplicand_offset]</span><span
+class="cmtt-8"> [multiplicand</span><span
+class="cmtt-8">_offset]</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> *</span>
<br class="fancyvrb" /><a
- id="x1-55020r10"></a><span
+ id="x1-56020r10"></a><span
class="cmr-6">10</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> [codebook_delta_value]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_delta</span><span
+class="cmtt-8">_value]</span><span
class="cmtt-8"> +</span><span
-class="cmtt-8"> [codebook_minimum_value]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_minimum</span><span
+class="cmtt-8">_value]</span><span
class="cmtt-8"> +</span><span
-class="cmtt-8"> [last];</span>
-<br class="fancyvrb" /><a
- id="x1-55022r11"></a><span
-class="cmr-6">11</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmtt-8"> [last];</span><br class="fancyvrb" /><a
+ id="x1-56022r11"></a><span
+class="cmr-6">11</span>
<br class="fancyvrb" /><a
- id="x1-55024r12"></a><span
+ id="x1-56024r12"></a><span
class="cmr-6">12</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
-class="cmtt-8"> [codebook_sequence_p]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_sequence</span><span
+class="cmtt-8">_p]</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> set</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> [last]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [value_vector]</span><span
+class="cmtt-8"> [value</span><span
+class="cmtt-8">_vector]</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> [i]</span>
-<br class="fancyvrb" /><a
- id="x1-55026r13"></a><span
-class="cmr-6">13</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmtt-8"> [i]</span><br class="fancyvrb" /><a
+ id="x1-56026r13"></a><span
+class="cmr-6">13</span>
<br class="fancyvrb" /><a
- id="x1-55028r14"></a><span
+ id="x1-56028r14"></a><span
class="cmr-6">14</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
-class="cmtt-8"> [index_divisor]</span><span
+class="cmtt-8"> [index</span><span
+class="cmtt-8">_divisor]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> [index_divisor]</span><span
+class="cmtt-8"> [index</span><span
+class="cmtt-8">_divisor]</span><span
class="cmtt-8"> *</span><span
-class="cmtt-8"> [codebook_lookup_values]</span>
-<br class="fancyvrb" /><a
- id="x1-55030r15"></a><span
-class="cmr-6">15</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-55032r16"></a><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_lookup</span><span
+class="cmtt-8">_values]</span><br class="fancyvrb" /><a
+ id="x1-56030r15"></a><span
+class="cmr-6">15</span><br class="fancyvrb" /><a
+ id="x1-56032r16"></a><span
class="cmr-6">16</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-55034r17"></a><span
-class="cmr-6">17</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-55036r18"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-56034r17"></a><span
+class="cmr-6">17</span><br class="fancyvrb" /><a
+ id="x1-56036r18"></a><span
class="cmr-6">18</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 8)</span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> calculation</span><span
-class="cmtt-8"> completed.</span>
-</div>
-
-
-
-<!--l. 334--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-560003.2.1"></a><span
+class="cmtt-8"> completed.</span></div>
+<!--l. 384--><p class="noindent" ><span class="paragraphHead"><a
+ id="x1-570003.2.1"></a><span
class="cmbx-12">Vector value decode: Lookup type 2</span></span>
Lookup type two specifies a VQ lookup table in which each scalar in each vector is explicitly set
by the <span
-class="cmtt-12">[codebook_multiplicands] </span>array in a one-to-one mapping. Calculate [unpack] the final
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_multiplicands] </span>array in a one-to-one mapping. Calculate [unpack] the final
values of a codebook entry vector from the entries in <span
-class="cmtt-12">[codebook_multiplicands] </span>as follows
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_multiplicands] </span>as follows
(<span
-class="cmtt-12">[value_vector] </span>is the output vector representing the vector of values for entry number
+class="cmtt-12">[value</span><span
+class="cmtt-12">_vector] </span>is the output vector representing the vector of values for entry number
<span
-class="cmtt-12">[lookup_offset] </span>in this codebook):
-<!--l. 344--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb19">
-<a
- id="x1-56002r1"></a><span
+class="cmtt-12">[lookup</span><span
+class="cmtt-12">_offset] </span>in this codebook):
+<!--l. 394--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb19"><a
+ id="x1-57002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> [last]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> 0;</span>
-<br class="fancyvrb" /><a
- id="x1-56004r2"></a><span
+class="cmtt-8"> 0;</span><br class="fancyvrb" /><a
+ id="x1-57004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
-class="cmtt-8"> [multiplicand_offset]</span><span
+class="cmtt-8"> [multiplicand</span><span
+class="cmtt-8">_offset]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> [lookup_offset]</span><span
+class="cmtt-8"> [lookup</span><span
+class="cmtt-8">_offset]</span><span
class="cmtt-8"> *</span><span
-class="cmtt-8"> [codebook_dimensions]</span>
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_dimensions]</span>
<br class="fancyvrb" /><a
- id="x1-56006r3"></a><span
+ id="x1-57006r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> range</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ...</span><span
-class="cmtt-8"> [codebook_dimensions]-1</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_dimensions]-1</span><span
class="cmtt-8"> (once</span><span
class="cmtt-8"> for</span><span
class="cmtt-8"> each</span><span
class="cmtt-8"> value</span><span
class="cmtt-8"> vector)</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-56008r4"></a><span
-class="cmr-6">4</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-57008r4"></a><span
+class="cmr-6">4</span>
<br class="fancyvrb" /><a
- id="x1-56010r5"></a><span
+ id="x1-57010r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [value_vector]</span><span
+class="cmtt-8"> [value</span><span
+class="cmtt-8">_vector]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
-class="cmtt-8"> =</span>
-<br class="fancyvrb" /><a
- id="x1-56012r6"></a><span
+class="cmtt-8"> =</span><br class="fancyvrb" /><a
+ id="x1-57012r6"></a><span
class="cmr-6">6</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> (</span><span
-class="cmtt-8"> [codebook_multiplicands]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_multiplicands]</span><span
class="cmtt-8"> array</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> number</span><span
-class="cmtt-8"> [multiplicand_offset]</span><span
+class="cmtt-8"> [multiplicand</span><span
+class="cmtt-8">_offset]</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> *</span>
<br class="fancyvrb" /><a
- id="x1-56014r7"></a><span
+ id="x1-57014r7"></a><span
class="cmr-6">7</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> [codebook_delta_value]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_delta</span><span
+class="cmtt-8">_value]</span><span
class="cmtt-8"> +</span><span
-class="cmtt-8"> [codebook_minimum_value]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_minimum</span><span
+class="cmtt-8">_value]</span><span
class="cmtt-8"> +</span><span
-class="cmtt-8"> [last];</span>
-<br class="fancyvrb" /><a
- id="x1-56016r8"></a><span
-class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmtt-8"> [last];</span><br class="fancyvrb" /><a
+ id="x1-57016r8"></a><span
+class="cmr-6">8</span>
<br class="fancyvrb" /><a
- id="x1-56018r9"></a><span
+ id="x1-57018r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
-class="cmtt-8"> [codebook_sequence_p]</span><span
+class="cmtt-8"> [codebook</span><span
+class="cmtt-8">_sequence</span><span
+class="cmtt-8">_p]</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> set</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> [last]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [value_vector]</span><span
+class="cmtt-8"> [value</span><span
+class="cmtt-8">_vector]</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> [i]</span>
-<br class="fancyvrb" /><a
- id="x1-56020r10"></a><span
-class="cmr-6">10</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmtt-8"> [i]</span><br class="fancyvrb" /><a
+ id="x1-57020r10"></a><span
+class="cmr-6">10</span>
<br class="fancyvrb" /><a
- id="x1-56022r11"></a><span
+ id="x1-57022r11"></a><span
class="cmr-6">11</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
class="cmtt-8"> increment</span><span
-class="cmtt-8"> [multiplicand_offset]</span>
-<br class="fancyvrb" /><a
- id="x1-56024r12"></a><span
-class="cmr-6">12</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-56026r13"></a><span
+class="cmtt-8"> [multiplicand</span><span
+class="cmtt-8">_offset]</span><br class="fancyvrb" /><a
+ id="x1-57024r12"></a><span
+class="cmr-6">12</span><br class="fancyvrb" /><a
+ id="x1-57026r13"></a><span
class="cmr-6">13</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-56028r14"></a><span
-class="cmr-6">14</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-56030r15"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-57028r14"></a><span
+class="cmr-6">14</span><br class="fancyvrb" /><a
+ id="x1-57030r15"></a><span
class="cmr-6">15</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> calculation</span><span
-class="cmtt-8"> completed.</span>
-</div>
-<!--l. 370--><p class="noindent" >
+class="cmtt-8"> completed.</span></div>
+
+
+
+<!--l. 420--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">3.3. </span> <a
- id="x1-570003.3"></a>Use of the codebook abstraction</h4>
-<!--l. 372--><p class="noindent" >The decoder uses the codebook abstraction much as it does the bit-unpacking convention; a
+ id="x1-580003.3"></a>Use of the codebook abstraction</h4>
+<!--l. 422--><p class="noindent" >The decoder uses the codebook abstraction much as it does the bit-unpacking convention; a
specific codebook reads a codeword from the bitstream, decoding it into an entry number, and
then returns that entry number to the decoder (when used in a scalar entropy coding context), or
uses that entry number as an offset into the VQ lookup table, returning a vector of values (when
used in a context desiring a VQ value). Scalar or VQ context is always explicit; any
call to the codebook mechanism requests either a scalar entry number or a lookup
vector.
-<!--l. 382--><p class="noindent" >Note that VQ lookup type zero indicates that there is no lookup table; requesting
+<!--l. 432--><p class="noindent" >Note that VQ lookup type zero indicates that there is no lookup table; requesting
decode using a codebook of lookup type 0 in any context expecting a vector return
value (even in a case where a vector of dimension one) is forbidden. If decoder setup
or decode requests such an action, that is an error condition rendering the packet
-
-
-
undecodable.
-<!--l. 389--><p class="noindent" >Using a codebook to read from the packet bitstream consists first of reading and decoding the
+<!--l. 439--><p class="noindent" >Using a codebook to read from the packet bitstream consists first of reading and decoding the
next codeword in the bitstream. The decoder reads bits until the accumulated bits match a
codeword in the codebook. This process can be though of as logically walking the
Huffman decode tree by reading one bit at a time from the bitstream, and using the
hits a leaf in the decision tree; the result is the entry number corresponding to that
leaf. Reading past the end of a packet propagates the ’end-of-stream’ condition to the
decoder.
-<!--l. 401--><p class="noindent" >When used in a scalar context, the resulting codeword entry is the desired return
+<!--l. 451--><p class="noindent" >When used in a scalar context, the resulting codeword entry is the desired return
value.
-<!--l. 404--><p class="noindent" >When used in a VQ context, the codeword entry number is used as an offset into the VQ lookup
+<!--l. 454--><p class="noindent" >When used in a VQ context, the codeword entry number is used as an offset into the VQ lookup
table. The value returned to the decoder is the vector of scalars corresponding to this
offset.
<h3 class="sectionHead"><span class="titlemark">4. </span> <a
- id="x1-580004"></a>Codec Setup and Packet Decode</h3>
-<!--l. 7--><p class="noindent" >
+ id="x1-590004"></a>Codec Setup and Packet Decode</h3>
+<!--l. 6--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">4.1. </span> <a
- id="x1-590004.1"></a>Overview</h4>
-<!--l. 9--><p class="noindent" >This document serves as the top-level reference document for the bit-by-bit decode specification
+ id="x1-600004.1"></a>Overview</h4>
+<!--l. 8--><p class="noindent" >This document serves as the top-level reference document for the bit-by-bit decode specification
of Vorbis I. This document assumes a high-level understanding of the Vorbis decode
process, which is provided in <a
-href="#x1-20001">Section 1</a>, “<a
+href="#x1-20001">section 1</a>, “<a
href="#x1-20001">Introduction and Description<!--tex4ht:ref: vorbis:spec:intro --></a>”. <a
-href="#x1-360002">Section 2</a>,
+href="#x1-360002">section 2</a>,
“<a
href="#x1-360002">Bitpacking Convention<!--tex4ht:ref: vorbis:spec:bitpacking --></a>” covers reading and writing bit fields from and to bitstream
packets.
-<!--l. 17--><p class="noindent" >
+<!--l. 16--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">4.2. </span> <a
- id="x1-600004.2"></a>Header decode and decode setup</h4>
-<!--l. 19--><p class="noindent" >A Vorbis bitstream begins with three header packets. The header packets are, in order, the
+ id="x1-610004.2"></a>Header decode and decode setup</h4>
+<!--l. 18--><p class="noindent" >A Vorbis bitstream begins with three header packets. The header packets are, in order, the
identification header, the comments header, and the setup header. All are required for decode
compliance. An end-of-packet condition during decoding the first or third header packet renders
the stream undecodable. End-of-packet decoding the comment header is a non-fatal error
condition.
-<!--l. 26--><p class="noindent" >
+<!--l. 25--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">4.2.1. </span> <a
- id="x1-610004.2.1"></a>Common header decode</h5>
-<!--l. 28--><p class="noindent" >Each header packet begins with the same header fields.
-<!--l. 31--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb20">
-<a
- id="x1-61002r1"></a><span
+ id="x1-620004.2.1"></a>Common header decode</h5>
+<!--l. 27--><p class="noindent" >Each header packet begins with the same header fields.
+<!--l. 30--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb20"><a
+ id="x1-62002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
-class="cmtt-8"> [packet_type]</span><span
+class="cmtt-8"> [packet</span><span
+class="cmtt-8">_type]</span><span
class="cmtt-8"> :</span><span
class="cmtt-8"> 8</span><span
class="cmtt-8"> bit</span><span
-class="cmtt-8"> value</span>
-<br class="fancyvrb" /><a
- id="x1-61004r2"></a><span
+class="cmtt-8"> value</span><br class="fancyvrb" /><a
+ id="x1-62004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> 0x76,</span><span
class="cmtt-8"> 0x6f,</span><span
class="cmtt-8"> ’v’,’o’,’r’,’b’,’i’,’s’</span><span
class="cmtt-8"> as</span><span
class="cmtt-8"> six</span><span
-class="cmtt-8"> octets</span>
-</div>
+class="cmtt-8"> octets</span></div>
+<!--l. 35--><p class="noindent" >Decode continues according to packet type; the identification header is type 1, the comment
+header type 3 and the setup header type 5 (these types are all odd as a packet with a leading
+single bit of ’0’ is an audio packet). The packets must occur in the order of identification,
-<!--l. 36--><p class="noindent" >Decode continues according to packet type; the identification header is type 1, the comment
-header type 3 and the setup header type 5 (these types are all odd as a packet with a leading
-single bit of ’0’ is an audio packet). The packets must occur in the order of identification,
comment, setup.
-<!--l. 44--><p class="noindent" >
+<!--l. 43--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">4.2.2. </span> <a
- id="x1-620004.2.2"></a>Identification header</h5>
-<!--l. 46--><p class="noindent" >The identification header is a short header of only a few fields used to declare the stream
+ id="x1-630004.2.2"></a>Identification header</h5>
+<!--l. 45--><p class="noindent" >The identification header is a short header of only a few fields used to declare the stream
definitively as Vorbis, and provide a few externally relevant pieces of information about the audio
stream. The identification header is coded as follows:
-<!--l. 51--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb21">
-<a
- id="x1-62002r1"></a><span
+<!--l. 50--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb21"><a
+ id="x1-63002r1"></a><span
class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
-class="cmtt-8"> [vorbis_version]</span><span
+class="cmtt-8"> [vorbis</span><span
+class="cmtt-8">_version]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> 32</span><span
class="cmtt-8"> bits</span><span
class="cmtt-8"> as</span><span
class="cmtt-8"> unsigned</span><span
-class="cmtt-8"> integer</span>
-<br class="fancyvrb" /><a
- id="x1-62004r2"></a><span
+class="cmtt-8"> integer</span><br class="fancyvrb" /><a
+ id="x1-63004r2"></a><span
class="cmr-6">2</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
-class="cmtt-8"> [audio_channels]</span><span
+class="cmtt-8"> [audio</span><span
+class="cmtt-8">_channels]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> 8</span><span
class="cmtt-8"> as</span><span
class="cmtt-8"> unsigned</span>
<br class="fancyvrb" /><a
- id="x1-62006r3"></a><span
+ id="x1-63006r3"></a><span
class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
-class="cmtt-8"> [audio_sample_rate]</span><span
+class="cmtt-8"> [audio</span><span
+class="cmtt-8">_sample</span><span
+class="cmtt-8">_rate]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> 32</span><span
class="cmtt-8"> bits</span><span
class="cmtt-8"> as</span><span
class="cmtt-8"> unsigned</span><span
-class="cmtt-8"> integer</span>
-<br class="fancyvrb" /><a
- id="x1-62008r4"></a><span
+class="cmtt-8"> integer</span><br class="fancyvrb" /><a
+ id="x1-63008r4"></a><span
class="cmr-6">4</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
-class="cmtt-8"> [bitrate_maximum]</span><span
+class="cmtt-8"> [bitrate</span><span
+class="cmtt-8">_maximum]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> 32</span><span
class="cmtt-8"> signed</span><span
class="cmtt-8"> integer</span>
<br class="fancyvrb" /><a
- id="x1-62010r5"></a><span
+ id="x1-63010r5"></a><span
class="cmr-6">5</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
-class="cmtt-8"> [bitrate_nominal]</span><span
+class="cmtt-8"> [bitrate</span><span
+class="cmtt-8">_nominal]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> 32</span><span
class="cmtt-8"> bits</span><span
class="cmtt-8"> as</span><span
class="cmtt-8"> signed</span><span
-class="cmtt-8"> integer</span>
-<br class="fancyvrb" /><a
- id="x1-62012r6"></a><span
+class="cmtt-8"> integer</span><br class="fancyvrb" /><a
+ id="x1-63012r6"></a><span
class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
-class="cmtt-8"> [bitrate_minimum]</span><span
+class="cmtt-8"> [bitrate</span><span
+class="cmtt-8">_minimum]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> 32</span><span
class="cmtt-8"> signed</span><span
class="cmtt-8"> integer</span>
<br class="fancyvrb" /><a
- id="x1-62014r7"></a><span
+ id="x1-63014r7"></a><span
class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
-class="cmtt-8"> [blocksize_0]</span><span
+class="cmtt-8"> [blocksize</span><span
+class="cmtt-8">_0]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> exponent</span><span
class="cmtt-8"> bits</span><span
class="cmtt-8"> as</span><span
class="cmtt-8"> unsigned</span><span
-class="cmtt-8"> integer)</span>
-<br class="fancyvrb" /><a
- id="x1-62016r8"></a><span
+class="cmtt-8"> integer)</span><br class="fancyvrb" /><a
+ id="x1-63016r8"></a><span
class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 8)</span><span
-class="cmtt-8"> [blocksize_1]</span><span
+class="cmtt-8"> [blocksize</span><span
+class="cmtt-8">_1]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> exponent</span><span
class="cmtt-8"> unsigned</span><span
class="cmtt-8"> integer)</span>
<br class="fancyvrb" /><a
- id="x1-62018r9"></a><span
+ id="x1-63018r9"></a><span
class="cmr-6">9</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 9)</span><span
-class="cmtt-8"> [framing_flag]</span><span
+class="cmtt-8"> [framing</span><span
+class="cmtt-8">_flag]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> one</span><span
-class="cmtt-8"> bit</span>
-</div>
-<!--l. 63--><p class="noindent" ><span
-class="cmtt-12">[vorbis_version] </span>is to read ’0’ in order to be compatible with this document. Both
+class="cmtt-8"> bit</span></div>
+<!--l. 62--><p class="noindent" ><span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_version] </span>is to read ’0’ in order to be compatible with this document. Both
<span
-class="cmtt-12">[audio_channels] </span>and <span
-class="cmtt-12">[audio_sample_rate] </span>must read greater than zero. Allowed final
+class="cmtt-12">[audio</span><span
+class="cmtt-12">_channels] </span>and <span
+class="cmtt-12">[audio</span><span
+class="cmtt-12">_sample</span><span
+class="cmtt-12">_rate] </span>must read greater than zero. Allowed final
blocksize values are 64, 128, 256, 512, 1024, 2048, 4096 and 8192 in Vorbis I. <span
-class="cmtt-12">[blocksize_0]</span>
+class="cmtt-12">[blocksize</span><span
+class="cmtt-12">_0]</span>
must be less than or equal to <span
-class="cmtt-12">[blocksize_1]</span>. The framing bit must be nonzero. Failure to meet
+class="cmtt-12">[blocksize</span><span
+class="cmtt-12">_1]</span>. The framing bit must be nonzero. Failure to meet
any of these conditions renders a stream undecodable.
-<!--l. 71--><p class="noindent" >The bitrate fields above are used only as hints. The nominal bitrate field especially may be
+<!--l. 70--><p class="noindent" >The bitrate fields above are used only as hints. The nominal bitrate field especially may be
considerably off in purely VBR streams. The fields are meaningful only when greater than
zero.
<ul class="itemize1">
fixed-rate bitstream
</li>
<li class="itemize">Only nominal set implies a VBR or ABR stream that averages the nominal bitrate
-
-
-
</li>
<li class="itemize">Maximum and or minimum set implies a VBR bitstream that obeys the bitrate limits
</li>
<li class="itemize">None set indicates the encoder does not care to speculate.</li></ul>
-<!--l. 85--><p class="noindent" >
+
+
+
+<!--l. 84--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">4.2.3. </span> <a
- id="x1-630004.2.3"></a>Comment header</h5>
-<!--l. 86--><p class="noindent" >Comment header decode and data specification is covered in <a
-href="#x1-810005">Section 5</a>, “<a
-href="#x1-810005">comment field and
+ id="x1-640004.2.3"></a>Comment header</h5>
+<!--l. 85--><p class="noindent" >Comment header decode and data specification is covered in <a
+href="#x1-820005">section 5</a>, “<a
+href="#x1-820005">comment field and
header specification<!--tex4ht:ref: vorbis:spec:comment --></a>”.
-<!--l. 90--><p class="noindent" >
+<!--l. 89--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">4.2.4. </span> <a
- id="x1-640004.2.4"></a>Setup header</h5>
-<!--l. 92--><p class="noindent" >Vorbis codec setup is configurable to an extreme degree:
+ id="x1-650004.2.4"></a>Setup header</h5>
+<!--l. 91--><p class="noindent" >Vorbis codec setup is configurable to an extreme degree:
<div class="center"
>
-<!--l. 94--><p class="noindent" >
+<!--l. 93--><p class="noindent" >
-<!--l. 95--><p class="noindent" ><img
+<!--l. 94--><p class="noindent" ><img
src="components.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure 6: </span><span
-class="content">decoder pipeline configuration</span></div><!--tex4ht:label?: x1-640016 -->
+class="content">decoder pipeline configuration</span></div><!--tex4ht:label?: x1-650016 -->
</div>
-<!--l. 100--><p class="noindent" >The setup header contains the bulk of the codec setup information needed for decode. The setup
+<!--l. 99--><p class="noindent" >The setup header contains the bulk of the codec setup information needed for decode. The setup
header contains, in order, the lists of codebook configurations, time-domain transform
configurations (placeholders in Vorbis I), floor configurations, residue configurations, channel
mapping configurations and mode configurations. It finishes with a framing bit of ’1’. Header
decode proceeds in the following order:
-<!--l. 108--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-650004.2.4"></a><span
+<!--l. 107--><p class="noindent" ><span class="paragraphHead"><a
+ id="x1-660004.2.4"></a><span
class="cmbx-12">Codebooks</span></span>
-
-
-
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[vorbis_codebook_count] </span>= read eight bits as unsigned integer and add one
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_codebook</span><span
+class="cmtt-12">_count] </span>= read eight bits as unsigned integer and add one
</dd><dt class="enumerate-enumitem">
2. </dt><dd
class="enumerate-enumitem">Decode <span
-class="cmtt-12">[vorbis_codebook_count] </span>codebooks in order as defined in <a
-href="#x1-470003">Section 3</a>,
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_codebook</span><span
+class="cmtt-12">_count] </span>codebooks in order as defined in <a
+href="#x1-470003">section 3</a>,
“<a
href="#x1-470003">Probability Model and Codebooks<!--tex4ht:ref: vorbis:spec:codebook --></a>”. Save each configuration, in order, in an array
of codebook configurations <span
-class="cmtt-12">[vorbis_codebook_configurations]</span>.</dd></dl>
-<!--l. 120--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-660004.2.4"></a><span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_codebook</span><span
+class="cmtt-12">_configurations]</span>.</dd></dl>
+
+
+
+<!--l. 119--><p class="noindent" ><span class="paragraphHead"><a
+ id="x1-670004.2.4"></a><span
class="cmbx-12">Time domain transforms</span></span>
These hooks are placeholders in Vorbis I. Nevertheless, the configuration placeholder values must
be read to maintain bitstream sync.
-<!--l. 127--><p class="noindent" >
+<!--l. 126--><p class="noindent" >
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[vorbis_time_count] </span>= read 6 bits as unsigned integer and add one
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_time</span><span
+class="cmtt-12">_count] </span>= read 6 bits as unsigned integer and add one
</dd><dt class="enumerate-enumitem">
2. </dt><dd
class="enumerate-enumitem">read <span
-class="cmtt-12">[vorbis_time_count] </span>16 bit values; each value should be zero. If any value is
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_time</span><span
+class="cmtt-12">_count] </span>16 bit values; each value should be zero. If any value is
nonzero, this is an error condition and the stream is undecodable.</dd></dl>
-<!--l. 133--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-670004.2.4"></a><span
+<!--l. 132--><p class="noindent" ><span class="paragraphHead"><a
+ id="x1-680004.2.4"></a><span
class="cmbx-12">Floors</span></span>
Vorbis uses two floor types; header decode is handed to the decode abstraction of the appropriate
type.
-<!--l. 139--><p class="noindent" >
+<!--l. 138--><p class="noindent" >
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[vorbis_floor_count] </span>= read 6 bits as unsigned integer and add one
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_floor</span><span
+class="cmtt-12">_count] </span>= read 6 bits as unsigned integer and add one
</dd><dt class="enumerate-enumitem">
2. </dt><dd
class="enumerate-enumitem">For each <span
class="cmtt-12">[i] </span>of <span
-class="cmtt-12">[vorbis_floor_count] </span>floor numbers:
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_floor</span><span
+class="cmtt-12">_count] </span>floor numbers:
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
a) </dt><dd
class="enumerate-enumitem">read the floor type: vector <span
-class="cmtt-12">[vorbis_floor_types] </span>element <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_floor</span><span
+class="cmtt-12">_types] </span>element <span
class="cmtt-12">[i] </span>= read 16 bits
as unsigned integer
</dd><dt class="enumerate-enumitem">
b) </dt><dd
class="enumerate-enumitem">If the floor type is zero, decode the floor configuration as defined in <a
-href="#x1-890006">Section 6</a>,
+href="#x1-900006">section 6</a>,
“<a
-href="#x1-890006">Floor type 0 setup and decode<!--tex4ht:ref: vorbis:spec:floor0 --></a>”; save this configuration in slot <span
+href="#x1-900006">Floor type 0 setup and decode<!--tex4ht:ref: vorbis:spec:floor0 --></a>”; save this configuration in slot <span
class="cmtt-12">[i] </span>of the floor
configuration array <span
-class="cmtt-12">[vorbis_floor_configurations]</span>.
-
-
-
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_floor</span><span
+class="cmtt-12">_configurations]</span>.
</dd><dt class="enumerate-enumitem">
c) </dt><dd
class="enumerate-enumitem">If the floor type is one, decode the floor configuration as defined in <a
-href="#x1-950007">Section 7</a>,
+href="#x1-970007">section 7</a>,
“<a
-href="#x1-950007">Floor type 1 setup and decode<!--tex4ht:ref: vorbis:spec:floor1 --></a>”; save this configuration in slot <span
+href="#x1-970007">Floor type 1 setup and decode<!--tex4ht:ref: vorbis:spec:floor1 --></a>”; save this configuration in slot <span
class="cmtt-12">[i] </span>of the floor
configuration array <span
-class="cmtt-12">[vorbis_floor_configurations]</span>.
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_floor</span><span
+class="cmtt-12">_configurations]</span>.
</dd><dt class="enumerate-enumitem">
d) </dt><dd
class="enumerate-enumitem">If the the floor type is greater than one, this stream is undecodable; ERROR
CONDITION</dd></dl>
+
+
+
</dd></dl>
-<!--l. 157--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-680004.2.4"></a><span
+<!--l. 156--><p class="noindent" ><span class="paragraphHead"><a
+ id="x1-690004.2.4"></a><span
class="cmbx-12">Residues</span></span>
Vorbis uses three residue types; header decode of each type is identical.
-<!--l. 163--><p class="noindent" >
+<!--l. 162--><p class="noindent" >
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[vorbis_residue_count] </span>= read 6 bits as unsigned integer and add one
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_residue</span><span
+class="cmtt-12">_count] </span>= read 6 bits as unsigned integer and add one
</dd><dt class="enumerate-enumitem">
2. </dt><dd
class="enumerate-enumitem">For each of <span
-class="cmtt-12">[vorbis_residue_count] </span>residue numbers:
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_residue</span><span
+class="cmtt-12">_count] </span>residue numbers:
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
a) </dt><dd
class="enumerate-enumitem">read the residue type; vector <span
-class="cmtt-12">[vorbis_residue_types] </span>element <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_residue</span><span
+class="cmtt-12">_types] </span>element <span
class="cmtt-12">[i] </span>= read 16
bits as unsigned integer
</dd><dt class="enumerate-enumitem">
b) </dt><dd
class="enumerate-enumitem">If the residue type is zero, one or two, decode the residue configuration as defined
in <a
-href="#x1-1020008">Section 8</a>, “<a
-href="#x1-1020008">Residue setup and decode<!--tex4ht:ref: vorbis:spec:residue --></a>”; save this configuration in slot <span
+href="#x1-1040008">section 8</a>, “<a
+href="#x1-1040008">Residue setup and decode<!--tex4ht:ref: vorbis:spec:residue --></a>”; save this configuration in slot <span
class="cmtt-12">[i] </span>of
the residue configuration array <span
-class="cmtt-12">[vorbis_residue_configurations]</span>.
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_residue</span><span
+class="cmtt-12">_configurations]</span>.
</dd><dt class="enumerate-enumitem">
c) </dt><dd
class="enumerate-enumitem">If the the residue type is greater than two, this stream is undecodable; ERROR
CONDITION</dd></dl>
</dd></dl>
-<!--l. 177--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-690004.2.4"></a><span
+<!--l. 176--><p class="noindent" ><span class="paragraphHead"><a
+ id="x1-700004.2.4"></a><span
class="cmbx-12">Mappings</span></span>
Mappings are used to set up specific pipelines for encoding multichannel audio with varying
channel mapping applications. Vorbis I uses a single mapping type (0), with implicit PCM
channel mappings.
-
-
-
-<!--l. 188--><p class="noindent" >
+<!--l. 187--><p class="noindent" >
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[vorbis_mapping_count] </span>= read 6 bits as unsigned integer and add one
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_count] </span>= read 6 bits as unsigned integer and add one
</dd><dt class="enumerate-enumitem">
2. </dt><dd
class="enumerate-enumitem">For each <span
class="cmtt-12">[i] </span>of <span
-class="cmtt-12">[vorbis_mapping_count] </span>mapping numbers:
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_count] </span>mapping numbers:
+
+
+
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
a) </dt><dd
class="enumerate-enumitem">read the mapping type: 16 bits as unsigned integer. There’s no reason to save
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
A. </dt><dd
class="enumerate-enumitem">if set, <span
-class="cmtt-12">[vorbis_mapping_submaps] </span>= read 4 bits as unsigned integer
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_submaps] </span>= read 4 bits as unsigned integer
and add one
</dd><dt class="enumerate-enumitem">
B. </dt><dd
class="enumerate-enumitem">if unset, <span
-class="cmtt-12">[vorbis_mapping_submaps] </span>= 1</dd></dl>
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_submaps] </span>= 1</dd></dl>
</dd><dt class="enumerate-enumitem">
ii. </dt><dd
class="enumerate-enumitem">read 1 bit as a boolean flag
class="enumerate-enumitem">if set, square polar channel mapping is in use:
<ul class="itemize1">
<li class="itemize"><span
-class="cmtt-12">[vorbis_mapping_coupling_steps] </span>= read 8 bits as unsigned
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_coupling</span><span
+class="cmtt-12">_steps] </span>= read 8 bits as unsigned
integer and add one
</li>
<li class="itemize">for <span
class="cmtt-12">[j] </span>each of <span
-class="cmtt-12">[vorbis_mapping_coupling_steps] </span>steps:
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_coupling</span><span
+class="cmtt-12">_steps] </span>steps:
<ul class="itemize2">
<li class="itemize">vector <span
-class="cmtt-12">[vorbis_mapping_magnitude] </span>element <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_magnitude] </span>element <span
class="cmtt-12">[j]</span>= read
<a
-href="#x1-1170009.2.1">ilog</a>(<span
-class="cmtt-12">[audio_channels] </span>- 1) bits as unsigned integer
+href="#x1-1190009.2.1">ilog</a>(<span
+class="cmtt-12">[audio</span><span
+class="cmtt-12">_channels] </span>- 1) bits as unsigned integer
</li>
<li class="itemize">vector <span
-class="cmtt-12">[vorbis_mapping_angle] </span>element <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_angle] </span>element <span
class="cmtt-12">[j]</span>= read
<a
-href="#x1-1170009.2.1">ilog</a>(<span
-class="cmtt-12">[audio_channels] </span>- 1) bits as unsigned integer
+href="#x1-1190009.2.1">ilog</a>(<span
+class="cmtt-12">[audio</span><span
+class="cmtt-12">_channels] </span>- 1) bits as unsigned integer
</li>
-
-
-
<li class="itemize">the numbers read in the above two steps are channel numbers
representing the channel to treat as magnitude and the channel
to treat as angle, respectively. If for any coupling step the
angle channel number equals the magnitude channel number, the
magnitude channel number is greater than <span
-class="cmtt-12">[audio_channels]</span>-1, or
+class="cmtt-12">[audio</span><span
+class="cmtt-12">_channels]</span>-1, or
the angle channel is greater than <span
-class="cmtt-12">[audio_channels]</span>-1, the stream
+class="cmtt-12">[audio</span><span
+class="cmtt-12">_channels]</span>-1, the stream
is undecodable.</li></ul>
+
+
+
</li></ul>
</dd><dt class="enumerate-enumitem">
B. </dt><dd
class="enumerate-enumitem">if unset, <span
-class="cmtt-12">[vorbis_mapping_coupling_steps] </span>= 0</dd></dl>
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_coupling</span><span
+class="cmtt-12">_steps] </span>= 0</dd></dl>
</dd><dt class="enumerate-enumitem">
iii. </dt><dd
class="enumerate-enumitem">read 2 bits (reserved field); if the value is nonzero, the stream is undecodable
</dd><dt class="enumerate-enumitem">
iv. </dt><dd
class="enumerate-enumitem">if <span
-class="cmtt-12">[vorbis_mapping_submaps] </span>is greater than one, we read channel multiplex
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_submaps] </span>is greater than one, we read channel multiplex
settings. For each <span
class="cmtt-12">[j] </span>of <span
-class="cmtt-12">[audio_channels] </span>channels:
+class="cmtt-12">[audio</span><span
+class="cmtt-12">_channels] </span>channels:
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
A. </dt><dd
class="enumerate-enumitem">vector <span
-class="cmtt-12">[vorbis_mapping_mux] </span>element <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_mux] </span>element <span
class="cmtt-12">[j] </span>= read 4 bits as unsigned
integer
</dd><dt class="enumerate-enumitem">
B. </dt><dd
class="enumerate-enumitem">if the value is greater than the highest numbered submap
(<span
-class="cmtt-12">[vorbis_mapping_submaps] </span>- 1), this in an error condition rendering
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_submaps] </span>- 1), this in an error condition rendering
the stream undecodable</dd></dl>
</dd><dt class="enumerate-enumitem">
v. </dt><dd
class="enumerate-enumitem">for each submap <span
class="cmtt-12">[j] </span>of <span
-class="cmtt-12">[vorbis_mapping_submaps] </span>submaps, read the floor and
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_submaps] </span>submaps, read the floor and
residue numbers for use in decoding that submap:
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
A. </dt><dd
B. </dt><dd
class="enumerate-enumitem">read 8 bits as unsigned integer for the floor number; save in vector
<span
-class="cmtt-12">[vorbis_mapping_submap_floor] </span>element <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_submap</span><span
+class="cmtt-12">_floor] </span>element <span
class="cmtt-12">[j]</span>
</dd><dt class="enumerate-enumitem">
C. </dt><dd
D. </dt><dd
class="enumerate-enumitem">read 8 bits as unsigned integer for the residue number; save in vector
<span
-class="cmtt-12">[vorbis_mapping_submap_residue] </span>element <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_submap</span><span
+class="cmtt-12">_residue] </span>element <span
class="cmtt-12">[j]</span>
-
-
-
</dd><dt class="enumerate-enumitem">
E. </dt><dd
class="enumerate-enumitem">verify the residue number is not greater than the highest number residue
class="enumerate-enumitem">save this mapping configuration in slot <span
class="cmtt-12">[i] </span>of the mapping configuration array
<span
-class="cmtt-12">[vorbis_mapping_configurations]</span>.</dd></dl>
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_configurations]</span>.</dd></dl>
</dd></dl>
+
+
+
</dd></dl>
-<!--l. 247--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-700004.2.4"></a><span
+<!--l. 246--><p class="noindent" ><span class="paragraphHead"><a
+ id="x1-710004.2.4"></a><span
class="cmbx-12">Modes</span></span>
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[vorbis_mode_count] </span>= read 6 bits as unsigned integer and add one
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mode</span><span
+class="cmtt-12">_count] </span>= read 6 bits as unsigned integer and add one
</dd><dt class="enumerate-enumitem">
2. </dt><dd
class="enumerate-enumitem">For each of <span
-class="cmtt-12">[vorbis_mode_count] </span>mode numbers:
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mode</span><span
+class="cmtt-12">_count] </span>mode numbers:
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
a) </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[vorbis_mode_blockflag] </span>= read 1 bit
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mode</span><span
+class="cmtt-12">_blockflag] </span>= read 1 bit
</dd><dt class="enumerate-enumitem">
b) </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[vorbis_mode_windowtype] </span>= read 16 bits as unsigned integer
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mode</span><span
+class="cmtt-12">_windowtype] </span>= read 16 bits as unsigned integer
</dd><dt class="enumerate-enumitem">
c) </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[vorbis_mode_transformtype] </span>= read 16 bits as unsigned integer
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mode</span><span
+class="cmtt-12">_transformtype] </span>= read 16 bits as unsigned integer
</dd><dt class="enumerate-enumitem">
d) </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[vorbis_mode_mapping] </span>= read 8 bits as unsigned integer
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mode</span><span
+class="cmtt-12">_mapping] </span>= read 8 bits as unsigned integer
</dd><dt class="enumerate-enumitem">
e) </dt><dd
class="enumerate-enumitem">verify ranges; zero is the only legal value in
Vorbis I for <span
-class="cmtt-12">[vorbis_mode_windowtype] </span>and <span
-class="cmtt-12">[vorbis_mode_transformtype]</span>.
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mode</span><span
+class="cmtt-12">_windowtype] </span>and <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mode</span><span
+class="cmtt-12">_transformtype]</span>.
<span
-class="cmtt-12">[vorbis_mode_mapping] </span>must not be greater than the highest number mapping
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mode</span><span
+class="cmtt-12">_mapping] </span>must not be greater than the highest number mapping
in use. Any illegal values render the stream undecodable.
</dd><dt class="enumerate-enumitem">
f) </dt><dd
class="enumerate-enumitem">save this mode configuration in slot <span
class="cmtt-12">[i] </span>of the mode configuration array
<span
-class="cmtt-12">[vorbis_mode_configurations]</span>.</dd></dl>
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mode</span><span
+class="cmtt-12">_configurations]</span>.</dd></dl>
</dd><dt class="enumerate-enumitem">
3. </dt><dd
class="enumerate-enumitem">read 1 bit as a framing flag. If unset, a framing error occurred and the stream is not
decodable.</dd></dl>
+<!--l. 267--><p class="noindent" >After reading mode descriptions, setup header decode is complete.
+<!--l. 276--><p class="noindent" >
+<h4 class="subsectionHead"><span class="titlemark">4.3. </span> <a
+ id="x1-720004.3"></a>Audio packet decode and synthesis</h4>
-<!--l. 268--><p class="noindent" >After reading mode descriptions, setup header decode is complete.
-<!--l. 277--><p class="noindent" >
-<h4 class="subsectionHead"><span class="titlemark">4.3. </span> <a
- id="x1-710004.3"></a>Audio packet decode and synthesis</h4>
-<!--l. 279--><p class="noindent" >Following the three header packets, all packets in a Vorbis I stream are audio. The first step of
+<!--l. 278--><p class="noindent" >Following the three header packets, all packets in a Vorbis I stream are audio. The first step of
audio packet decode is to read and verify the packet type. <span
class="cmti-12">A non-audio packet when audio is</span>
<span
class="cmti-12">expected indicates stream corruption or a non-compliant stream. The decoder must ignore the</span>
<span
class="cmti-12">packet and not attempt decoding it to audio</span>.
-<!--l. 286--><p class="noindent" >
+<!--l. 285--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">4.3.1. </span> <a
- id="x1-720004.3.1"></a>packet type, mode and window decode</h5>
-<!--l. 289--><p class="noindent" >
+ id="x1-730004.3.1"></a>packet type, mode and window decode</h5>
+<!--l. 288--><p class="noindent" >
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
class="enumerate-enumitem">read 1 bit <span
-class="cmtt-12">[packet_type]</span>; check that packet type is 0 (audio)
+class="cmtt-12">[packet</span><span
+class="cmtt-12">_type]</span>; check that packet type is 0 (audio)
</dd><dt class="enumerate-enumitem">
2. </dt><dd
class="enumerate-enumitem">read <a
-href="#x1-1170009.2.1">ilog</a>([vorbis_mode_count]-1) bits <span
-class="cmtt-12">[mode_number]</span>
+href="#x1-1190009.2.1">ilog</a>([vorbis_mode_count]-1) bits <span
+class="cmtt-12">[mode</span><span
+class="cmtt-12">_number]</span>
</dd><dt class="enumerate-enumitem">
3. </dt><dd
class="enumerate-enumitem">decode blocksize <span
class="cmtt-12">[n] </span>is equal to <span
-class="cmtt-12">[blocksize_0] </span>if <span
-class="cmtt-12">[vorbis_mode_blockflag] </span>is 0,
+class="cmtt-12">[blocksize</span><span
+class="cmtt-12">_0] </span>if <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mode</span><span
+class="cmtt-12">_blockflag] </span>is 0,
else <span
class="cmtt-12">[n] </span>is equal to <span
-class="cmtt-12">[blocksize_1]</span>.
+class="cmtt-12">[blocksize</span><span
+class="cmtt-12">_1]</span>.
</dd><dt class="enumerate-enumitem">
4. </dt><dd
class="enumerate-enumitem">perform window selection and setup; this window is used later by the inverse
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
a) </dt><dd
class="enumerate-enumitem">if this is a long window (the <span
-class="cmtt-12">[vorbis_mode_blockflag] </span>flag of this mode is
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mode</span><span
+class="cmtt-12">_blockflag] </span>flag of this mode is
set):
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
i. </dt><dd
class="enumerate-enumitem">read 1 bit for <span
-class="cmtt-12">[previous_window_flag]</span>
+class="cmtt-12">[previous</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_flag]</span>
</dd><dt class="enumerate-enumitem">
ii. </dt><dd
class="enumerate-enumitem">read 1 bit for <span
-class="cmtt-12">[next_window_flag]</span>
-
-
-
+class="cmtt-12">[next</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_flag]</span>
</dd><dt class="enumerate-enumitem">
iii. </dt><dd
class="enumerate-enumitem">if <span
-class="cmtt-12">[previous_window_flag] </span>is not set, the left half of the window will
+class="cmtt-12">[previous</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_flag] </span>is not set, the left half of the window will
be a hybrid window for lapping with a short block. See <a
href="#paragraph.1" >paragraph <a
href="#x1-260001.3.2">1.3.2</a></a>,
</dd><dt class="enumerate-enumitem">
iv. </dt><dd
class="enumerate-enumitem">if <span
-class="cmtt-12">[next_window_flag] </span>is not set, the right half of the window will be
+class="cmtt-12">[next</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_flag] </span>is not set, the right half of the window will be
a hybrid window for lapping with a short block. See <a
href="#x1-260001.3.2">paragraph 1.3.2</a>,
+
+
+
“<a
href="#x1-260001.3.2">Window shape decode (long windows only)<!--tex4ht:ref: vorbis:spec:window --></a>” for an illustration of
overlapping dissimilar windows. Else, the left right window will have normal
class="enumerate-enumitem">if this is a short window, the window is always the same short-window
shape.</dd></dl>
</dd></dl>
-<!--l. 321--><p class="noindent" >Vorbis windows all use the slope function <span
+<!--l. 320--><p class="noindent" >Vorbis windows all use the slope function <span
class="cmmi-12">y </span>= sin(<img
-src="Vorbis_I_spec1x.png" alt="π2" class="frac" align="middle"> <span
-class="cmsy-10x-x-120">∗</span> sin <sup><span
+src="Vorbis_I_spec1x.png" alt="π
+2" class="frac" align="middle"> <span
+class="cmsy-10x-x-120">*</span> sin <sup><span
class="cmr-8">2</span></sup>((<span
class="cmmi-12">x </span>+ 0<span
class="cmmi-12">.</span>5)<span
class="cmmi-12">∕n </span><span
-class="cmsy-10x-x-120">∗ </span><span
-class="cmmi-12">π</span>)), where <span
+class="cmsy-10x-x-120">* </span><span
+class="cmmi-12">π</span>)), where <span
class="cmmi-12">n </span>is window
size and <span
class="cmmi-12">x </span>ranges 0<span
-class="cmmi-12">…</span><span
+class="cmmi-12">…</span><span
class="cmmi-12">n</span><span
-class="cmsy-10x-x-120">− </span>1, but dissimilar lapping requirements can affect overall shape. Window
+class="cmsy-10x-x-120">- </span>1, but dissimilar lapping requirements can affect overall shape. Window
generation proceeds as follows:
-<!--l. 327--><p class="noindent" >
+<!--l. 326--><p class="noindent" >
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[window_center] </span>= <span
+class="cmtt-12">[window</span><span
+class="cmtt-12">_center] </span>= <span
class="cmtt-12">[n] </span>/ 2
</dd><dt class="enumerate-enumitem">
2. </dt><dd
class="enumerate-enumitem">if (<span
-class="cmtt-12">[vorbis_mode_blockflag] </span>is set and <span
-class="cmtt-12">[previous_window_flag] </span>is not set)
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mode</span><span
+class="cmtt-12">_blockflag] </span>is set and <span
+class="cmtt-12">[previous</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_flag] </span>is not set)
then
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
a) </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[left_window_start] </span>= <span
+class="cmtt-12">[left</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_start] </span>= <span
class="cmtt-12">[n]</span>/4 - <span
-class="cmtt-12">[blocksize_0]</span>/4
+class="cmtt-12">[blocksize</span><span
+class="cmtt-12">_0]</span>/4
</dd><dt class="enumerate-enumitem">
b) </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[left_window_end] </span>= <span
+class="cmtt-12">[left</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_end] </span>= <span
class="cmtt-12">[n]</span>/4 + <span
-class="cmtt-12">[blocksize_0]</span>/4
+class="cmtt-12">[blocksize</span><span
+class="cmtt-12">_0]</span>/4
</dd><dt class="enumerate-enumitem">
c) </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[left_n] </span>= <span
-class="cmtt-12">[blocksize_0]</span>/2</dd></dl>
- <!--l. 336--><p class="noindent" >else
+class="cmtt-12">[left</span><span
+class="cmtt-12">_n] </span>= <span
+class="cmtt-12">[blocksize</span><span
+class="cmtt-12">_0]</span>/2</dd></dl>
+ <!--l. 335--><p class="noindent" >else
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
a) </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[left_window_start] </span>= 0
+class="cmtt-12">[left</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_start] </span>= 0
</dd><dt class="enumerate-enumitem">
b) </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[left_window_end] </span>= <span
-class="cmtt-12">[window_center]</span>
-
-
-
+class="cmtt-12">[left</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_end] </span>= <span
+class="cmtt-12">[window</span><span
+class="cmtt-12">_center]</span>
</dd><dt class="enumerate-enumitem">
c) </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[left_n] </span>= <span
+class="cmtt-12">[left</span><span
+class="cmtt-12">_n] </span>= <span
class="cmtt-12">[n]</span>/2</dd></dl>
</dd><dt class="enumerate-enumitem">
3. </dt><dd
class="enumerate-enumitem">if (<span
-class="cmtt-12">[vorbis_mode_blockflag] </span>is set and <span
-class="cmtt-12">[next_window_flag] </span>is not set) then
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mode</span><span
+class="cmtt-12">_blockflag] </span>is set and <span
+class="cmtt-12">[next</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_flag] </span>is not set) then
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
a) </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[right_window_start] </span>= <span
+class="cmtt-12">[right</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_start] </span>= <span
class="cmtt-12">[n]*3</span>/4 - <span
-class="cmtt-12">[blocksize_0]</span>/4
+class="cmtt-12">[blocksize</span><span
+class="cmtt-12">_0]</span>/4
</dd><dt class="enumerate-enumitem">
b) </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[right_window_end] </span>= <span
+class="cmtt-12">[right</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_end] </span>= <span
class="cmtt-12">[n]*3</span>/4 + <span
-class="cmtt-12">[blocksize_0]</span>/4
+class="cmtt-12">[blocksize</span><span
+class="cmtt-12">_0]</span>/4
+
+
+
</dd><dt class="enumerate-enumitem">
c) </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[right_n] </span>= <span
-class="cmtt-12">[blocksize_0]</span>/2</dd></dl>
- <!--l. 352--><p class="noindent" >else
+class="cmtt-12">[right</span><span
+class="cmtt-12">_n] </span>= <span
+class="cmtt-12">[blocksize</span><span
+class="cmtt-12">_0]</span>/2</dd></dl>
+ <!--l. 351--><p class="noindent" >else
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
a) </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[right_window_start] </span>= <span
-class="cmtt-12">[window_center]</span>
+class="cmtt-12">[right</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_start] </span>= <span
+class="cmtt-12">[window</span><span
+class="cmtt-12">_center]</span>
</dd><dt class="enumerate-enumitem">
b) </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[right_window_end] </span>= <span
+class="cmtt-12">[right</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_end] </span>= <span
class="cmtt-12">[n]</span>
</dd><dt class="enumerate-enumitem">
c) </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[right_n] </span>= <span
+class="cmtt-12">[right</span><span
+class="cmtt-12">_n] </span>= <span
class="cmtt-12">[n]</span>/2</dd></dl>
</dd><dt class="enumerate-enumitem">
4. </dt><dd
class="enumerate-enumitem">window from range 0 ... <span
-class="cmtt-12">[left_window_start]</span>-1 inclusive is zero
+class="cmtt-12">[left</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_start]</span>-1 inclusive is zero
</dd><dt class="enumerate-enumitem">
5. </dt><dd
class="enumerate-enumitem">for <span
class="cmtt-12">[i] </span>in range <span
-class="cmtt-12">[left_window_start] </span>... <span
-class="cmtt-12">[left_window_end]</span>-1, window(<span
+class="cmtt-12">[left</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_start] </span>... <span
+class="cmtt-12">[left</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_end]</span>-1, window(<span
class="cmtt-12">[i]</span>) =
sin(<img
-src="Vorbis_I_spec2x.png" alt="π
+src="Vorbis_I_spec2x.png" alt="π
2" class="frac" align="middle"> <span
-class="cmsy-10x-x-120">∗</span> sin <sup><span
+class="cmsy-10x-x-120">*</span> sin <sup><span
class="cmr-8">2</span></sup>( (<span
class="cmtt-12">[i]</span>-<span
-class="cmtt-12">[left_window_start]</span>+0.5) / <span
-class="cmtt-12">[left_n] </span><span
-class="cmsy-10x-x-120">∗</span><img
-src="Vorbis_I_spec3x.png" alt="π
+class="cmtt-12">[left</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_start]</span>+0.5) / <span
+class="cmtt-12">[left</span><span
+class="cmtt-12">_n] </span><span
+class="cmsy-10x-x-120">*</span><img
+src="Vorbis_I_spec3x.png" alt="π
2" class="frac" align="middle">) )
</dd><dt class="enumerate-enumitem">
6. </dt><dd
class="enumerate-enumitem">window from range <span
-class="cmtt-12">[left_window_end] </span>... <span
-class="cmtt-12">[right_window_start]</span>-1 inclusive is
+class="cmtt-12">[left</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_end] </span>... <span
+class="cmtt-12">[right</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_start]</span>-1 inclusive is
one
</dd><dt class="enumerate-enumitem">
7. </dt><dd
class="enumerate-enumitem">for <span
class="cmtt-12">[i] </span>in range <span
-class="cmtt-12">[right_window_start] </span>... <span
-class="cmtt-12">[right_window_end]</span>-1, window(<span
+class="cmtt-12">[right</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_start] </span>... <span
+class="cmtt-12">[right</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_end]</span>-1, window(<span
class="cmtt-12">[i]</span>) =
sin(<img
-src="Vorbis_I_spec4x.png" alt="π
-2" class="frac" align="middle"> <span
-class="cmsy-10x-x-120">∗</span> sin <sup><span
+src="Vorbis_I_spec4x.png" alt="π2" class="frac" align="middle"> <span
+class="cmsy-10x-x-120">*</span> sin <sup><span
class="cmr-8">2</span></sup>( (<span
class="cmtt-12">[i]</span>-<span
-class="cmtt-12">[right_window_start]</span>+0.5) / <span
-class="cmtt-12">[right_n] </span><span
-class="cmsy-10x-x-120">∗</span><img
-src="Vorbis_I_spec5x.png" alt="π
-2" class="frac" align="middle"> + <img
-src="Vorbis_I_spec6x.png" alt="π
-2" class="frac" align="middle">) )
+class="cmtt-12">[right</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_start]</span>+0.5) / <span
+class="cmtt-12">[right</span><span
+class="cmtt-12">_n] </span><span
+class="cmsy-10x-x-120">*</span><img
+src="Vorbis_I_spec5x.png" alt="π2" class="frac" align="middle"> + <img
+src="Vorbis_I_spec6x.png" alt="π2" class="frac" align="middle">) )
</dd><dt class="enumerate-enumitem">
8. </dt><dd
class="enumerate-enumitem">window from range <span
-class="cmtt-12">[right_window_start] </span>... <span
+class="cmtt-12">[right</span><span
+class="cmtt-12">_window</span><span
+class="cmtt-12">_start] </span>... <span
class="cmtt-12">[n]</span>-1 is zero</dd></dl>
-<!--l. 368--><p class="noindent" >An end-of-packet condition up to this point should be considered an error that discards this
+<!--l. 367--><p class="noindent" >An end-of-packet condition up to this point should be considered an error that discards this
packet from the stream. An end of packet condition past this point is to be considered a possible
nominal occurrence.
-
-
-
-<!--l. 375--><p class="noindent" >
+<!--l. 374--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">4.3.2. </span> <a
- id="x1-730004.3.2"></a>floor curve decode</h5>
-<!--l. 377--><p class="noindent" >From this point on, we assume out decode context is using mode number <span
-class="cmtt-12">[mode_number]</span>
+ id="x1-740004.3.2"></a>floor curve decode</h5>
+<!--l. 376--><p class="noindent" >From this point on, we assume out decode context is using mode number <span
+class="cmtt-12">[mode</span><span
+class="cmtt-12">_number]</span>
from configuration array <span
-class="cmtt-12">[vorbis_mode_configurations] </span>and the map number
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mode</span><span
+class="cmtt-12">_configurations] </span>and the map number
<span
-class="cmtt-12">[vorbis_mode_mapping] </span>(specified by the current mode) taken from the mapping configuration
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mode</span><span
+class="cmtt-12">_mapping] </span>(specified by the current mode) taken from the mapping configuration
array <span
-class="cmtt-12">[vorbis_mapping_configurations]</span>.
-<!--l. 384--><p class="noindent" >Floor curves are decoded one-by-one in channel order.
-<!--l. 386--><p class="noindent" >For each floor <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_configurations]</span>.
+<!--l. 383--><p class="noindent" >Floor curves are decoded one-by-one in channel order.
+
+
+
+<!--l. 385--><p class="noindent" >For each floor <span
class="cmtt-12">[i] </span>of <span
-class="cmtt-12">[audio_channels]</span>
+class="cmtt-12">[audio</span><span
+class="cmtt-12">_channels]</span>
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[submap_number] </span>= element <span
+class="cmtt-12">[submap</span><span
+class="cmtt-12">_number] </span>= element <span
class="cmtt-12">[i] </span>of vector [vorbis_mapping_mux]
</dd><dt class="enumerate-enumitem">
2. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[floor_number] </span>= element <span
-class="cmtt-12">[submap_number] </span>of vector [vorbis_submap_floor]
+class="cmtt-12">[floor</span><span
+class="cmtt-12">_number] </span>= element <span
+class="cmtt-12">[submap</span><span
+class="cmtt-12">_number] </span>of vector [vorbis_submap_floor]
</dd><dt class="enumerate-enumitem">
3. </dt><dd
class="enumerate-enumitem">if the floor type of this floor (vector
<span
-class="cmtt-12">[vorbis_floor_types] </span>element <span
-class="cmtt-12">[floor_number]</span>) is zero then decode the floor for
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_floor</span><span
+class="cmtt-12">_types] </span>element <span
+class="cmtt-12">[floor</span><span
+class="cmtt-12">_number]</span>) is zero then decode the floor for
channel <span
class="cmtt-12">[i] </span>according to the <a
-href="#x1-930006.2.2">subsubsection 6.2.2</a>, “<a
-href="#x1-930006.2.2">packet decode<!--tex4ht:ref: vorbis:spec:floor0-decode --></a>”
+href="#x1-940006.2.2">subsubsection 6.2.2</a>, “<a
+href="#x1-940006.2.2">packet decode<!--tex4ht:ref: vorbis:spec:floor0-decode --></a>”
</dd><dt class="enumerate-enumitem">
4. </dt><dd
class="enumerate-enumitem">if the type of this floor is one then decode the floor for channel <span
class="cmtt-12">[i] </span>according to the
<a
-href="#x1-1000007.2.3">subsubsection 7.2.3</a>, “<a
-href="#x1-1000007.2.3">packet decode<!--tex4ht:ref: vorbis:spec:floor1-decode --></a>”
+href="#x1-1020007.2.3">subsubsection 7.2.3</a>, “<a
+href="#x1-1020007.2.3">packet decode<!--tex4ht:ref: vorbis:spec:floor1-decode --></a>”
</dd><dt class="enumerate-enumitem">
5. </dt><dd
class="enumerate-enumitem">save the needed decoded floor information for channel for later synthesis
</dd><dt class="enumerate-enumitem">
6. </dt><dd
class="enumerate-enumitem">if the decoded floor returned ’unused’, set vector <span
-class="cmtt-12">[no_residue] </span>element <span
+class="cmtt-12">[no</span><span
+class="cmtt-12">_residue] </span>element <span
class="cmtt-12">[i] </span>to true,
else set vector <span
-class="cmtt-12">[no_residue] </span>element <span
+class="cmtt-12">[no</span><span
+class="cmtt-12">_residue] </span>element <span
class="cmtt-12">[i] </span>to false</dd></dl>
-<!--l. 406--><p class="noindent" >An end-of-packet condition during floor decode shall result in packet decode zeroing all channel
+<!--l. 405--><p class="noindent" >An end-of-packet condition during floor decode shall result in packet decode zeroing all channel
output vectors and skipping to the add/overlap output stage.
-<!--l. 412--><p class="noindent" >
+<!--l. 411--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">4.3.3. </span> <a
- id="x1-740004.3.3"></a>nonzero vector propagate</h5>
-<!--l. 414--><p class="noindent" >A possible result of floor decode is that a specific vector is marked ’unused’ which indicates that
+ id="x1-750004.3.3"></a>nonzero vector propagate</h5>
+<!--l. 413--><p class="noindent" >A possible result of floor decode is that a specific vector is marked ’unused’ which indicates that
that final output vector is all-zero values (and the floor is zero). The residue for that vector is not
coded in the stream, save for one complication. If some vectors are used and some are not,
-
-
-
channel coupling could result in mixing a zeroed and nonzeroed vector to produce two nonzeroed
vectors.
-<!--l. 421--><p class="noindent" >for each <span
+<!--l. 420--><p class="noindent" >for each <span
class="cmtt-12">[i] </span>from 0 ... <span
-class="cmtt-12">[vorbis_mapping_coupling_steps]</span>-1
-<!--l. 424--><p class="noindent" >
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_coupling</span><span
+class="cmtt-12">_steps]</span>-1
+<!--l. 423--><p class="noindent" >
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
class="enumerate-enumitem">if either <span
-class="cmtt-12">[no_residue] </span>entry for channel (<span
-class="cmtt-12">[vorbis_mapping_magnitude] </span>element
+class="cmtt-12">[no</span><span
+class="cmtt-12">_residue] </span>entry for channel (<span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_magnitude] </span>element
<span
class="cmtt-12">[i]</span>) or channel (<span
-class="cmtt-12">[vorbis_mapping_angle] </span>element <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_angle] </span>element <span
class="cmtt-12">[i]</span>) are set to false, then both
must be set to false. Note that an ’unused’ floor has no decoded floor information; it
+
+
+
is important that this is remembered at floor curve synthesis time.</dd></dl>
-<!--l. 436--><p class="noindent" >
+<!--l. 435--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">4.3.4. </span> <a
- id="x1-750004.3.4"></a>residue decode</h5>
-<!--l. 438--><p class="noindent" >Unlike floors, which are decoded in channel order, the residue vectors are decoded in submap
+ id="x1-760004.3.4"></a>residue decode</h5>
+<!--l. 437--><p class="noindent" >Unlike floors, which are decoded in channel order, the residue vectors are decoded in submap
order.
-<!--l. 441--><p class="noindent" >for each submap <span
+<!--l. 440--><p class="noindent" >for each submap <span
class="cmtt-12">[i] </span>in order from 0 ... <span
-class="cmtt-12">[vorbis_mapping_submaps]</span>-1
-<!--l. 444--><p class="noindent" >
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_submaps]</span>-1
+<!--l. 443--><p class="noindent" >
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
class="enumerate-enumitem"><span
2. </dt><dd
class="enumerate-enumitem">for each channel <span
class="cmtt-12">[j] </span>in order from 0 ... <span
-class="cmtt-12">[audio_channels] </span>- 1
+class="cmtt-12">[audio</span><span
+class="cmtt-12">_channels] </span>- 1
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
a) </dt><dd
class="enumerate-enumitem">if channel <span
class="cmtt-12">[j] </span>in submap <span
class="cmtt-12">[i] </span>(vector <span
-class="cmtt-12">[vorbis_mapping_mux] </span>element <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_mux] </span>element <span
class="cmtt-12">[j] </span>is equal to
<span
class="cmtt-12">[i]</span>)
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
i. </dt><dd
class="enumerate-enumitem">if vector <span
-class="cmtt-12">[no_residue] </span>element <span
+class="cmtt-12">[no</span><span
+class="cmtt-12">_residue] </span>element <span
class="cmtt-12">[j] </span>is true
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
A. </dt><dd
class="enumerate-enumitem">vector <span
-class="cmtt-12">[do_not_decode_flag] </span>element <span
+class="cmtt-12">[do</span><span
+class="cmtt-12">_not</span><span
+class="cmtt-12">_decode</span><span
+class="cmtt-12">_flag] </span>element <span
class="cmtt-12">[ch] </span>is set</dd></dl>
- <!--l. 453--><p class="noindent" >else
+ <!--l. 452--><p class="noindent" >else
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
A. </dt><dd
class="enumerate-enumitem">vector <span
-class="cmtt-12">[do_not_decode_flag] </span>element <span
+class="cmtt-12">[do</span><span
+class="cmtt-12">_not</span><span
+class="cmtt-12">_decode</span><span
+class="cmtt-12">_flag] </span>element <span
class="cmtt-12">[ch] </span>is unset</dd></dl>
</dd><dt class="enumerate-enumitem">
ii. </dt><dd
class="enumerate-enumitem">increment <span
class="cmtt-12">[ch]</span></dd></dl>
-
-
-
</dd></dl>
</dd><dt class="enumerate-enumitem">
3. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[residue_number] </span>= vector <span
-class="cmtt-12">[vorbis_mapping_submap_residue] </span>element <span
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_number] </span>= vector <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_submap</span><span
+class="cmtt-12">_residue] </span>element <span
class="cmtt-12">[i]</span>
</dd><dt class="enumerate-enumitem">
4. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[residue_type] </span>= vector <span
-class="cmtt-12">[vorbis_residue_types] </span>element <span
-class="cmtt-12">[residue_number]</span>
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_type] </span>= vector <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_residue</span><span
+class="cmtt-12">_types] </span>element <span
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_number]</span>
</dd><dt class="enumerate-enumitem">
5. </dt><dd
class="enumerate-enumitem">decode <span
class="cmtt-12">[ch] </span>vectors using residue <span
-class="cmtt-12">[residue_number]</span>, according to type <span
-class="cmtt-12">[residue_type]</span>,
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_number]</span>, according to type <span
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_type]</span>,
+
+
+
also passing vector <span
-class="cmtt-12">[do_not_decode_flag] </span>to indicate which vectors in the bundle should
+class="cmtt-12">[do</span><span
+class="cmtt-12">_not</span><span
+class="cmtt-12">_decode</span><span
+class="cmtt-12">_flag] </span>to indicate which vectors in the bundle should
not be decoded. Correct per-vector decode length is <span
class="cmtt-12">[n]</span>/2.
</dd><dt class="enumerate-enumitem">
7. </dt><dd
class="enumerate-enumitem">for each channel <span
class="cmtt-12">[j] </span>in order from 0 ... <span
-class="cmtt-12">[audio_channels]</span>
+class="cmtt-12">[audio</span><span
+class="cmtt-12">_channels]</span>
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
a) </dt><dd
class="enumerate-enumitem">if channel <span
class="cmtt-12">[j] </span>is in submap <span
class="cmtt-12">[i] </span>(vector <span
-class="cmtt-12">[vorbis_mapping_mux] </span>element <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_mux] </span>element <span
class="cmtt-12">[j] </span>is equal
to <span
class="cmtt-12">[i]</span>)
class="cmtt-12">[ch]</span></dd></dl>
</dd></dl>
</dd></dl>
-<!--l. 480--><p class="noindent" >
+<!--l. 479--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">4.3.5. </span> <a
- id="x1-760004.3.5"></a>inverse coupling</h5>
-<!--l. 482--><p class="noindent" >for each <span
+ id="x1-770004.3.5"></a>inverse coupling</h5>
+<!--l. 481--><p class="noindent" >for each <span
class="cmtt-12">[i] </span>from <span
-class="cmtt-12">[vorbis_mapping_coupling_steps]</span>-1 descending to 0
-<!--l. 485--><p class="noindent" >
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_coupling</span><span
+class="cmtt-12">_steps]</span>-1 descending to 0
+<!--l. 484--><p class="noindent" >
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[magnitude_vector] </span>= the residue vector for channel (vector
+class="cmtt-12">[magnitude</span><span
+class="cmtt-12">_vector] </span>= the residue vector for channel (vector
<span
-class="cmtt-12">[vorbis_mapping_magnitude] </span>element <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_magnitude] </span>element <span
class="cmtt-12">[i]</span>)
</dd><dt class="enumerate-enumitem">
2. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[angle_vector] </span>= the residue vector for channel (vector <span
-class="cmtt-12">[vorbis_mapping_angle]</span>
-
-
-
+class="cmtt-12">[angle</span><span
+class="cmtt-12">_vector] </span>= the residue vector for channel (vector <span
+class="cmtt-12">[vorbis</span><span
+class="cmtt-12">_mapping</span><span
+class="cmtt-12">_angle]</span>
element <span
class="cmtt-12">[i]</span>)
</dd><dt class="enumerate-enumitem">
3. </dt><dd
class="enumerate-enumitem">for each scalar value <span
class="cmtt-12">[M] </span>in vector <span
-class="cmtt-12">[magnitude_vector] </span>and the corresponding scalar value
+class="cmtt-12">[magnitude</span><span
+class="cmtt-12">_vector] </span>and the corresponding scalar value
<span
class="cmtt-12">[A] </span>in vector <span
-class="cmtt-12">[angle_vector]</span>:
+class="cmtt-12">[angle</span><span
+class="cmtt-12">_vector]</span>:
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
a) </dt><dd
class="enumerate-enumitem">if (<span
class="cmtt-12">[M] </span>is greater than zero)
+
+
+
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
i. </dt><dd
class="enumerate-enumitem">if (<span
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
A. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[new_M] </span>= <span
+class="cmtt-12">[new</span><span
+class="cmtt-12">_M] </span>= <span
class="cmtt-12">[M]</span>
</dd><dt class="enumerate-enumitem">
B. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[new_A] </span>= <span
+class="cmtt-12">[new</span><span
+class="cmtt-12">_A] </span>= <span
class="cmtt-12">[M]</span>-<span
class="cmtt-12">[A]</span></dd></dl>
- <!--l. 498--><p class="noindent" >else
+ <!--l. 497--><p class="noindent" >else
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
A. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[new_A] </span>= <span
+class="cmtt-12">[new</span><span
+class="cmtt-12">_A] </span>= <span
class="cmtt-12">[M]</span>
</dd><dt class="enumerate-enumitem">
B. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[new_M] </span>= <span
+class="cmtt-12">[new</span><span
+class="cmtt-12">_M] </span>= <span
class="cmtt-12">[M]</span>+<span
class="cmtt-12">[A]</span></dd></dl>
</dd></dl>
- <!--l. 505--><p class="noindent" >else
+ <!--l. 504--><p class="noindent" >else
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
i. </dt><dd
class="enumerate-enumitem">if (<span
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
A. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[new_M] </span>= <span
+class="cmtt-12">[new</span><span
+class="cmtt-12">_M] </span>= <span
class="cmtt-12">[M]</span>
</dd><dt class="enumerate-enumitem">
B. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[new_A] </span>= <span
+class="cmtt-12">[new</span><span
+class="cmtt-12">_A] </span>= <span
class="cmtt-12">[M]</span>+<span
class="cmtt-12">[A]</span></dd></dl>
- <!--l. 512--><p class="noindent" >else
+ <!--l. 511--><p class="noindent" >else
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
A. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[new_A] </span>= <span
+class="cmtt-12">[new</span><span
+class="cmtt-12">_A] </span>= <span
class="cmtt-12">[M]</span>
</dd><dt class="enumerate-enumitem">
B. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[new_M] </span>= <span
+class="cmtt-12">[new</span><span
+class="cmtt-12">_M] </span>= <span
class="cmtt-12">[M]</span>-<span
class="cmtt-12">[A]</span></dd></dl>
</dd></dl>
b) </dt><dd
class="enumerate-enumitem">set scalar value <span
class="cmtt-12">[M] </span>in vector <span
-class="cmtt-12">[magnitude_vector] </span>to <span
-class="cmtt-12">[new_M]</span>
-
-
-
+class="cmtt-12">[magnitude</span><span
+class="cmtt-12">_vector] </span>to <span
+class="cmtt-12">[new</span><span
+class="cmtt-12">_M]</span>
</dd><dt class="enumerate-enumitem">
c) </dt><dd
class="enumerate-enumitem">set scalar value <span
class="cmtt-12">[A] </span>in vector <span
-class="cmtt-12">[angle_vector] </span>to <span
-class="cmtt-12">[new_A]</span></dd></dl>
+class="cmtt-12">[angle</span><span
+class="cmtt-12">_vector] </span>to <span
+class="cmtt-12">[new</span><span
+class="cmtt-12">_A]</span></dd></dl>
</dd></dl>
-<!--l. 529--><p class="noindent" >
+
+
+
+<!--l. 528--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">4.3.6. </span> <a
- id="x1-770004.3.6"></a>dot product</h5>
-<!--l. 531--><p class="noindent" >For each channel, synthesize the floor curve from the decoded floor information, according to
+ id="x1-780004.3.6"></a>dot product</h5>
+<!--l. 530--><p class="noindent" >For each channel, synthesize the floor curve from the decoded floor information, according to
packet type. Note that the vector synthesis length for floor computation is <span
class="cmtt-12">[n]</span>/2.
-<!--l. 535--><p class="noindent" >For each channel, multiply each element of the floor curve by each element of that
+<!--l. 534--><p class="noindent" >For each channel, multiply each element of the floor curve by each element of that
channel’s residue vector. The result is the dot product of the floor and residue vectors for
each channel; the produced vectors are the length <span
class="cmtt-12">[n]</span>/2 audio spectrum for each
channel.
-<!--l. 543--><p class="noindent" >One point is worth mentioning about this dot product; a common mistake in a fixed point
+<!--l. 542--><p class="noindent" >One point is worth mentioning about this dot product; a common mistake in a fixed point
implementation might be to assume that a 32 bit fixed-point representation for floor and
residue and direct multiplication of the vectors is sufficient for acceptable spectral depth
in all cases because it happens to mostly work with the current Xiph.Org reference
encoder.
-<!--l. 550--><p class="noindent" >However, floor vector values can span <span
-class="cmsy-10x-x-120">∼</span>140dB (<span
-class="cmsy-10x-x-120">∼</span>24 bits unsigned), and the audio spectrum
+<!--l. 549--><p class="noindent" >However, floor vector values can span <span
+class="cmsy-10x-x-120">~</span>140dB (<span
+class="cmsy-10x-x-120">~</span>24 bits unsigned), and the audio spectrum
vector should represent a minimum of 120dB (<span
-class="cmsy-10x-x-120">∼</span>21 bits with sign), even when output is to a 16
+class="cmsy-10x-x-120">~</span>21 bits with sign), even when output is to a 16
bit PCM device. For the residue vector to represent full scale if the floor is nailed
to <span
-class="cmsy-10x-x-120">−</span>140dB, it must be able to span 0 to +140dB. For the residue vector to reach
+class="cmsy-10x-x-120">-</span>140dB, it must be able to span 0 to +140dB. For the residue vector to reach
full scale if the floor is nailed at 0dB, it must be able to represent <span
-class="cmsy-10x-x-120">−</span>140dB to +0dB.
+class="cmsy-10x-x-120">-</span>140dB to +0dB.
Thus, in order to handle full range dynamics, a residue vector may span <span
-class="cmsy-10x-x-120">−</span>140dB to
+class="cmsy-10x-x-120">-</span>140dB to
+140dB entirely within spec. A 280dB range is approximately 48 bits with sign; thus the
residue vector must be able to represent a 48 bit range and the dot product must
be able to handle an effective 48 bit times 24 bit multiplication. This range may be
achieved using large (64 bit or larger) integers, or implementing a movable binary point
representation.
-<!--l. 567--><p class="noindent" >
+<!--l. 566--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">4.3.7. </span> <a
- id="x1-780004.3.7"></a>inverse MDCT</h5>
-<!--l. 569--><p class="noindent" >Convert the audio spectrum vector of each channel back into time domain PCM audio via an
-
-
-
+ id="x1-790004.3.7"></a>inverse MDCT</h5>
+<!--l. 568--><p class="noindent" >Convert the audio spectrum vector of each channel back into time domain PCM audio via an
inverse Modified Discrete Cosine Transform (MDCT). A detailed description of the MDCT is
available in <span class="cite">[<a
href="#XSporer/Brandenburg/Edler">1</a>]</span>. The window function used for the MDCT is the function described
earlier.
-<!--l. 576--><p class="noindent" >
+
+
+
+<!--l. 575--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">4.3.8. </span> <a
- id="x1-790004.3.8"></a>overlap_add</h5>
-<!--l. 578--><p class="noindent" >Windowed MDCT output is overlapped and added with the right hand data of the previous
+ id="x1-800004.3.8"></a>overlap_add</h5>
+<!--l. 577--><p class="noindent" >Windowed MDCT output is overlapped and added with the right hand data of the previous
window such that the 3/4 point of the previous window is aligned with the 1/4 point of the
current window (as illustrated in <a
href="#x1-260001.3.2">paragraph 1.3.2</a>, “<a
range does not actually overlap. This does not damage transform orthogonality. Pay
attention however to returning the correct data range; the amount of data to be returned
is:
-<!--l. 592--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb22">
-<a
- id="x1-79002r1"></a><span
+<!--l. 591--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb22"><a
+ id="x1-80002r1"></a><span
class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> window\_blocksize(previous\_window)/4+window\_blocksize(current\_window)/4</span>
-</div>
-<!--l. 596--><p class="noindent" >from the center (element windowsize/2) of the previous window to the center (element
+class="cmtt-8">window_blocksize(previous_window)/4+window_blocksize(current_window)/4</span></div>
+<!--l. 595--><p class="noindent" >from the center (element windowsize/2) of the previous window to the center (element
windowsize/2-1, inclusive) of the current window.
-<!--l. 599--><p class="noindent" >Data is not returned from the first frame; it must be used to ’prime’ the decode engine. The
+<!--l. 598--><p class="noindent" >Data is not returned from the first frame; it must be used to ’prime’ the decode engine. The
encoder accounts for this priming when calculating PCM offsets; after the first frame, the proper
PCM output offset is ’0’ (as no data has been returned yet).
-<!--l. 606--><p class="noindent" >
+<!--l. 605--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">4.3.9. </span> <a
- id="x1-800004.3.9"></a>output channel order</h5>
-<!--l. 608--><p class="noindent" >Vorbis I specifies only a channel mapping type 0. In mapping type 0, channel mapping is
+ id="x1-810004.3.9"></a>output channel order</h5>
+<!--l. 607--><p class="noindent" >Vorbis I specifies only a channel mapping type 0. In mapping type 0, channel mapping is
implicitly defined as follows for standard audio applications. As of revision 16781 (20100113), the
specification adds defined channel locations for 6.1 and 7.1 surround. Ordering/location for
-
-
-
greater-than-eight channels remains ’left to the implementation’.
-<!--l. 614--><p class="noindent" >These channel orderings refer to order within the encoded stream. It is naturally possible for a
+<!--l. 613--><p class="noindent" >These channel orderings refer to order within the encoded stream. It is naturally possible for a
decoder to produce output with channels in any order. Any such decoder should explicitly
document channel reordering behavior.
-<!--l. 620--><p class="noindent" >
+<!--l. 619--><p class="noindent" >
<dl class="description"><dt class="description">
<span
class="cmssbx-10x-x-120">one channel</span> </dt><dd
class="description">the stream is monophonic
+
+
+
</dd><dt class="description">
<span
class="cmssbx-10x-x-120">two channels</span> </dt><dd
class="cmssbx-10x-x-120">greater than eight channels</span> </dt><dd
class="description">channel use and order is defined by the application
</dd></dl>
-<!--l. 656--><p class="noindent" >Applications using Vorbis for dedicated purposes may define channel mapping as seen fit. Future
+<!--l. 655--><p class="noindent" >Applications using Vorbis for dedicated purposes may define channel mapping as seen fit. Future
channel mappings (such as three and four channel <a
href="http://www.ambisonic.net/" >Ambisonics</a>) will make use of channel
mappings other than mapping 0.
<h3 class="sectionHead"><span class="titlemark">5. </span> <a
- id="x1-810005"></a>comment field and header specification</h3>
-<!--l. 6--><p class="noindent" >
+ id="x1-820005"></a>comment field and header specification</h3>
+<!--l. 5--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">5.1. </span> <a
- id="x1-820005.1"></a>Overview</h4>
-<!--l. 8--><p class="noindent" >The Vorbis text comment header is the second (of three) header packets that begin a Vorbis
+ id="x1-830005.1"></a>Overview</h4>
+<!--l. 7--><p class="noindent" >The Vorbis text comment header is the second (of three) header packets that begin a Vorbis
bitstream. It is meant for short text comments, not arbitrary metadata; arbitrary metadata
belongs in a separate logical bitstream (usually an XML stream type) that provides greater
structure and machine parseability.
-<!--l. 14--><p class="noindent" >The comment field is meant to be used much like someone jotting a quick note on the bottom of
+<!--l. 13--><p class="noindent" >The comment field is meant to be used much like someone jotting a quick note on the bottom of
a CDR. It should be a little information to remember the disc by and explain it to others; a
short, to-the-point text note that need not only be a couple words, but isn’t going to be more
than a short paragraph. The essentials, in other words, whatever they turn out to be,
eg:
-<!--l. 21--><p class="noindent" >
+<!--l. 20--><p class="noindent" >
<div class="quote">
- <!--l. 22--><p class="noindent" >Honest Bob and the Factory-to-Dealer-Incentives, <span
+ <!--l. 21--><p class="noindent" >Honest Bob and the Factory-to-Dealer-Incentives, <span
class="cmti-12">“I’m Still Around”</span>, opening
for Moxy Früvous, 1997.</div>
-<!--l. 29--><p class="noindent" >
+<!--l. 28--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">5.2. </span> <a
- id="x1-830005.2"></a>Comment encoding</h4>
-<!--l. 31--><p class="noindent" >
+ id="x1-840005.2"></a>Comment encoding</h4>
+<!--l. 30--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">5.2.1. </span> <a
- id="x1-840005.2.1"></a>Structure</h5>
-<!--l. 33--><p class="noindent" >The comment header is logically a list of eight-bit-clean vectors; the number of vectors is
+ id="x1-850005.2.1"></a>Structure</h5>
+<!--l. 32--><p class="noindent" >The comment header is logically a list of eight-bit-clean vectors; the number of vectors is
bounded to 2<sup><span
class="cmr-8">32</span></sup> <span
-class="cmsy-10x-x-120">− </span>1 and the length of each vector is limited to 2<sup><span
+class="cmsy-10x-x-120">- </span>1 and the length of each vector is limited to 2<sup><span
class="cmr-8">32</span></sup> <span
-class="cmsy-10x-x-120">− </span>1 bytes. The vector length is
+class="cmsy-10x-x-120">- </span>1 bytes. The vector length is
there is a single vector for vendor name (also 8 bit clean, length encoded in 32 bits). For
example, the 1.0 release of libvorbis set the vendor string to “Xiph.Org libVorbis I
20020717”.
-<!--l. 41--><p class="noindent" >The vector lengths and number of vectors are stored lsb first, according to the bit
+<!--l. 40--><p class="noindent" >The vector lengths and number of vectors are stored lsb first, according to the bit
packing conventions of the vorbis codec. However, since data in the comment header
is octet-aligned, they can simply be read as unaligned 32 bit little endian unsigned
integers.
-<!--l. 46--><p class="noindent" >The comment header is decoded as follows:
-<!--l. 48--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb23">
-<a
- id="x1-84002r1"></a><span
+<!--l. 45--><p class="noindent" >The comment header is decoded as follows:
+<!--l. 47--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb23"><a
+ id="x1-85002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> [vendor\_length]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> integer</span><span
class="cmtt-8"> of</span><span
class="cmtt-8"> 32</span><span
-class="cmtt-8"> bits</span>
-<br class="fancyvrb" /><a
- id="x1-84004r2"></a><span
+class="cmtt-8"> bits</span><br class="fancyvrb" /><a
+ id="x1-85004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> [vendor\_string]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [vendor\_length]</span><span
class="cmtt-8"> octets</span>
<br class="fancyvrb" /><a
- id="x1-84006r3"></a><span
+ id="x1-85006r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> [user\_comment\_list\_length]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> integer</span><span
class="cmtt-8"> of</span><span
class="cmtt-8"> 32</span><span
-class="cmtt-8"> bits</span>
-<br class="fancyvrb" /><a
- id="x1-84008r4"></a><span
+class="cmtt-8"> bits</span><br class="fancyvrb" /><a
+ id="x1-85008r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [user\_comment\_list\_length]</span><span
class="cmtt-8"> times</span><span
class="cmtt-8"> {</span>
<br class="fancyvrb" /><a
- id="x1-84010r5"></a><span
+ id="x1-85010r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> [length]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> integer</span><span
class="cmtt-8"> of</span><span
class="cmtt-8"> 32</span><span
-class="cmtt-8"> bits</span>
-<br class="fancyvrb" /><a
- id="x1-84012r6"></a><span
+class="cmtt-8"> bits</span><br class="fancyvrb" /><a
+ id="x1-85012r6"></a><span
class="cmr-6">6</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
class="cmtt-8"> this</span><span
class="cmtt-8"> iteration’s</span><span
class="cmtt-8"> [length]</span><span
class="cmtt-8"> octets</span>
<br class="fancyvrb" /><a
- id="x1-84014r7"></a><span
+ id="x1-85014r7"></a><span
class="cmr-6">7</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-84016r8"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-85016r8"></a><span
class="cmr-6">8</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
class="cmtt-8"> [framing\_bit]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> single</span><span
class="cmtt-8"> bit</span><span
class="cmtt-8"> as</span><span
-class="cmtt-8"> boolean</span>
-<br class="fancyvrb" /><a
- id="x1-84018r9"></a><span
+class="cmtt-8"> boolean</span><br class="fancyvrb" /><a
+ id="x1-85018r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 8)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> end-of-packet</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> then</span><span
-class="cmtt-8"> ERROR</span>
-<br class="fancyvrb" /><a
- id="x1-84020r10"></a><span
+class="cmtt-8"> ERROR</span><br class="fancyvrb" /><a
+ id="x1-85020r10"></a><span
class="cmr-6">10</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 9)</span><span
-class="cmtt-8"> done.</span>
-</div>
-<!--l. 64--><p class="noindent" >
+class="cmtt-8"> done.</span></div>
+<!--l. 63--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">5.2.2. </span> <a
- id="x1-850005.2.2"></a>Content vector format</h5>
-<!--l. 66--><p class="noindent" >The comment vectors are structured similarly to a UNIX environment variable. That is,
+ id="x1-860005.2.2"></a>Content vector format</h5>
+<!--l. 65--><p class="noindent" >The comment vectors are structured similarly to a UNIX environment variable. That is,
comment fields consist of a field name and a corresponding value and look like:
-<!--l. 70--><p class="noindent" >
+<!--l. 69--><p class="noindent" >
<div class="quote">
- <!--l. 71--><p class="noindent" >
- <div class="fancyvrb" id="fancyvrb24">
-<a
- id="x1-85002r1"></a><span
+ <!--l. 70--><p class="noindent" >
+ <div class="fancyvrb" id="fancyvrb24"><a
+ id="x1-86002r1"></a><span
class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> comment[0]="ARTIST=me";</span>
-<br class="fancyvrb" /><a
- id="x1-85004r2"></a><span
+class="cmtt-8">comment[0]="ARTIST=me";</span><br class="fancyvrb" /><a
+ id="x1-86004r2"></a><span
class="cmr-6">2</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> comment[1]="TITLE=the</span><span
+class="cmtt-8">comment[1]="TITLE=the</span><span
class="cmtt-8"> sound</span><span
class="cmtt-8"> of</span><span
-class="cmtt-8"> Vorbis";</span>
-</div>
+class="cmtt-8"> Vorbis";</span></div>
</div>
-
-
-
-<!--l. 77--><p class="noindent" >The field name is case-insensitive and may consist of ASCII 0x20 through 0x7D, 0x3D (’=’)
+<!--l. 76--><p class="noindent" >The field name is case-insensitive and may consist of ASCII 0x20 through 0x7D, 0x3D (’=’)
excluded. ASCII 0x41 through 0x5A inclusive (characters A-Z) is to be considered equivalent to
ASCII 0x61 through 0x7A inclusive (characters a-z).
-<!--l. 83--><p class="noindent" >The field name is immediately followed by ASCII 0x3D (’=’); this equals sign is used to
+<!--l. 82--><p class="noindent" >The field name is immediately followed by ASCII 0x3D (’=’); this equals sign is used to
terminate the field name.
-<!--l. 87--><p class="noindent" >0x3D is followed by 8 bit clean UTF-8 encoded value of the field contents to the end of the
+<!--l. 86--><p class="noindent" >0x3D is followed by 8 bit clean UTF-8 encoded value of the field contents to the end of the
field.
-<!--l. 91--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-860005.2.2"></a><span
+
+
+
+<!--l. 90--><p class="noindent" ><span class="paragraphHead"><a
+ id="x1-870005.2.2"></a><span
class="cmbx-12">Field names</span></span>
Below is a proposed, minimal list of standard field names with a description of intended use. No
single or group of field names is mandatory; a comment header may contain one, all or none of
the names in this list.
-<!--l. 99--><p class="noindent" >
+<!--l. 98--><p class="noindent" >
<dl class="description"><dt class="description">
<span
class="cmssbx-10x-x-120">TITLE</span> </dt><dd
class="cmssbx-10x-x-120">COPYRIGHT</span> </dt><dd
class="description">Copyright attribution, e.g., ’2001 Nobody’s Band’ or ’1999 Jack Moffitt’
</dd><dt class="description">
-
-
-
<span
class="cmssbx-10x-x-120">LICENSE</span> </dt><dd
-class="description">License information, eg, ’All Rights Reserved’, ’Any Use Permitted’, a URL to
- a license such as a Creative
- Commons license (”www.creativecommons.org/blahblah/license.html”) or the EFF
- Open Audio License (’distributed under the terms of the Open Audio License. see
- http://www.eff.org/IP/Open_licenses/eff_oal.html for details’), etc.
+class="description">License information, for example, ’All Rights Reserved’, ’Any Use
+ Permitted’, a URL to a license such as a Creative Commons license (e.g.
+ ”creativecommons.org/license/by/4.0/”) or similar.
</dd><dt class="description">
<span
class="cmssbx-10x-x-120">ORGANIZATION</span> </dt><dd
<span
class="cmssbx-10x-x-120">GENRE</span> </dt><dd
class="description">A short text indication of music genre
+
+
+
</dd><dt class="description">
<span
class="cmssbx-10x-x-120">DATE</span> </dt><dd
<span
class="cmssbx-10x-x-120">ISRC</span> </dt><dd
class="description">International Standard Recording Code for the track; see <a
-href="http://www.ifpi.org/isrc/" >the ISRC intro page</a> for
+href="https://isrc.ifpi.org/" >the ISRC intro page</a> for
more information on ISRC numbers.
</dd></dl>
-<!--l. 158--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-870005.2.2"></a><span
+<!--l. 154--><p class="noindent" ><span class="paragraphHead"><a
+ id="x1-880005.2.2"></a><span
class="cmbx-12">Implications</span></span>
Field names should not be ’internationalized’; this is a concession to simplicity not
an attempt to exclude the majority of the world that doesn’t speak English. Field
<span
class="cmti-12">contents</span>, however, use the UTF-8 character encoding to allow easy representation of any
language.
-<!--l. 166--><p class="noindent" >We have the length of the entirety of the field and restrictions on the field name so that
+<!--l. 162--><p class="noindent" >We have the length of the entirety of the field and restrictions on the field name so that
the field name is bounded in a known way. Thus we also have the length of the field
contents.
-<!--l. 170--><p class="noindent" >Individual ’vendors’ may use non-standard field names within reason. The proper
+<!--l. 166--><p class="noindent" >Individual ’vendors’ may use non-standard field names within reason. The proper
use of comment fields should be clear through context at this point. Abuse will be
discouraged.
-
-
-
-<!--l. 174--><p class="noindent" >There is no vendor-specific prefix to ’nonstandard’ field names. Vendors should make some effort
+<!--l. 170--><p class="noindent" >There is no vendor-specific prefix to ’nonstandard’ field names. Vendors should make some effort
to avoid arbitrarily polluting the common namespace. We will generally collect the more useful
tags here to help with standardization.
-<!--l. 179--><p class="noindent" >Field names are not required to be unique (occur once) within a comment header. As an
+<!--l. 175--><p class="noindent" >Field names are not required to be unique (occur once) within a comment header. As an
example, assume a track was recorded by three well know artists; the following is permissible,
and encouraged:
-<!--l. 183--><p class="noindent" >
+<!--l. 179--><p class="noindent" >
<div class="quote">
- <!--l. 184--><p class="noindent" >
- <div class="fancyvrb" id="fancyvrb25">
-<a
- id="x1-87002r1"></a><span
+ <!--l. 180--><p class="noindent" >
+ <div class="fancyvrb" id="fancyvrb25"><a
+ id="x1-88002r1"></a><span
class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> ARTIST=Dizzy</span><span
-class="cmtt-8"> Gillespie</span>
-<br class="fancyvrb" /><a
- id="x1-87004r2"></a><span
+class="cmtt-8">ARTIST=Dizzy</span><span
+class="cmtt-8"> Gillespie</span><br class="fancyvrb" /><a
+ id="x1-88004r2"></a><span
class="cmr-6">2</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> ARTIST=Sonny</span><span
-class="cmtt-8"> Rollins</span>
-<br class="fancyvrb" /><a
- id="x1-87006r3"></a><span
+class="cmtt-8">ARTIST=Sonny</span><span
+class="cmtt-8"> Rollins</span><br class="fancyvrb" /><a
+ id="x1-88006r3"></a><span
class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> ARTIST=Sonny</span><span
-class="cmtt-8"> Stitt</span>
-</div>
+class="cmtt-8">ARTIST=Sonny</span><span
+class="cmtt-8"> Stitt</span></div>
+
+
+
</div>
-<!--l. 197--><p class="noindent" >
+<!--l. 193--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">5.2.3. </span> <a
- id="x1-880005.2.3"></a>Encoding</h5>
-<!--l. 199--><p class="noindent" >The comment header comprises the entirety of the second bitstream header packet. Unlike the
+ id="x1-890005.2.3"></a>Encoding</h5>
+<!--l. 195--><p class="noindent" >The comment header comprises the entirety of the second bitstream header packet. Unlike the
first bitstream header packet, it is not generally the only packet on the second page and may not
be restricted to within the second bitstream page. The length of the comment header packet is
(practically) unbounded. The comment header packet is not optional; it must be present in the
bitstream even if it is effectively empty.
-<!--l. 207--><p class="noindent" >The comment header is encoded as follows (as per Ogg’s standard bitstream mapping which
+<!--l. 203--><p class="noindent" >The comment header is encoded as follows (as per Ogg’s standard bitstream mapping which
renders least-significant-bit of the word to be coded into the least significant available bit of the
current bitstream octet first):
-<!--l. 213--><p class="noindent" >
+<!--l. 209--><p class="noindent" >
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
class="enumerate-enumitem">Vendor string length (32 bit unsigned quantity specifying number of octets)
2. </dt><dd
class="enumerate-enumitem">Vendor string ([vendor string length] octets coded from beginning of string to end of
string, not null terminated)
-
-
-
</dd><dt class="enumerate-enumitem">
3. </dt><dd
class="enumerate-enumitem">Number of comment fields (32 bit unsigned quantity specifying number of fields)
class="enumerate-enumitem">Comment field 1 length (if [Number of comment fields] <span
class="cmmi-12">> </span>1...)...
</dd></dl>
-<!--l. 234--><p class="noindent" >This is actually somewhat easier to describe in code; implementation of the above can be found
+<!--l. 230--><p class="noindent" >This is actually somewhat easier to describe in code; implementation of the above can be found
in <span
class="cmtt-12">vorbis/lib/info.c</span>, <span
-class="cmtt-12">_vorbis_pack_comment() </span>and <span
-class="cmtt-12">_vorbis_unpack_comment()</span>.
+class="cmtt-12">_vorbis</span><span
+class="cmtt-12">_pack</span><span
+class="cmtt-12">_comment() </span>and <span
+class="cmtt-12">_vorbis</span><span
+class="cmtt-12">_unpack</span><span
+class="cmtt-12">_comment()</span>.
<h3 class="sectionHead"><span class="titlemark">6. </span> <a
- id="x1-890006"></a>Floor type 0 setup and decode</h3>
-<!--l. 6--><p class="noindent" >
+ id="x1-900006"></a>Floor type 0 setup and decode</h3>
+<!--l. 5--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">6.1. </span> <a
- id="x1-900006.1"></a>Overview</h4>
-<!--l. 8--><p class="noindent" >Vorbis floor type zero uses Line Spectral Pair (LSP, also alternately known as Line Spectral
+ id="x1-910006.1"></a>Overview</h4>
+<!--l. 7--><p class="noindent" >Vorbis floor type zero uses Line Spectral Pair (LSP, also alternately known as Line Spectral
Frequency or LSF) representation to encode a smooth spectral envelope curve as the frequency
response of the LSP filter. This representation is equivalent to a traditional all-pole infinite
impulse response filter as would be used in linear predictive coding; LSP representation may be
converted to LPC representation and vice-versa.
-<!--l. 18--><p class="noindent" >
+<!--l. 17--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">6.2. </span> <a
- id="x1-910006.2"></a>Floor 0 format</h4>
-<!--l. 20--><p class="noindent" >Floor zero configuration consists of six integer fields and a list of VQ codebooks for use in
+ id="x1-920006.2"></a>Floor 0 format</h4>
+<!--l. 19--><p class="noindent" >Floor zero configuration consists of six integer fields and a list of VQ codebooks for use in
coding/decoding the LSP filter coefficient values used by each frame.
-<!--l. 24--><p class="noindent" >
+<!--l. 23--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">6.2.1. </span> <a
- id="x1-920006.2.1"></a>header decode</h5>
-<!--l. 26--><p class="noindent" >Configuration information for instances of floor zero decodes from the codec setup header (third
+ id="x1-930006.2.1"></a>header decode</h5>
+<!--l. 25--><p class="noindent" >Configuration information for instances of floor zero decodes from the codec setup header (third
packet). configuration decode proceeds as follows:
-<!--l. 30--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb26">
-<a
- id="x1-92002r1"></a><span
+<!--l. 29--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb26"><a
+ id="x1-93002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
-class="cmtt-8"> [floor0_order]</span><span
+class="cmtt-8"> [floor0</span><span
+class="cmtt-8">_order]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> an</span><span
class="cmtt-8"> integer</span><span
class="cmtt-8"> of</span><span
class="cmtt-8"> 8</span><span
-class="cmtt-8"> bits</span>
-<br class="fancyvrb" /><a
- id="x1-92004r2"></a><span
+class="cmtt-8"> bits</span><br class="fancyvrb" /><a
+ id="x1-93004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
-class="cmtt-8"> [floor0_rate]</span><span
+class="cmtt-8"> [floor0</span><span
+class="cmtt-8">_rate]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> an</span><span
class="cmtt-8"> 16</span><span
class="cmtt-8"> bits</span>
<br class="fancyvrb" /><a
- id="x1-92006r3"></a><span
+ id="x1-93006r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
-class="cmtt-8"> [floor0_bark_map_size]</span><span
+class="cmtt-8"> [floor0</span><span
+class="cmtt-8">_bark</span><span
+class="cmtt-8">_map</span><span
+class="cmtt-8">_size]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> an</span><span
class="cmtt-8"> integer</span><span
class="cmtt-8"> of</span><span
class="cmtt-8"> 16</span><span
-class="cmtt-8"> bits</span>
-<br class="fancyvrb" /><a
- id="x1-92008r4"></a><span
+class="cmtt-8"> bits</span><br class="fancyvrb" /><a
+ id="x1-93008r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
-class="cmtt-8"> [floor0_amplitude_bits]</span><span
+class="cmtt-8"> [floor0</span><span
+class="cmtt-8">_amplitude</span><span
+class="cmtt-8">_bits]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> an</span><span
class="cmtt-8"> six</span><span
class="cmtt-8"> bits</span>
<br class="fancyvrb" /><a
- id="x1-92010r5"></a><span
+ id="x1-93010r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
-class="cmtt-8"> [floor0_amplitude_offset]</span><span
+class="cmtt-8"> [floor0</span><span
+class="cmtt-8">_amplitude</span><span
+class="cmtt-8">_offset]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> an</span><span
class="cmtt-8"> integer</span><span
class="cmtt-8"> of</span><span
class="cmtt-8"> eight</span><span
-class="cmtt-8"> bits</span>
-<br class="fancyvrb" /><a
- id="x1-92012r6"></a><span
+class="cmtt-8"> bits</span><br class="fancyvrb" /><a
+ id="x1-93012r6"></a><span
class="cmr-6">6</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
-class="cmtt-8"> [floor0_number_of_books]</span><span
+class="cmtt-8"> [floor0</span><span
+class="cmtt-8">_number</span><span
+class="cmtt-8">_of</span><span
+class="cmtt-8">_books]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> an</span><span
class="cmtt-8"> add</span><span
class="cmtt-8"> 1</span>
<br class="fancyvrb" /><a
- id="x1-92014r7"></a><span
+ id="x1-93014r7"></a><span
class="cmr-6">7</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
class="cmtt-8"> array</span><span
-class="cmtt-8"> [floor0_book_list]</span><span
+class="cmtt-8"> [floor0</span><span
+class="cmtt-8">_book</span><span
+class="cmtt-8">_list]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> a</span><span
class="cmtt-8"> list</span><span
class="cmtt-8"> of</span><span
-class="cmtt-8"> [floor0_number_of_books]</span><span
+class="cmtt-8"> [floor0</span><span
+class="cmtt-8">_number</span><span
+class="cmtt-8">_of</span><span
+class="cmtt-8">_books]</span><span
class="cmtt-8"> unsigned</span><span
class="cmtt-8"> integers</span><span
class="cmtt-8"> of</span><span
class="cmtt-8"> eight</span><span
class="cmtt-8"> bits</span><span
-class="cmtt-8"> each;</span>
-</div>
+class="cmtt-8"> each;</span></div>
+<!--l. 39--><p class="noindent" >An end-of-packet condition during any of these bitstream reads renders this stream undecodable.
+In addition, any element of the array <span
+class="cmtt-12">[floor0</span><span
+class="cmtt-12">_book</span><span
+class="cmtt-12">_list] </span>that is greater than the maximum
+codebook number for this bitstream is an error condition that also renders the stream
-<!--l. 40--><p class="noindent" >An end-of-packet condition during any of these bitstream reads renders this stream undecodable.
-In addition, any element of the array <span
-class="cmtt-12">[floor0_book_list] </span>that is greater than the maximum
-codebook number for this bitstream is an error condition that also renders the stream
undecodable.
-<!--l. 48--><p class="noindent" >
+<!--l. 47--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">6.2.2. </span> <a
- id="x1-930006.2.2"></a>packet decode</h5>
-<!--l. 50--><p class="noindent" >Extracting a floor0 curve from an audio packet consists of first decoding the curve
+ id="x1-940006.2.2"></a>packet decode</h5>
+<!--l. 49--><p class="noindent" >Extracting a floor0 curve from an audio packet consists of first decoding the curve
amplitude and <span
-class="cmtt-12">[floor0_order] </span>LSP coefficient values from the bitstream, and then
+class="cmtt-12">[floor0</span><span
+class="cmtt-12">_order] </span>LSP coefficient values from the bitstream, and then
computing the floor curve, which is defined as the frequency response of the decoded LSP
filter.
-<!--l. 56--><p class="noindent" >Packet decode proceeds as follows:
-<div class="fancyvrb" id="fancyvrb27">
-<a
- id="x1-93002r1"></a><span
+<!--l. 55--><p class="noindent" >Packet decode proceeds as follows:
+<div class="fancyvrb" id="fancyvrb27"><a
+ id="x1-94002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> [amplitude]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> unsigned</span><span
class="cmtt-8"> integer</span><span
class="cmtt-8"> of</span><span
-class="cmtt-8"> [floor0_amplitude_bits]</span><span
-class="cmtt-8"> bits</span>
-<br class="fancyvrb" /><a
- id="x1-93004r2"></a><span
+class="cmtt-8"> [floor0</span><span
+class="cmtt-8">_amplitude</span><span
+class="cmtt-8">_bits]</span><span
+class="cmtt-8"> bits</span><br class="fancyvrb" /><a
+ id="x1-94004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> </span><span
class="cmsy-8">{</span>
<br class="fancyvrb" /><a
- id="x1-93006r3"></a><span
+ id="x1-94006r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> [coefficients]</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> empty,</span><span
class="cmtt-8"> zero</span><span
class="cmtt-8"> length</span><span
-class="cmtt-8"> vector</span>
-<br class="fancyvrb" /><a
- id="x1-93008r4"></a><span
+class="cmtt-8"> vector</span><br class="fancyvrb" /><a
+ id="x1-94008r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> [booknumber]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> integer</span><span
class="cmtt-8"> of</span><span
class="cmtt-8"> </span><a
-href="#x1-1170009.2.1"><span
+href="#x1-1190009.2.1"><span
class="cmtt-8">ilog</span></a><span
class="cmtt-8">(</span><span
-class="cmtt-8"> [floor0_number_of_books]</span><span
+class="cmtt-8"> [floor0</span><span
+class="cmtt-8">_number</span><span
+class="cmtt-8">_of</span><span
+class="cmtt-8">_books]</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> bits</span>
<br class="fancyvrb" /><a
- id="x1-93010r5"></a><span
+ id="x1-94010r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> then</span><span
class="cmtt-8"> packet</span><span
class="cmtt-8"> is</span><span
-class="cmtt-8"> undecodable</span>
-<br class="fancyvrb" /><a
- id="x1-93012r6"></a><span
+class="cmtt-8"> undecodable</span><br class="fancyvrb" /><a
+ id="x1-94012r6"></a><span
class="cmr-6">6</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
class="cmtt-8"> [last]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> zero;</span>
<br class="fancyvrb" /><a
- id="x1-93014r7"></a><span
+ id="x1-94014r7"></a><span
class="cmr-6">7</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [temp_vector]</span><span
+class="cmtt-8"> [temp</span><span
+class="cmtt-8">_vector]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> using</span><span
class="cmtt-8"> codebook</span><span
class="cmtt-8"> number</span><span
-class="cmtt-8"> [floor0_book_list]</span><span
+class="cmtt-8"> [floor0</span><span
+class="cmtt-8">_book</span><span
+class="cmtt-8">_list]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [booknumber]</span><span
class="cmtt-8"> in</span><span
class="cmtt-8"> VQ</span><span
class="cmtt-8"> context.</span>
<br class="fancyvrb" /><a
- id="x1-93016r8"></a><span
+ id="x1-94016r8"></a><span
class="cmr-6">8</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 8)</span><span
class="cmtt-8"> add</span><span
class="cmtt-8"> the</span><span
class="cmtt-8"> scalar</span><span
class="cmtt-8"> in</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [temp_vector]</span>
-<br class="fancyvrb" /><a
- id="x1-93018r9"></a><span
+class="cmtt-8"> [temp</span><span
+class="cmtt-8">_vector]</span><br class="fancyvrb" /><a
+ id="x1-94018r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 9)</span><span
class="cmtt-8"> [last]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> scalar</span><span
class="cmtt-8"> in</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [temp_vector]</span>
+class="cmtt-8"> [temp</span><span
+class="cmtt-8">_vector]</span>
<br class="fancyvrb" /><a
- id="x1-93020r10"></a><span
+ id="x1-94020r10"></a><span
class="cmr-6">10</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 10)</span><span
class="cmtt-8"> concatenate</span><span
-class="cmtt-8"> [temp_vector]</span><span
+class="cmtt-8"> [temp</span><span
+class="cmtt-8">_vector]</span><span
class="cmtt-8"> onto</span><span
class="cmtt-8"> the</span><span
class="cmtt-8"> end</span><span
class="cmtt-8"> [coefficients]</span><span
class="cmtt-8"> vector</span>
<br class="fancyvrb" /><a
- id="x1-93022r11"></a><span
+ id="x1-94022r11"></a><span
class="cmr-6">11</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 11)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (length</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> less</span><span
class="cmtt-8"> than</span><span
-class="cmtt-8"> [floor0_order],</span><span
+class="cmtt-8"> [floor0</span><span
+class="cmtt-8">_order],</span><span
class="cmtt-8"> continue</span><span
class="cmtt-8"> at</span><span
class="cmtt-8"> step</span><span
-class="cmtt-8"> 6</span>
-<br class="fancyvrb" /><a
- id="x1-93024r12"></a><span
-class="cmr-6">12</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-93026r13"></a><span
+class="cmtt-8"> 6</span><br class="fancyvrb" /><a
+ id="x1-94024r12"></a><span
+class="cmr-6">12</span><br class="fancyvrb" /><a
+ id="x1-94026r13"></a><span
class="cmr-6">13</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-93028r14"></a><span
-class="cmr-6">14</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-93030r15"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-94028r14"></a><span
+class="cmr-6">14</span><br class="fancyvrb" /><a
+ id="x1-94030r15"></a><span
class="cmr-6">15</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 12)</span><span
-class="cmtt-8"> done.</span>
-<br class="fancyvrb" /><a
- id="x1-93032r16"></a><span
-class="cmr-6">16</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-</div>
-<!--l. 76--><p class="noindent" >Take note of the following properties of decode:
+class="cmtt-8"> done.</span><br class="fancyvrb" /><a
+ id="x1-94032r16"></a><span
+class="cmr-6">16</span></div>
+<!--l. 75--><p class="noindent" >Take note of the following properties of decode:
<ul class="itemize1">
<li class="itemize">An <span
class="cmtt-12">[amplitude] </span>value of zero must result in a return code that indicates this channel
class="cmtt-12">[amplitude] </span>value had read zero at the beginning of decode.
</li>
<li class="itemize">The book number used for decode can, in fact, be stored in the bitstream in <a
-href="#x1-1170009.2.1">ilog</a>(
-
-
-
+href="#x1-1190009.2.1">ilog</a>(
<span
-class="cmtt-12">[floor0_number_of_books] </span>- 1 ) bits. Nevertheless, the above specification is correct
+class="cmtt-12">[floor0</span><span
+class="cmtt-12">_number</span><span
+class="cmtt-12">_of</span><span
+class="cmtt-12">_books] </span>- 1 ) bits. Nevertheless, the above specification is correct
and values greater than the maximum possible book value are reserved.
</li>
<li class="itemize">The number of scalars read into the vector <span
class="cmtt-12">[coefficients] </span>may be greater
than <span
-class="cmtt-12">[floor0_order]</span>, the number actually required for curve computation. For
+class="cmtt-12">[floor0</span><span
+class="cmtt-12">_order]</span>, the number actually required for curve computation. For
example, if the VQ codebook used for the floor currently being decoded has a
<span
-class="cmtt-12">[codebook_dimensions] </span>value of three and <span
-class="cmtt-12">[floor0_order] </span>is ten, the only way to
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_dimensions] </span>value of three and <span
+class="cmtt-12">[floor0</span><span
+class="cmtt-12">_order] </span>is ten, the only way to
fill all the needed scalars in <span
class="cmtt-12">[coefficients] </span>is to to read a total of twelve scalars
as four vectors of three scalars each. This is not an error condition, and care must
be taken not to allow a buffer overflow in decode. The extra values are not used and
+
+
+
may be ignored or discarded.</li></ul>
-<!--l. 104--><p class="noindent" >
+<!--l. 103--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">6.2.3. </span> <a
- id="x1-940006.2.3"></a>curve computation</h5>
-<!--l. 106--><p class="noindent" >Given an <span
+ id="x1-950006.2.3"></a>curve computation</h5>
+<!--l. 105--><p class="noindent" >Given an <span
class="cmtt-12">[amplitude] </span>integer and <span
class="cmtt-12">[coefficients] </span>vector from packet decode as well as
the [floor0_order], [floor0_rate], [floor0_bark_map_size], [floor0_amplitude_bits] and
[floor0_amplitude_offset] values from floor setup, and an output vector size <span
class="cmtt-12">[n] </span>specified by the
decode process, we compute a floor output vector.
-<!--l. 113--><p class="noindent" >If the value <span
+<!--l. 112--><p class="noindent" >If the value <span
class="cmtt-12">[amplitude] </span>is zero, the return value is a length <span
class="cmtt-12">[n] </span>vector with all-zero
scalars. Otherwise, begin by assuming the following definitions for the given vector to be
<center class="par-math-display" >
<img
src="Vorbis_I_spec7x.png" alt=" {
- min (floor0_bark_map_size − 1,foobar ) for i ∈ [0,n − 1 ]
-mapi = − 1 for i = n
+ min (floor0xbarkxmapxsize - 1,f oobar) for i ∈ [0, n - 1]
+mapi = - 1 for i = n
" class="par-math-display" ></center>
-<!--l. 128--><p class="nopar" >
-<!--l. 130--><p class="noindent" >where
+<!--l. 127--><p class="nopar" >
+<!--l. 129--><p class="noindent" >where
<center class="par-math-display" >
<img
-src="Vorbis_I_spec8x.png" alt=" ⌊ ⌋
- (floor0_rate ⋅ i) floor0_bark_map_size
-foobar = bark -------2n------- ⋅-bark(.5 ⋅ floor0_rate-)
+src="Vorbis_I_spec8x.png" alt=" ⌊ ( floor0xrate ⋅ i) floor0xbarkxmapxsize ⌋
+f oobar = bark ---------------- ⋅------------------------
+ 2n bark(.5 ⋅ floor0xrate )
" class="par-math-display" ></center>
-
-
-
-<!--l. 137--><p class="nopar" >
-<!--l. 139--><p class="noindent" >and
+<!--l. 136--><p class="nopar" >
+<!--l. 138--><p class="noindent" >and
<center class="par-math-display" >
<img
-src="Vorbis_I_spec9x.png" alt=" 2
-bark(x) = 13.1arctan (.00074x ) + 2.24 arctan(.0000000185x + .0001x )
+src="Vorbis_I_spec9x.png" alt="bark(x) = 13.1arctan (.00074x ) + 2.24 arctan(.0000000185x2 ) + .0001x
" class="par-math-display" ></center>
-<!--l. 143--><p class="nopar" >
-<!--l. 145--><p class="noindent" >The above is used to synthesize the LSP curve on a Bark-scale frequency axis, then map the
+<!--l. 142--><p class="nopar" >
+
+
+
+<!--l. 144--><p class="noindent" >The above is used to synthesize the LSP curve on a Bark-scale frequency axis, then map the
result to a linear-scale frequency axis. Similarly, the below calculation synthesizes the output
LSP curve <span
class="cmtt-12">[output] </span>on a log (dB) amplitude scale, mapping it to linear amplitude in the last
step:
-<!--l. 151--><p class="noindent" >
+<!--l. 150--><p class="noindent" >
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
class="enumerate-enumitem"><span
2. </dt><dd
class="enumerate-enumitem"><span
class="cmtt-12">[</span><span
-class="cmmi-12">ω</span><span
+class="cmmi-12">ω</span><span
class="cmtt-12">] </span>= <span
-class="cmmi-12">π </span>* map element <span
+class="cmmi-12">π </span>* map element <span
class="cmtt-12">[i] </span>/ <span
-class="cmtt-12">[floor0_bark_map_size]</span>
+class="cmtt-12">[floor0</span><span
+class="cmtt-12">_bark</span><span
+class="cmtt-12">_map</span><span
+class="cmtt-12">_size]</span>
</dd><dt class="enumerate-enumitem">
3. </dt><dd
class="enumerate-enumitem">if ( <span
-class="cmtt-12">[floor0_order] </span>is odd )
+class="cmtt-12">[floor0</span><span
+class="cmtt-12">_order] </span>is odd )
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
a) </dt><dd
class="enumerate-enumitem">calculate <span
class="cmtt-12">[q] </span>according to: <div class="eqnarray">
<center class="math-display" >
<img
-src="Vorbis_I_spec10x.png" alt=" floor0_order−3
- 2 ∏2 2
-p = (1 − cos ω) 4(cos([coefficients ]2j+1) − cosω )
- floor0_order−1 j=0
- 1 ----∏2----
-q = -- 4(cos([coefficients ]2j) − cosω )2
+src="Vorbis_I_spec10x.png" alt=" floor0∏x2order-3
+p = (1 - cos2ω) 4(cos([coefficients ]2j+1) - cosω )2
+ j=0
+ floor0xorder-1
+ 1 ∏2 2
+q = -- 4(cos([coefficients ]2j) - cosω )
4 j=0
-
-
-
" class="math-display" ></center>
</div>
</dd></dl>
- <!--l. 162--><p class="noindent" >else <span
-class="cmtt-12">[floor0_order] </span>is even
+ <!--l. 161--><p class="noindent" >else <span
+class="cmtt-12">[floor0</span><span
+class="cmtt-12">_order] </span>is even
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
- b) </dt><dd
+ a) </dt><dd
class="enumerate-enumitem">calculate <span
class="cmtt-12">[p] </span>and <span
class="cmtt-12">[q] </span>according to: <div class="eqnarray">
+
+
+
<center class="math-display" >
<img
-src="Vorbis_I_spec11x.png" alt=" floor0_order−2
- (1-−-cosω-) ∏2 2
-p = 2 4(cos([coefficients ]2j+1) − cosω)
- j=0
- floor0_∏o2rder−-2
-q = (1-+-cosω-) 4(cos([coefficients ]2j) − cos ω)2
+src="Vorbis_I_spec11x.png" alt=" floor0x∏o2rder-2
+p = (1---cosω-) 4(cos([coefficients ]2j+1) - cosω)2
+ 2 j=0
+ floor0xorder--2
+ (1 + cosω ) ∏2 2
+q = ----------- 4(cos([coefficients ]2j) - cos ω)
2 j=0
" class="math-display" ></center>
</div>
</dd><dt class="enumerate-enumitem">
4. </dt><dd
class="enumerate-enumitem">calculate <span
-class="cmtt-12">[linear_floor_value] </span>according to:
+class="cmtt-12">[linear</span><span
+class="cmtt-12">_floor</span><span
+class="cmtt-12">_value] </span>according to:
<center class="math-display" >
<img
src="Vorbis_I_spec12x.png" alt=" ( ( ))
-exp .11512925 amplitude---⋅ floor0_amplitute_√offset---− floor0_amplitude_offset
- (2floor0_amplitude_bits − 1) p + q
+ amplitude ⋅ floor0xamplitutexoffset
+exp .11512925 ------floor0xamplitudexbits-----√----------- floor0xamplitudexoffset
+ (2 - 1) p + q
" class="math-display" ></center>
- <!--l. 177--><p class="nopar" >
+ <!--l. 176--><p class="nopar" >
</dd><dt class="enumerate-enumitem">
5. </dt><dd
class="enumerate-enumitem"><span
-class="cmtt-12">[iteration_condition] </span>= map element <span
+class="cmtt-12">[iteration</span><span
+class="cmtt-12">_condition] </span>= map element <span
class="cmtt-12">[i]</span>
-
-
-
</dd><dt class="enumerate-enumitem">
6. </dt><dd
class="enumerate-enumitem"><span
class="cmtt-12">[output] </span>element <span
class="cmtt-12">[i] </span>= <span
-class="cmtt-12">[linear_floor_value]</span>
+class="cmtt-12">[linear</span><span
+class="cmtt-12">_floor</span><span
+class="cmtt-12">_value]</span>
</dd><dt class="enumerate-enumitem">
7. </dt><dd
class="enumerate-enumitem">increment <span
8. </dt><dd
class="enumerate-enumitem">if ( map element <span
class="cmtt-12">[i] </span>is equal to <span
-class="cmtt-12">[iteration_condition] </span>) continue at step
+class="cmtt-12">[iteration</span><span
+class="cmtt-12">_condition] </span>) continue at step
5
</dd><dt class="enumerate-enumitem">
9. </dt><dd
class="enumerate-enumitem">if ( <span
class="cmtt-12">[i] </span>is less than <span
class="cmtt-12">[n] </span>) continue at step 2
+
+
+
</dd><dt class="enumerate-enumitem">
10. </dt><dd
class="enumerate-enumitem">done</dd></dl>
+<!--l. 186--><p class="noindent" ><span class="paragraphHead"><a
+ id="x1-960006.2.3"></a><span
+class="cmbx-12">Errata 20150227: Bark scale computation</span></span>
+Due to a typo when typesetting this version of the specification from the original HTML
+document, the Bark scale computation previously erroneously read:
+<center class="par-math-display" >
+<img
+src="Vorbis_I_spec13x.png" alt="bark(x) = 13.1arctan (.00074x ) + 2.24 arctan(.0000000185x2 + .0001x )
+" class="par-math-display" ></center>
+<!--l. 194--><p class="nopar" >
+<!--l. 196--><p class="noindent" >Note that the last parenthesis is misplaced. This document now uses the correct equation as it
+appeared in the original HTML spec document:
+<center class="par-math-display" >
+<img
+src="Vorbis_I_spec14x.png" alt="bark(x) = 13.1arctan (.00074x ) + 2.24 arctan(.0000000185x2 ) + .0001x
+" class="par-math-display" ></center>
+<!--l. 200--><p class="nopar" >
<h3 class="sectionHead"><span class="titlemark">7. </span> <a
- id="x1-950007"></a>Floor type 1 setup and decode</h3>
-<!--l. 6--><p class="noindent" >
+ id="x1-970007"></a>Floor type 1 setup and decode</h3>
+<!--l. 5--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">7.1. </span> <a
- id="x1-960007.1"></a>Overview</h4>
-<!--l. 8--><p class="noindent" >Vorbis floor type one uses a piecewise straight-line representation to encode a spectral envelope
+ id="x1-980007.1"></a>Overview</h4>
+<!--l. 7--><p class="noindent" >Vorbis floor type one uses a piecewise straight-line representation to encode a spectral envelope
curve. The representation plots this curve mechanically on a linear frequency axis and a
logarithmic (dB) amplitude axis. The integer plotting algorithm used is similar to Bresenham’s
algorithm.
-<!--l. 16--><p class="noindent" >
+<!--l. 15--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">7.2. </span> <a
- id="x1-970007.2"></a>Floor 1 format</h4>
-<!--l. 18--><p class="noindent" >
+ id="x1-990007.2"></a>Floor 1 format</h4>
+<!--l. 17--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">7.2.1. </span> <a
- id="x1-980007.2.1"></a>model</h5>
-<!--l. 20--><p class="noindent" >Floor type one represents a spectral curve as a series of line segments. Synthesis constructs a
+ id="x1-1000007.2.1"></a>model</h5>
+<!--l. 19--><p class="noindent" >Floor type one represents a spectral curve as a series of line segments. Synthesis constructs a
floor curve using iterative prediction in a process roughly equivalent to the following simplified
description:
<ul class="itemize1">
<li class="itemize">the induction step repeats, using a list of x values specified in the codec setup header
at floor 1 initialization time. Computation is completed at the end of the x value list.
</li></ul>
-<!--l. 48--><p class="noindent" >Consider the following example, with values chosen for ease of understanding rather than
+<!--l. 47--><p class="noindent" >Consider the following example, with values chosen for ease of understanding rather than
representing typical configuration:
-<!--l. 51--><p class="noindent" >For the below example, we assume a floor setup with an [n] of 128. The list of selected X values
+<!--l. 50--><p class="noindent" >For the below example, we assume a floor setup with an [n] of 128. The list of selected X values
in increasing order is 0,16,32,48,64,80,96,112 and 128. In list order, the values interleave as 0,
128, 64, 32, 96, 16, 48, 80 and 112. The corresponding list-order Y values as decoded from an
example packet are 110, 20, -5, -45, 0, -25, -10, 30 and -10. We compute the floor in the following
way, beginning with the first line:
<div class="center"
>
-<!--l. 59--><p class="noindent" >
+<!--l. 58--><p class="noindent" >
-<!--l. 60--><p class="noindent" ><img
+<!--l. 59--><p class="noindent" ><img
src="floor1-1.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure 7: </span><span
-class="content">graph of example floor</span></div><!--tex4ht:label?: x1-980017 -->
+class="content">graph of example floor</span></div><!--tex4ht:label?: x1-1000017 -->
</div>
-<!--l. 64--><p class="noindent" >We now draw new logical lines to reflect the correction to new˙Y, and iterate for X positions 32
+<!--l. 63--><p class="noindent" >We now draw new logical lines to reflect the correction to new˙Y, and iterate for X positions 32
and 96:
<div class="center"
>
-<!--l. 67--><p class="noindent" >
+<!--l. 66--><p class="noindent" >
-<!--l. 68--><p class="noindent" ><img
+<!--l. 67--><p class="noindent" ><img
src="floor1-2.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure 8: </span><span
-class="content">graph of example floor</span></div><!--tex4ht:label?: x1-980028 -->
+class="content">graph of example floor</span></div><!--tex4ht:label?: x1-1000028 -->
</div>
-<!--l. 72--><p class="noindent" >Although the new Y value at X position 96 is unchanged, it is still used later as an endpoint for
+<!--l. 71--><p class="noindent" >Although the new Y value at X position 96 is unchanged, it is still used later as an endpoint for
further refinement. From here on, the pattern should be clear; we complete the floor computation
as follows:
<div class="center"
>
-<!--l. 76--><p class="noindent" >
+<!--l. 75--><p class="noindent" >
-<!--l. 77--><p class="noindent" ><img
+<!--l. 76--><p class="noindent" ><img
src="floor1-3.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure 9: </span><span
-class="content">graph of example floor</span></div><!--tex4ht:label?: x1-980039 -->
+class="content">graph of example floor</span></div><!--tex4ht:label?: x1-1000039 -->
</div>
<div class="center"
>
-<!--l. 81--><p class="noindent" >
+<!--l. 80--><p class="noindent" >
-<!--l. 82--><p class="noindent" ><img
+<!--l. 81--><p class="noindent" ><img
src="floor1-4.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure 10: </span><span
-class="content">graph of example floor</span></div><!--tex4ht:label?: x1-9800410 -->
+class="content">graph of example floor</span></div><!--tex4ht:label?: x1-10000410 -->
</div>
-<!--l. 86--><p class="noindent" >A more efficient algorithm with carefully defined integer rounding behavior is used for actual
+<!--l. 85--><p class="noindent" >A more efficient algorithm with carefully defined integer rounding behavior is used for actual
decode, as described later. The actual algorithm splits Y value computation and line plotting
into two steps with modifications to the above algorithm to eliminate noise accumulation
through integer roundoff/truncation.
-<!--l. 94--><p class="noindent" >
+<!--l. 93--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">7.2.2. </span> <a
- id="x1-990007.2.2"></a>header decode</h5>
-<!--l. 96--><p class="noindent" >A list of floor X values is stored in the packet header in interleaved format (used in list order
+ id="x1-1010007.2.2"></a>header decode</h5>
+<!--l. 95--><p class="noindent" >A list of floor X values is stored in the packet header in interleaved format (used in list order
during packet decode and synthesis). This list is split into partitions, and each partition is
assigned to a partition class. X positions 0 and [n] are implicit and do not belong to an explicit
partition or partition class.
-<!--l. 102--><p class="noindent" >A partition class consists of a representation vector width (the number of Y values which
+<!--l. 101--><p class="noindent" >A partition class consists of a representation vector width (the number of Y values which
the partition class encodes at once), a ’subclass’ value representing the number of
alternate entropy books the partition class may use in representing Y values, the list of
[subclass] books and a master book used to encode which alternate books were chosen
-<!--l. 112--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb28">
-<a
- id="x1-99002r1"></a><span
-class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-99004r2"></a><span
+<!--l. 111--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb28"><a
+ id="x1-101002r1"></a><span
+class="cmr-6">1</span><br class="fancyvrb" /><a
+ id="x1-101004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
-class="cmtt-8"> [floor1_partitions]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_partitions]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> 5</span><span
class="cmtt-8"> bits</span><span
class="cmtt-8"> as</span><span
class="cmtt-8"> unsigned</span><span
-class="cmtt-8"> integer</span>
-<br class="fancyvrb" /><a
- id="x1-99006r3"></a><span
+class="cmtt-8"> integer</span><br class="fancyvrb" /><a
+ id="x1-101006r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
-class="cmtt-8"> [maximum_class]</span><span
+class="cmtt-8"> [maximum</span><span
+class="cmtt-8">_class]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> -1</span>
-<br class="fancyvrb" /><a
- id="x1-99008r4"></a><span
+class="cmtt-8"> -1</span><br class="fancyvrb" /><a
+ id="x1-101008r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> range</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ...</span><span
-class="cmtt-8"> [floor1_partitions]-1</span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-99010r5"></a><span
-class="cmr-6">5</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_partitions]-1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-101010r5"></a><span
+class="cmr-6">5</span>
<br class="fancyvrb" /><a
- id="x1-99012r6"></a><span
+ id="x1-101012r6"></a><span
class="cmr-6">6</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_partition_class_list]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_partition</span><span
+class="cmtt-8">_class</span><span
+class="cmtt-8">_list]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> bits</span><span
class="cmtt-8"> as</span><span
class="cmtt-8"> unsigned</span><span
-class="cmtt-8"> integer</span>
-<br class="fancyvrb" /><a
- id="x1-99014r7"></a><span
-class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-99016r8"></a><span
+class="cmtt-8"> integer</span><br class="fancyvrb" /><a
+ id="x1-101014r7"></a><span
+class="cmr-6">7</span><br class="fancyvrb" /><a
+ id="x1-101016r8"></a><span
class="cmr-6">8</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-99018r9"></a><span
-class="cmr-6">9</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-101018r9"></a><span
+class="cmr-6">9</span>
<br class="fancyvrb" /><a
- id="x1-99020r10"></a><span
+ id="x1-101020r10"></a><span
class="cmr-6">10</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
-class="cmtt-8"> [maximum_class]</span><span
+class="cmtt-8"> [maximum</span><span
+class="cmtt-8">_class]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> largest</span><span
class="cmtt-8"> integer</span><span
class="cmtt-8"> value</span><span
class="cmtt-8"> in</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_partition_class_list]</span>
-<br class="fancyvrb" /><a
- id="x1-99022r11"></a><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_partition</span><span
+class="cmtt-8">_class</span><span
+class="cmtt-8">_list]</span><br class="fancyvrb" /><a
+ id="x1-101022r11"></a><span
class="cmr-6">11</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> range</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ...</span><span
-class="cmtt-8"> [maximum_class]</span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-99024r12"></a><span
-class="cmr-6">12</span><span
+class="cmtt-8"> [maximum</span><span
+class="cmtt-8">_class]</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-101024r12"></a><span
+class="cmr-6">12</span>
<br class="fancyvrb" /><a
- id="x1-99026r13"></a><span
+ id="x1-101026r13"></a><span
class="cmr-6">13</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_class_dimensions]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_class</span><span
+class="cmtt-8">_dimensions]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> add</span><span
class="cmtt-8"> 1</span>
<br class="fancyvrb" /><a
- id="x1-99028r14"></a><span
-class="cmr-6">14</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8">  8)</span><span
+ id="x1-101028r14"></a><span
+class="cmr-6">14</span> <span
+class="cmtt-8">8)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_class_subclasses]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_class</span><span
+class="cmtt-8">_subclasses]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> unsigned</span><span
class="cmtt-8"> integer</span>
<br class="fancyvrb" /><a
- id="x1-99030r15"></a><span
+ id="x1-101030r15"></a><span
class="cmr-6">15</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 9)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_class_subclasses]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_class</span><span
+class="cmtt-8">_subclasses]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> nonzero</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-99032r16"></a><span
-class="cmr-6">16</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-101032r16"></a><span
+class="cmr-6">16</span>
<br class="fancyvrb" /><a
- id="x1-99034r17"></a><span
+ id="x1-101034r17"></a><span
class="cmr-6">17</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 10)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_class_masterbooks]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_class</span><span
+class="cmtt-8">_masterbooks]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> bits</span><span
class="cmtt-8"> as</span><span
class="cmtt-8"> unsigned</span><span
-class="cmtt-8"> integer</span>
-<br class="fancyvrb" /><a
- id="x1-99036r18"></a><span
-class="cmr-6">18</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-99038r19"></a><span
+class="cmtt-8"> integer</span><br class="fancyvrb" /><a
+ id="x1-101036r18"></a><span
+class="cmr-6">18</span><br class="fancyvrb" /><a
+ id="x1-101038r19"></a><span
class="cmr-6">19</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-99040r20"></a><span
-class="cmr-6">20</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-101040r20"></a><span
+class="cmr-6">20</span>
<br class="fancyvrb" /><a
- id="x1-99042r21"></a><span
+ id="x1-101042r21"></a><span
class="cmr-6">21</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 11)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [j]</span><span
class="cmtt-8"> ...</span><span
class="cmtt-8"> (2</span><span
class="cmtt-8"> exponent</span><span
-class="cmtt-8"> [floor1_class_subclasses]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_class</span><span
+class="cmtt-8">_subclasses]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i])</span><span
class="cmtt-8"> -</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-99044r22"></a><span
-class="cmr-6">22</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-101044r22"></a><span
+class="cmr-6">22</span>
<br class="fancyvrb" /><a
- id="x1-99046r23"></a><span
+ id="x1-101046r23"></a><span
class="cmr-6">23</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 12)</span><span
class="cmtt-8"> array</span><span
-class="cmtt-8"> [floor1_subclass_books]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_subclass</span><span
+class="cmtt-8">_books]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i],[j]</span><span
-class="cmtt-8"> =</span>
-<br class="fancyvrb" /><a
- id="x1-99048r24"></a><span
+class="cmtt-8"> =</span><br class="fancyvrb" /><a
+ id="x1-101048r24"></a><span
class="cmr-6">24</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> 8</span><span
class="cmtt-8"> bits</span><span
class="cmtt-8"> subtract</span><span
class="cmtt-8"> one</span>
<br class="fancyvrb" /><a
- id="x1-99050r25"></a><span
+ id="x1-101050r25"></a><span
class="cmr-6">25</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-99052r26"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-101052r26"></a><span
class="cmr-6">26</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-99054r27"></a><span
-class="cmr-6">27</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-99056r28"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-101054r27"></a><span
+class="cmr-6">27</span><br class="fancyvrb" /><a
+ id="x1-101056r28"></a><span
class="cmr-6">28</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 13)</span><span
-class="cmtt-8"> [floor1_multiplier]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_multiplier]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> integer</span><span
class="cmtt-8"> and</span><span
class="cmtt-8"> add</span><span
-class="cmtt-8"> one</span>
-<br class="fancyvrb" /><a
- id="x1-99058r29"></a><span
+class="cmtt-8"> one</span><br class="fancyvrb" /><a
+ id="x1-101058r29"></a><span
class="cmr-6">29</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 14)</span><span
class="cmtt-8"> [rangebits]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> unsigned</span><span
class="cmtt-8"> integer</span>
<br class="fancyvrb" /><a
- id="x1-99060r30"></a><span
+ id="x1-101060r30"></a><span
class="cmr-6">30</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 15)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_X_list]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_X</span><span
+class="cmtt-8">_list]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [0]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> 0</span>
-<br class="fancyvrb" /><a
- id="x1-99062r31"></a><span
+class="cmtt-8"> 0</span><br class="fancyvrb" /><a
+ id="x1-101062r31"></a><span
class="cmr-6">31</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 16)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_X_list]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_X</span><span
+class="cmtt-8">_list]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [1]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> exponent</span><span
-class="cmtt-8"> [rangebits];</span>
-<br class="fancyvrb" /><a
- id="x1-99064r32"></a><span
+class="cmtt-8"> [rangebits];</span><br class="fancyvrb" /><a
+ id="x1-101064r32"></a><span
class="cmr-6">32</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 17)</span><span
-class="cmtt-8"> [floor1_values]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_values]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> 2</span>
<br class="fancyvrb" /><a
- id="x1-99066r33"></a><span
+ id="x1-101066r33"></a><span
class="cmr-6">33</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 18)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> range</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ...</span><span
-class="cmtt-8"> [floor1_partitions]-1</span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-99068r34"></a><span
-class="cmr-6">34</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_partitions]-1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-99070r35"></a><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-101068r34"></a><span
+class="cmr-6">34</span><br class="fancyvrb" /><a
+ id="x1-101070r35"></a><span
class="cmr-6">35</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 19)</span><span
-class="cmtt-8"> [current_class_number]</span><span
+class="cmtt-8"> [current</span><span
+class="cmtt-8">_class</span><span
+class="cmtt-8">_number]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_partition_class_list]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_partition</span><span
+class="cmtt-8">_class</span><span
+class="cmtt-8">_list]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span>
<br class="fancyvrb" /><a
- id="x1-99072r36"></a><span
+ id="x1-101072r36"></a><span
class="cmr-6">36</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 20)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [j]</span><span
class="cmtt-8"> range</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ...</span><span
-class="cmtt-8"> ([floor1_class_dimensions]</span><span
+class="cmtt-8"> ([floor1</span><span
+class="cmtt-8">_class</span><span
+class="cmtt-8">_dimensions]</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> [current_class_number])-1</span><span
+class="cmtt-8"> [current</span><span
+class="cmtt-8">_class</span><span
+class="cmtt-8">_number])-1</span><span
class="cmtt-8"> </span><span
class="cmsy-8">{</span>
<br class="fancyvrb" /><a
- id="x1-99074r37"></a><span
+ id="x1-101074r37"></a><span
class="cmr-6">37</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 21)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_X_list]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_X</span><span
+class="cmtt-8">_list]</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> ([floor1_values])</span><span
-class="cmtt-8"> =</span>
-<br class="fancyvrb" /><a
- id="x1-99076r38"></a><span
+class="cmtt-8"> ([floor1</span><span
+class="cmtt-8">_values])</span><span
+class="cmtt-8"> =</span><br class="fancyvrb" /><a
+ id="x1-101076r38"></a><span
class="cmr-6">38</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> [rangebits]</span><span
class="cmtt-8"> bits</span><span
class="cmtt-8"> unsigned</span><span
class="cmtt-8"> integer</span>
<br class="fancyvrb" /><a
- id="x1-99078r39"></a><span
+ id="x1-101078r39"></a><span
class="cmr-6">39</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 22)</span><span
class="cmtt-8"> increment</span><span
-class="cmtt-8"> [floor1_values]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_values]</span><span
class="cmtt-8"> by</span><span
-class="cmtt-8"> one</span>
-<br class="fancyvrb" /><a
- id="x1-99080r40"></a><span
+class="cmtt-8"> one</span><br class="fancyvrb" /><a
+ id="x1-101080r40"></a><span
class="cmr-6">40</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-99082r41"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-101082r41"></a><span
class="cmr-6">41</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-99084r42"></a><span
-class="cmr-6">42</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-99086r43"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-101084r42"></a><span
+class="cmr-6">42</span><br class="fancyvrb" /><a
+ id="x1-101086r43"></a><span
class="cmr-6">43</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 23)</span><span
-class="cmtt-8"> done</span>
-</div>
-<!--l. 158--><p class="noindent" >An end-of-packet condition while reading any aspect of a floor 1 configuration during
+class="cmtt-8"> done</span></div>
+<!--l. 157--><p class="noindent" >An end-of-packet condition while reading any aspect of a floor 1 configuration during
setup renders a stream undecodable. In addition, a <span
-class="cmtt-12">[floor1_class_masterbooks] </span>or
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_class</span><span
+class="cmtt-12">_masterbooks] </span>or
<span
-class="cmtt-12">[floor1_subclass_books] </span>scalar element greater than the highest numbered codebook
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_subclass</span><span
+class="cmtt-12">_books] </span>scalar element greater than the highest numbered codebook
configured in this stream is an error condition that renders the stream undecodable. Vector
[floor1_x_list] is limited to a maximum length of 65 elements; a setup indicating more than 65
total elements (including elements 0 and 1 set prior to the read loop) renders the stream
undecodable. All vector [floor1_x_list] element values must be unique within the vector; a
non-unique value renders the stream undecodable.
-
-
-
-<!--l. 170--><p class="noindent" >
+<!--l. 169--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">7.2.3. </span> <a
- id="x1-1000007.2.3"></a>packet decode</h5>
-<!--l. 172--><p class="noindent" >Packet decode begins by checking the <span
+ id="x1-1020007.2.3"></a>packet decode</h5>
+<!--l. 171--><p class="noindent" >Packet decode begins by checking the <span
class="cmtt-12">[nonzero] </span>flag:
-<!--l. 174--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb29">
-<a
- id="x1-100002r1"></a><span
+<!--l. 173--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb29"><a
+ id="x1-102002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> [nonzero]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> bit</span><span
class="cmtt-8"> as</span><span
-class="cmtt-8"> boolean</span>
-</div>
-<!--l. 178--><p class="noindent" >If <span
+class="cmtt-8"> boolean</span></div>
+<!--l. 177--><p class="noindent" >If <span
class="cmtt-12">[nonzero] </span>is unset, that indicates this channel contained no audio energy in this frame.
Decode immediately returns a status indicating this floor curve (and thus this channel) is unused
this frame. (A return status of ’unused’ is different from decoding a floor that has all
points set to minimum representation amplitude, which happens to be approximately
-140dB).
-<!--l. 186--><p class="noindent" >Assuming <span
+<!--l. 185--><p class="noindent" >Assuming <span
class="cmtt-12">[nonzero] </span>is set, decode proceeds as follows:
-<!--l. 188--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb30">
-<a
- id="x1-100004r1"></a><span
+<!--l. 187--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb30"><a
+ id="x1-102004r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> [range]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> </span><span
class="cmsy-8">}</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> ([floor1_multiplier]-1)</span>
+class="cmtt-8"> ([floor1</span><span
+class="cmtt-8">_multiplier]-1)</span>
<br class="fancyvrb" /><a
- id="x1-100006r2"></a><span
+ id="x1-102006r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_Y]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_Y]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [0]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> </span><a
-href="#x1-1170009.2.1"><span
+href="#x1-1190009.2.1"><span
class="cmtt-8">ilog</span></a><span
class="cmtt-8">([range]-1)</span><span
class="cmtt-8"> bits</span><span
class="cmtt-8"> as</span><span
class="cmtt-8"> unsigned</span><span
class="cmtt-8"> integer</span>
+
+
+
<br class="fancyvrb" /><a
- id="x1-100008r3"></a><span
+ id="x1-102008r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_Y]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_Y]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [1]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> read</span><span
class="cmtt-8"> </span><a
-href="#x1-1170009.2.1"><span
+href="#x1-1190009.2.1"><span
class="cmtt-8">ilog</span></a><span
class="cmtt-8">([range]-1)</span><span
class="cmtt-8"> bits</span><span
class="cmtt-8"> unsigned</span><span
class="cmtt-8"> integer</span>
<br class="fancyvrb" /><a
- id="x1-100010r4"></a><span
+ id="x1-102010r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> [offset]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> 2;</span>
-<br class="fancyvrb" /><a
- id="x1-100012r5"></a><span
+class="cmtt-8"> 2;</span><br class="fancyvrb" /><a
+ id="x1-102012r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> range</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ...</span><span
-class="cmtt-8"> [floor1_partitions]-1</span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-100014r6"></a><span
-class="cmr-6">6</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_partitions]-1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-102014r6"></a><span
+class="cmr-6">6</span>
<br class="fancyvrb" /><a
- id="x1-100016r7"></a><span
+ id="x1-102016r7"></a><span
class="cmr-6">7</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
class="cmtt-8"> [class]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_partition_class]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_partition</span><span
+class="cmtt-8">_class]</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> [i]</span>
-<br class="fancyvrb" /><a
- id="x1-100018r8"></a><span
+class="cmtt-8"> [i]</span><br class="fancyvrb" /><a
+ id="x1-102018r8"></a><span
class="cmr-6">8</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
class="cmtt-8"> [cdim]</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_class_dimensions]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_class</span><span
+class="cmtt-8">_dimensions]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [class]</span>
<br class="fancyvrb" /><a
- id="x1-100020r9"></a><span
+ id="x1-102020r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 8)</span><span
class="cmtt-8"> [cbits]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_class_subclasses]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_class</span><span
+class="cmtt-8">_subclasses]</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> [class]</span>
-<br class="fancyvrb" /><a
- id="x1-100022r10"></a><span
+class="cmtt-8"> [class]</span><br class="fancyvrb" /><a
+ id="x1-102022r10"></a><span
class="cmr-6">10</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 9)</span><span
class="cmtt-8"> [csub]</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> (2</span><span
class="cmtt-8"> exponent</span><span
-class="cmtt-8"> [cbits])-1</span>
-<br class="fancyvrb" /><a
- id="x1-100024r11"></a><span
+class="cmtt-8"> [cbits])-1</span><br class="fancyvrb" /><a
+ id="x1-102024r11"></a><span
class="cmr-6">11</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 10)</span><span
class="cmtt-8"> [cval]</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> 0</span>
<br class="fancyvrb" /><a
- id="x1-100026r12"></a><span
+ id="x1-102026r12"></a><span
class="cmr-6">12</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 11)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> zero</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-100028r13"></a><span
-class="cmr-6">13</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-100030r14"></a><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-102028r13"></a><span
+class="cmr-6">13</span><br class="fancyvrb" /><a
+ id="x1-102030r14"></a><span
class="cmr-6">14</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 12)</span><span
class="cmtt-8"> [cval]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> codebook</span><span
class="cmtt-8"> number</span>
<br class="fancyvrb" /><a
- id="x1-100032r15"></a><span
+ id="x1-102032r15"></a><span
class="cmr-6">15</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> (vector</span><span
-class="cmtt-8"> [floor1_class_masterbooks]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_class</span><span
+class="cmtt-8">_masterbooks]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [class])</span><span
class="cmtt-8"> in</span><span
class="cmtt-8"> scalar</span><span
-class="cmtt-8"> context</span>
-<br class="fancyvrb" /><a
- id="x1-100034r16"></a><span
+class="cmtt-8"> context</span><br class="fancyvrb" /><a
+ id="x1-102034r16"></a><span
class="cmr-6">16</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-100036r17"></a><span
-class="cmr-6">17</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-100038r18"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-102036r17"></a><span
+class="cmr-6">17</span><br class="fancyvrb" /><a
+ id="x1-102038r18"></a><span
class="cmr-6">18</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 13)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [j]</span><span
class="cmtt-8"> ...</span><span
class="cmtt-8"> [cdim]-1</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-100040r19"></a><span
-class="cmr-6">19</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-102040r19"></a><span
+class="cmr-6">19</span>
<br class="fancyvrb" /><a
- id="x1-100042r20"></a><span
+ id="x1-102042r20"></a><span
class="cmr-6">20</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 14)</span><span
class="cmtt-8"> [book]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> array</span><span
-class="cmtt-8"> [floor1_subclass_books]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_subclass</span><span
+class="cmtt-8">_books]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [class],([cval]</span><span
class="cmtt-8"> bitwise</span><span
class="cmtt-8"> AND</span><span
class="cmtt-8"> [csub])</span>
<br class="fancyvrb" /><a
- id="x1-100044r21"></a><span
+ id="x1-102044r21"></a><span
class="cmr-6">21</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 15)</span><span
class="cmtt-8"> [cval]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> right</span><span
class="cmtt-8"> shifted</span><span
class="cmtt-8"> [cbits]</span><span
-class="cmtt-8"> bits</span>
-<br class="fancyvrb" /><a
- id="x1-100046r22"></a><span
-class="cmr-6">22</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8">  </span><span
+class="cmtt-8"> bits</span><br class="fancyvrb" /><a
+ id="x1-102046r22"></a><span
+class="cmr-6">22</span> <span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> zero</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-102048r23"></a><span
+class="cmr-6">23</span>
<br class="fancyvrb" /><a
- id="x1-100048r23"></a><span
-class="cmr-6">23</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-100050r24"></a><span
-class="cmr-6">24</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8">  </span><span
+ id="x1-102050r24"></a><span
+class="cmr-6">24</span> <span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 17)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_Y]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_Y]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> ([j]+[offset])</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> from</span><span
class="cmtt-8"> packet</span><span
class="cmtt-8"> using</span><span
-class="cmtt-8"> codebook</span>
-<br class="fancyvrb" /><a
- id="x1-100052r25"></a><span
+class="cmtt-8"> codebook</span><br class="fancyvrb" /><a
+ id="x1-102052r25"></a><span
class="cmr-6">25</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> [book]</span><span
class="cmtt-8"> in</span><span
class="cmtt-8"> scalar</span><span
-class="cmtt-8"> context</span>
-<br class="fancyvrb" /><a
- id="x1-100054r26"></a><span
-class="cmr-6">26</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmtt-8"> context</span><br class="fancyvrb" /><a
+ id="x1-102054r26"></a><span
+class="cmr-6">26</span>
<br class="fancyvrb" /><a
- id="x1-100056r27"></a><span
+ id="x1-102056r27"></a><span
class="cmr-6">27</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmsy-8">}</span><span
class="cmtt-8"> else</span><span
class="cmtt-8"> [book]</span><span
class="cmtt-8"> than</span><span
class="cmtt-8"> zero</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-100058r28"></a><span
-class="cmr-6">28</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-100060r29"></a><span
-class="cmr-6">29</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8">  </span><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-102058r28"></a><span
+class="cmr-6">28</span><br class="fancyvrb" /><a
+ id="x1-102060r29"></a><span
+class="cmr-6">29</span> <span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 18)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_Y]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_Y]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> ([j]+[offset])</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> 0</span>
+class="cmtt-8"> 0</span><br class="fancyvrb" /><a
+ id="x1-102062r30"></a><span
+class="cmr-6">30</span>
<br class="fancyvrb" /><a
- id="x1-100062r30"></a><span
-class="cmr-6">30</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-100064r31"></a><span
+ id="x1-102064r31"></a><span
class="cmr-6">31</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-100066r32"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-102066r32"></a><span
class="cmr-6">32</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-100068r33"></a><span
-class="cmr-6">33</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-100070r34"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-102068r33"></a><span
+class="cmr-6">33</span><br class="fancyvrb" /><a
+ id="x1-102070r34"></a><span
class="cmr-6">34</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 19)</span><span
class="cmtt-8"> [offset]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [offset]</span><span
class="cmtt-8"> +</span><span
-class="cmtt-8"> [cdim]</span>
-
-
-
-<br class="fancyvrb" /><a
- id="x1-100072r35"></a><span
-class="cmr-6">35</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-100074r36"></a><span
+class="cmtt-8"> [cdim]</span><br class="fancyvrb" /><a
+ id="x1-102072r35"></a><span
+class="cmr-6">35</span><br class="fancyvrb" /><a
+ id="x1-102074r36"></a><span
class="cmr-6">36</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-100076r37"></a><span
-class="cmr-6">37</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-100078r38"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-102076r37"></a><span
+class="cmr-6">37</span><br class="fancyvrb" /><a
+ id="x1-102078r38"></a><span
class="cmr-6">38</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 20)</span><span
-class="cmtt-8"> done</span>
-</div>
-<!--l. 229--><p class="noindent" >An end-of-packet condition during curve decode should be considered a nominal occurrence; if
+class="cmtt-8"> done</span></div>
+<!--l. 228--><p class="noindent" >An end-of-packet condition during curve decode should be considered a nominal occurrence; if
end-of-packet is reached during any read operation above, floor decode is to return ’unused’
status as if the <span
class="cmtt-12">[nonzero] </span>flag had been unset at the beginning of decode.
-<!--l. 235--><p class="noindent" >Vector <span
-class="cmtt-12">[floor1_Y] </span>contains the values from packet decode needed for floor 1 synthesis.
-<!--l. 240--><p class="noindent" >
+<!--l. 234--><p class="noindent" >Vector <span
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_Y] </span>contains the values from packet decode needed for floor 1 synthesis.
+<!--l. 239--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">7.2.4. </span> <a
- id="x1-1010007.2.4"></a>curve computation</h5>
-<!--l. 242--><p class="noindent" >Curve computation is split into two logical steps; the first step derives final Y amplitude values
+ id="x1-1030007.2.4"></a>curve computation</h5>
+<!--l. 241--><p class="noindent" >Curve computation is split into two logical steps; the first step derives final Y amplitude values
from the encoded, wrapped difference values taken from the bitstream. The second step
plots the curve lines. Also, although zero-difference values are used in the iterative
prediction to find final Y values, these points are conditionally skipped during final
line computation in step two. Skipping zero-difference values allows a smoother line
fit.
-<!--l. 250--><p class="noindent" >Although some aspects of the below algorithm look like inconsequential optimizations,
+<!--l. 249--><p class="noindent" >Although some aspects of the below algorithm look like inconsequential optimizations,
implementors are warned to follow the details closely. Deviation from implementing a strictly
equivalent algorithm can result in serious decoding errors.
-<!--l. 255--><p class="noindent" ><span
+<!--l. 254--><p class="noindent" ><span
class="cmti-12">Additional note: </span>Although <span
-class="cmtt-12">[floor1_final_Y] </span>values in the prediction loop and at the end of
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_final</span><span
+class="cmtt-12">_Y] </span>values in the prediction loop and at the end of
step 1 are inherently limited by the prediction algorithm to [0, <span
class="cmtt-12">[range]</span>), it is possible to abuse
the setup and codebook machinery to produce negative or over-range results. We suggest that
decoder implementations guard the values in vector <span
-class="cmtt-12">[floor1_final_Y] </span>by clamping each
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_final</span><span
+class="cmtt-12">_Y] </span>by clamping each
element to [0, <span
class="cmtt-12">[range]</span>) after step 1. Variants of this suggestion are acceptable as valid floor1
setups cannot produce out of range values.
-<!--l. 266--><p class="noindent" >
+<!--l. 265--><p class="noindent" >
<dl class="description"><dt class="description">
<span
class="cmssbx-10x-x-120">step 1: amplitude value synthesis</span> </dt><dd
class="description">
- <!--l. 268--><p class="noindent" >Unwrap the always-positive-or-zero values read from the packet into +/- difference
+ <!--l. 267--><p class="noindent" >Unwrap the always-positive-or-zero values read from the packet into +/- difference
values, then apply to line prediction.
- <!--l. 271--><p class="noindent" >
- <div class="fancyvrb" id="fancyvrb31">
-<a
- id="x1-101002r1"></a><span
+ <!--l. 270--><p class="noindent" >
+ <div class="fancyvrb" id="fancyvrb31"><a
+ id="x1-103002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> [range]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> </span><span
class="cmsy-8">}</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> ([floor1_multiplier]-1)</span>
-<br class="fancyvrb" /><a
- id="x1-101004r2"></a><span
+class="cmtt-8"> ([floor1</span><span
+class="cmtt-8">_multiplier]-1)</span><br class="fancyvrb" /><a
+ id="x1-103004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_step2_flag]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_step2</span><span
+class="cmtt-8">_flag]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [0]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> set</span>
-<br class="fancyvrb" /><a
- id="x1-101006r3"></a><span
+ <br class="fancyvrb" /><a
+ id="x1-103006r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_step2_flag]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_step2</span><span
+class="cmtt-8">_flag]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [1]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> set</span>
-<br class="fancyvrb" /><a
- id="x1-101008r4"></a><span
+class="cmtt-8"> set</span><br class="fancyvrb" /><a
+ id="x1-103008r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_final_Y]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_final</span><span
+class="cmtt-8">_Y]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [0]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_Y]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_Y]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [0]</span>
-<br class="fancyvrb" /><a
- id="x1-101010r5"></a><span
+ <br class="fancyvrb" /><a
+ id="x1-103010r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_final_Y]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_final</span><span
+class="cmtt-8">_Y]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [1]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_Y]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_Y]</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> [1]</span>
-<br class="fancyvrb" /><a
- id="x1-101012r6"></a><span
+class="cmtt-8"> [1]</span><br class="fancyvrb" /><a
+ id="x1-103012r6"></a><span
class="cmr-6">6</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> range</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> ...</span><span
-class="cmtt-8"> [floor1_values]-1</span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-101014r7"></a><span
-class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101016r8"></a><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_values]-1</span><span
+class="cmtt-8"> </span><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-103014r7"></a><span
+class="cmr-6">7</span>
+ <br class="fancyvrb" /><a
+ id="x1-103016r8"></a><span
class="cmr-6">8</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
-class="cmtt-8"> [low_neighbor_offset]</span><span
+class="cmtt-8"> [low</span><span
+class="cmtt-8">_neighbor</span><span
+class="cmtt-8">_offset]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> </span><a
-href="#x1-1200009.2.4"><span
-class="cmtt-8">low_neighbor</span></a><span
-class="cmtt-8">([floor1_X_list],[i])</span>
-<br class="fancyvrb" /><a
- id="x1-101018r9"></a><span
+href="#x1-1220009.2.4"><span
+class="cmtt-8">low</span><span
+class="cmtt-8">_neighbor</span></a><span
+class="cmtt-8">([floor1</span><span
+class="cmtt-8">_X</span><span
+class="cmtt-8">_list],[i])</span><br class="fancyvrb" /><a
+ id="x1-103018r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 8)</span><span
-class="cmtt-8"> [high_neighbor_offset]</span><span
+class="cmtt-8"> [high</span><span
+class="cmtt-8">_neighbor</span><span
+class="cmtt-8">_offset]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> </span><a
-href="#x1-1210009.2.5"><span
-class="cmtt-8">high_neighbor</span></a><span
-class="cmtt-8">([floor1_X_list],[i])</span>
-<br class="fancyvrb" /><a
- id="x1-101020r10"></a><span
-class="cmr-6">10</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101022r11"></a><span
+href="#x1-1230009.2.5"><span
+class="cmtt-8">high</span><span
+class="cmtt-8">_neighbor</span></a><span
+class="cmtt-8">([floor1</span><span
+class="cmtt-8">_X</span><span
+class="cmtt-8">_list],[i])</span><br class="fancyvrb" /><a
+ id="x1-103020r10"></a><span
+class="cmr-6">10</span>
+ <br class="fancyvrb" /><a
+ id="x1-103022r11"></a><span
class="cmr-6">11</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 9)</span><span
class="cmtt-8"> [predicted]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> </span><a
-href="#x1-1220009.2.6"><span
-class="cmtt-8">render_point</span></a><span
+href="#x1-1240009.2.6"><span
+class="cmtt-8">render</span><span
+class="cmtt-8">_point</span></a><span
class="cmtt-8">(</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_X_list]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_X</span><span
+class="cmtt-8">_list]</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> [low_neighbor_offset],</span>
-<br class="fancyvrb" /><a
- id="x1-101024r12"></a><span
-class="cmr-6">12</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8">  </span><span
+class="cmtt-8"> [low</span><span
+class="cmtt-8">_neighbor</span><span
+class="cmtt-8">_offset],</span>
+ <br class="fancyvrb" /><a
+ id="x1-103024r12"></a><span
+class="cmr-6">12</span> <span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_final_Y]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_final</span><span
+class="cmtt-8">_Y]</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> [low_neighbor_offset],</span>
-<br class="fancyvrb" /><a
- id="x1-101026r13"></a><span
+class="cmtt-8"> [low</span><span
+class="cmtt-8">_neighbor</span><span
+class="cmtt-8">_offset],</span>
+ <br class="fancyvrb" /><a
+ id="x1-103026r13"></a><span
class="cmr-6">13</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_X_list]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_X</span><span
+class="cmtt-8">_list]</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> [high_neighbor_offset],</span>
-<br class="fancyvrb" /><a
- id="x1-101028r14"></a><span
-class="cmr-6">14</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8">  </span><span
+class="cmtt-8"> [high</span><span
+class="cmtt-8">_neighbor</span><span
+class="cmtt-8">_offset],</span>
+ <br class="fancyvrb" /><a
+ id="x1-103028r14"></a><span
+class="cmr-6">14</span> <span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_final_Y]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_final</span><span
+class="cmtt-8">_Y]</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> [high_neighbor_offset],</span>
-<br class="fancyvrb" /><a
- id="x1-101030r15"></a><span
+class="cmtt-8"> [high</span><span
+class="cmtt-8">_neighbor</span><span
+class="cmtt-8">_offset],</span>
+ <br class="fancyvrb" /><a
+ id="x1-103030r15"></a><span
class="cmr-6">15</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_X_list]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_X</span><span
+class="cmtt-8">_list]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
-class="cmtt-8"> )</span>
-<br class="fancyvrb" /><a
- id="x1-101032r16"></a><span
-class="cmr-6">16</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101034r17"></a><span
+class="cmtt-8"> )</span><br class="fancyvrb" /><a
+ id="x1-103032r16"></a><span
+class="cmr-6">16</span><br class="fancyvrb" /><a
+ id="x1-103034r17"></a><span
class="cmr-6">17</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 10)</span><span
class="cmtt-8"> [val]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_Y]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_Y]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span>
-<br class="fancyvrb" /><a
- id="x1-101036r18"></a><span
+ <br class="fancyvrb" /><a
+ id="x1-103036r18"></a><span
class="cmr-6">18</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 11)</span><span
class="cmtt-8"> [highroom]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [range]</span><span
class="cmtt-8"> -</span><span
-class="cmtt-8"> [predicted]</span>
-<br class="fancyvrb" /><a
- id="x1-101038r19"></a><span
+class="cmtt-8"> [predicted]</span><br class="fancyvrb" /><a
+ id="x1-103038r19"></a><span
class="cmr-6">19</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 12)</span><span
class="cmtt-8"> [lowroom]</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> [predicted]</span>
-<br class="fancyvrb" /><a
- id="x1-101040r20"></a><span
+class="cmtt-8"> [predicted]</span><br class="fancyvrb" /><a
+ id="x1-103040r20"></a><span
class="cmr-6">20</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 13)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> [lowroom]</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-101042r21"></a><span
-class="cmr-6">21</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101044r22"></a><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-103042r21"></a><span
+class="cmr-6">21</span>
+ <br class="fancyvrb" /><a
+ id="x1-103044r22"></a><span
class="cmr-6">22</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 14)</span><span
class="cmtt-8"> [room]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [highroom]</span><span
class="cmtt-8"> *</span><span
-class="cmtt-8"> 2</span>
-<br class="fancyvrb" /><a
- id="x1-101046r23"></a><span
-class="cmr-6">23</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101048r24"></a><span
+class="cmtt-8"> 2</span><br class="fancyvrb" /><a
+ id="x1-103046r23"></a><span
+class="cmr-6">23</span><br class="fancyvrb" /><a
+ id="x1-103048r24"></a><span
class="cmr-6">24</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmsy-8">}</span><span
class="cmtt-8"> else</span><span
class="cmtt-8"> [highroom]</span><span
class="cmtt-8"> than</span><span
class="cmtt-8"> [lowroom]</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-101050r25"></a><span
-class="cmr-6">25</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101052r26"></a><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-103050r25"></a><span
+class="cmr-6">25</span><br class="fancyvrb" /><a
+ id="x1-103052r26"></a><span
class="cmr-6">26</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 15)</span><span
class="cmtt-8"> [room]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [lowroom]</span><span
class="cmtt-8"> *</span><span
-class="cmtt-8"> 2</span>
-<br class="fancyvrb" /><a
- id="x1-101054r27"></a><span
-class="cmr-6">27</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101056r28"></a><span
+class="cmtt-8"> 2</span><br class="fancyvrb" /><a
+ id="x1-103054r27"></a><span
+class="cmr-6">27</span>
+ <br class="fancyvrb" /><a
+ id="x1-103056r28"></a><span
class="cmr-6">28</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-101058r29"></a><span
-class="cmr-6">29</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101060r30"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-103058r29"></a><span
+class="cmr-6">29</span><br class="fancyvrb" /><a
+ id="x1-103060r30"></a><span
class="cmr-6">30</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 16)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> nonzero</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-101062r31"></a><span
-class="cmr-6">31</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101064r32"></a><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-103062r31"></a><span
+class="cmr-6">31</span><br class="fancyvrb" /><a
+ id="x1-103064r32"></a><span
class="cmr-6">32</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 17)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_step2_flag]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_step2</span><span
+class="cmtt-8">_flag]</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> [low_neighbor_offset]</span><span
+class="cmtt-8"> [low</span><span
+class="cmtt-8">_neighbor</span><span
+class="cmtt-8">_offset]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> set</span>
-<br class="fancyvrb" /><a
- id="x1-101066r33"></a><span
+ <br class="fancyvrb" /><a
+ id="x1-103066r33"></a><span
class="cmr-6">33</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 18)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_step2_flag]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_step2</span><span
+class="cmtt-8">_flag]</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> [high_neighbor_offset]</span><span
+class="cmtt-8"> [high</span><span
+class="cmtt-8">_neighbor</span><span
+class="cmtt-8">_offset]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> set</span>
-<br class="fancyvrb" /><a
- id="x1-101068r34"></a><span
+class="cmtt-8"> set</span><br class="fancyvrb" /><a
+ id="x1-103068r34"></a><span
class="cmr-6">34</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 19)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_step2_flag]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_step2</span><span
+class="cmtt-8">_flag]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> set</span>
-<br class="fancyvrb" /><a
- id="x1-101070r35"></a><span
+ <br class="fancyvrb" /><a
+ id="x1-103070r35"></a><span
class="cmr-6">35</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 20)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> [room]</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-101072r36"></a><span
-class="cmr-6">36</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101074r37"></a><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-103072r36"></a><span
+class="cmr-6">36</span><br class="fancyvrb" /><a
+ id="x1-103074r37"></a><span
class="cmr-6">37</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 21)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> [lowroom]</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-101076r38"></a><span
-class="cmr-6">38</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101078r39"></a><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-103076r38"></a><span
+class="cmr-6">38</span>
+ <br class="fancyvrb" /><a
+ id="x1-103078r39"></a><span
class="cmr-6">39</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 22)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_final_Y]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_final</span><span
+class="cmtt-8">_Y]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> -</span><span
class="cmtt-8"> [lowroom]</span><span
class="cmtt-8"> +</span><span
-class="cmtt-8"> [predicted]</span>
-<br class="fancyvrb" /><a
- id="x1-101080r40"></a><span
-class="cmr-6">40</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101082r41"></a><span
-class="cmr-6">41</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8">  </span><span
+class="cmtt-8"> [predicted]</span><br class="fancyvrb" /><a
+ id="x1-103080r40"></a><span
+class="cmr-6">40</span>
+ <br class="fancyvrb" /><a
+ id="x1-103082r41"></a><span
+class="cmr-6">41</span> <span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> than</span><span
class="cmtt-8"> [lowroom]</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-101084r42"></a><span
-class="cmr-6">42</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101086r43"></a><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-103084r42"></a><span
+class="cmr-6">42</span>
+ <br class="fancyvrb" /><a
+ id="x1-103086r43"></a><span
class="cmr-6">43</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 23)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_final_Y]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_final</span><span
+class="cmtt-8">_Y]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> +</span><span
class="cmtt-8"> [highroom]</span><span
class="cmtt-8"> -</span><span
-class="cmtt-8"> 1</span>
-<br class="fancyvrb" /><a
- id="x1-101088r44"></a><span
-class="cmr-6">44</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101090r45"></a><span
+class="cmtt-8"> 1</span><br class="fancyvrb" /><a
+ id="x1-103088r44"></a><span
+class="cmr-6">44</span>
+ <br class="fancyvrb" /><a
+ id="x1-103090r45"></a><span
class="cmr-6">45</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-101092r46"></a><span
-class="cmr-6">46</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101094r47"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-103092r46"></a><span
+class="cmr-6">46</span><br class="fancyvrb" /><a
+ id="x1-103094r47"></a><span
class="cmr-6">47</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmsy-8">}</span><span
class="cmtt-8"> else</span><span
class="cmtt-8"> [val]</span><span
class="cmtt-8"> than</span><span
class="cmtt-8"> [room]</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-101096r48"></a><span
-class="cmr-6">48</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101098r49"></a><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-103096r48"></a><span
+class="cmr-6">48</span>
+ <br class="fancyvrb" /><a
+ id="x1-103098r49"></a><span
class="cmr-6">49</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 24)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> ([val]</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> odd)</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-101100r50"></a><span
-class="cmr-6">50</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101102r51"></a><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-103100r50"></a><span
+class="cmr-6">50</span><br class="fancyvrb" /><a
+ id="x1-103102r51"></a><span
class="cmr-6">51</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 25)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_final_Y]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_final</span><span
+class="cmtt-8">_Y]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> =</span>
-<br class="fancyvrb" /><a
- id="x1-101104r52"></a><span
+ <br class="fancyvrb" /><a
+ id="x1-103104r52"></a><span
class="cmr-6">52</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> [predicted]</span><span
class="cmtt-8"> -</span><span
class="cmtt-8"> (([val]</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> using</span><span
class="cmtt-8"> integer</span><span
-class="cmtt-8"> division)</span>
-<br class="fancyvrb" /><a
- id="x1-101106r53"></a><span
-class="cmr-6">53</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101108r54"></a><span
+class="cmtt-8"> division)</span><br class="fancyvrb" /><a
+ id="x1-103106r53"></a><span
+class="cmr-6">53</span>
+ <br class="fancyvrb" /><a
+ id="x1-103108r54"></a><span
class="cmr-6">54</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmsy-8">}</span><span
class="cmtt-8"> else</span><span
class="cmtt-8"> [val]</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> even</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-101110r55"></a><span
-class="cmr-6">55</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101112r56"></a><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-103110r55"></a><span
+class="cmr-6">55</span><br class="fancyvrb" /><a
+ id="x1-103112r56"></a><span
class="cmr-6">56</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 26)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_final_Y]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_final</span><span
+class="cmtt-8">_Y]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> =</span>
-<br class="fancyvrb" /><a
- id="x1-101114r57"></a><span
+ <br class="fancyvrb" /><a
+ id="x1-103114r57"></a><span
class="cmr-6">57</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> [predicted]</span><span
class="cmtt-8"> +</span><span
class="cmtt-8"> ([val]</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> using</span><span
class="cmtt-8"> integer</span><span
-class="cmtt-8"> division)</span>
-<br class="fancyvrb" /><a
- id="x1-101116r58"></a><span
-class="cmr-6">58</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101118r59"></a><span
+class="cmtt-8"> division)</span><br class="fancyvrb" /><a
+ id="x1-103116r58"></a><span
+class="cmr-6">58</span><br class="fancyvrb" /><a
+ id="x1-103118r59"></a><span
class="cmr-6">59</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-101120r60"></a><span
-class="cmr-6">60</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101122r61"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-103120r60"></a><span
+class="cmr-6">60</span>
+ <br class="fancyvrb" /><a
+ id="x1-103122r61"></a><span
class="cmr-6">61</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-101124r62"></a><span
-class="cmr-6">62</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101126r63"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-103124r62"></a><span
+class="cmr-6">62</span><br class="fancyvrb" /><a
+ id="x1-103126r63"></a><span
class="cmr-6">63</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmsy-8">}</span><span
class="cmtt-8"> else</span><span
class="cmtt-8"> [val]</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> zero</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-101128r64"></a><span
-class="cmr-6">64</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101130r65"></a><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-103128r64"></a><span
+class="cmr-6">64</span><br class="fancyvrb" /><a
+ id="x1-103130r65"></a><span
class="cmr-6">65</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 27)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_step2_flag]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_step2</span><span
+class="cmtt-8">_flag]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> unset</span>
-
-
-
-<br class="fancyvrb" /><a
- id="x1-101132r66"></a><span
+ <br class="fancyvrb" /><a
+ id="x1-103132r66"></a><span
class="cmr-6">66</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 28)</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_final_Y]</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_final</span><span
+class="cmtt-8">_Y]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> [predicted]</span>
-<br class="fancyvrb" /><a
- id="x1-101134r67"></a><span
-class="cmr-6">67</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101136r68"></a><span
+class="cmtt-8"> [predicted]</span><br class="fancyvrb" /><a
+ id="x1-103134r67"></a><span
+class="cmr-6">67</span><br class="fancyvrb" /><a
+ id="x1-103136r68"></a><span
class="cmr-6">68</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-101138r69"></a><span
-class="cmr-6">69</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101140r70"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-103138r69"></a><span
+class="cmr-6">69</span><br class="fancyvrb" /><a
+ id="x1-103140r70"></a><span
class="cmr-6">70</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-101142r71"></a><span
-class="cmr-6">71</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101144r72"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-103142r71"></a><span
+class="cmr-6">71</span><br class="fancyvrb" /><a
+ id="x1-103144r72"></a><span
class="cmr-6">72</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 29)</span><span
-class="cmtt-8"> done</span>
-<br class="fancyvrb" /><a
- id="x1-101146r73"></a><span
-class="cmr-6">73</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-</div>
+class="cmtt-8"> done</span><br class="fancyvrb" /><a
+ id="x1-103146r73"></a><span
+class="cmr-6">73</span></div>
</dd><dt class="description">
<span
class="cmssbx-10x-x-120">step 2: curve synthesis</span> </dt><dd
class="description">
- <!--l. 351--><p class="noindent" >Curve synthesis generates a return vector <span
+ <!--l. 350--><p class="noindent" >Curve synthesis generates a return vector <span
class="cmtt-12">[floor] </span>of length <span
class="cmtt-12">[n] </span>(where <span
class="cmtt-12">[n] </span>is provided by
the decode process calling to floor decode). Floor 1 curve synthesis makes use of the
<span
-class="cmtt-12">[floor1_X_list]</span>, <span
-class="cmtt-12">[floor1_final_Y] </span>and <span
-class="cmtt-12">[floor1_step2_flag] </span>vectors, as well as
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_X</span><span
+class="cmtt-12">_list]</span>, <span
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_final</span><span
+class="cmtt-12">_Y] </span>and <span
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_step2</span><span
+class="cmtt-12">_flag] </span>vectors, as well as
[floor1_multiplier] and [floor1_values] values.
- <!--l. 358--><p class="noindent" >Decode begins by sorting the scalars from vectors <span
-class="cmtt-12">[floor1_X_list]</span>, <span
-class="cmtt-12">[floor1_final_Y] </span>and
+ <!--l. 357--><p class="noindent" >Decode begins by sorting the scalars from vectors <span
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_X</span><span
+class="cmtt-12">_list]</span>, <span
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_final</span><span
+class="cmtt-12">_Y] </span>and
<span
-class="cmtt-12">[floor1_step2_flag] </span>together into new vectors <span
-class="cmtt-12">[floor1_X_list]’</span>, <span
-class="cmtt-12">[floor1_final_Y]’</span>
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_step2</span><span
+class="cmtt-12">_flag] </span>together into new vectors <span
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_X</span><span
+class="cmtt-12">_list]’</span>, <span
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_final</span><span
+class="cmtt-12">_Y]’</span>
and <span
-class="cmtt-12">[floor1_step2_flag]’ </span>according to ascending sort order of the values in
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_step2</span><span
+class="cmtt-12">_flag]’ </span>according to ascending sort order of the values in
<span
-class="cmtt-12">[floor1_X_list]</span>. That is, sort the values of <span
-class="cmtt-12">[floor1_X_list] </span>and then apply the same
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_X</span><span
+class="cmtt-12">_list]</span>. That is, sort the values of <span
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_X</span><span
+class="cmtt-12">_list] </span>and then apply the same
permutation to elements of the other two vectors so that the X, Y and step2_flag values
still match.
- <!--l. 368--><p class="noindent" >Then compute the final curve in one pass:
- <!--l. 370--><p class="noindent" >
- <div class="fancyvrb" id="fancyvrb32">
-<a
- id="x1-101148r1"></a><span
+ <!--l. 367--><p class="noindent" >Then compute the final curve in one pass:
+ <!--l. 369--><p class="noindent" >
+ <div class="fancyvrb" id="fancyvrb32"><a
+ id="x1-103148r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> [hx]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> 0</span>
-<br class="fancyvrb" /><a
- id="x1-101150r2"></a><span
+class="cmtt-8"> 0</span><br class="fancyvrb" /><a
+ id="x1-103150r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> [lx]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> 0</span>
-<br class="fancyvrb" /><a
- id="x1-101152r3"></a><span
+class="cmtt-8"> 0</span><br class="fancyvrb" /><a
+ id="x1-103152r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> [ly]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> vector</span><span
-class="cmtt-8"> [floor1_final_Y]’</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_final</span><span
+class="cmtt-8">_Y]’</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [0]</span><span
class="cmtt-8"> *</span><span
-class="cmtt-8"> [floor1_multiplier]</span>
-<br class="fancyvrb" /><a
- id="x1-101154r4"></a><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_multiplier]</span>
+ <br class="fancyvrb" /><a
+ id="x1-103154r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> range</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> ...</span><span
-class="cmtt-8"> [floor1_values]-1</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_values]-1</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-101156r5"></a><span
-class="cmr-6">5</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101158r6"></a><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-103156r5"></a><span
+class="cmr-6">5</span><br class="fancyvrb" /><a
+ id="x1-103158r6"></a><span
class="cmr-6">6</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
-class="cmtt-8"> [floor1_step2_flag]’</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_step2</span><span
+class="cmtt-8">_flag]’</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> set</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-101160r7"></a><span
-class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101162r8"></a><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-103160r7"></a><span
+class="cmr-6">7</span>
+ <br class="fancyvrb" /><a
+ id="x1-103162r8"></a><span
class="cmr-6">8</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
class="cmtt-8"> [hy]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> [floor1_final_Y]’</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_final</span><span
+class="cmtt-8">_Y]’</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> *</span><span
-class="cmtt-8"> [floor1_multiplier]</span>
-<br class="fancyvrb" /><a
- id="x1-101164r9"></a><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_multiplier]</span><br class="fancyvrb" /><a
+ id="x1-103164r9"></a><span
class="cmr-6">9</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8">  </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
class="cmtt-8"> [hx]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> [floor1_X_list]’</span><span
+class="cmtt-8"> [floor1</span><span
+class="cmtt-8">_X</span><span
+class="cmtt-8">_list]’</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i]</span>
-<br class="fancyvrb" /><a
- id="x1-101166r10"></a><span
+ <br class="fancyvrb" /><a
+ id="x1-103166r10"></a><span
class="cmr-6">10</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 8)</span><span
class="cmtt-8"> </span><a
-href="#x1-1230009.2.7"><span
-class="cmtt-8">render_line</span></a><span
+href="#x1-1250009.2.7"><span
+class="cmtt-8">render</span><span
+class="cmtt-8">_line</span></a><span
class="cmtt-8">(</span><span
class="cmtt-8"> [lx],</span><span
class="cmtt-8"> [ly],</span><span
class="cmtt-8"> [hx],</span><span
class="cmtt-8"> [hy],</span><span
class="cmtt-8"> [floor]</span><span
-class="cmtt-8"> )</span>
-<br class="fancyvrb" /><a
- id="x1-101168r11"></a><span
+class="cmtt-8"> )</span><br class="fancyvrb" /><a
+ id="x1-103168r11"></a><span
class="cmr-6">11</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 9)</span><span
class="cmtt-8"> [lx]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> [hx]</span>
-<br class="fancyvrb" /><a
- id="x1-101170r12"></a><span
-class="cmr-6">12</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8">  </span><span
+class="cmtt-8"> [hx]</span><br class="fancyvrb" /><a
+ id="x1-103170r12"></a><span
+class="cmr-6">12</span> <span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 10)</span><span
class="cmtt-8"> [ly]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> [hy]</span>
-<br class="fancyvrb" /><a
- id="x1-101172r13"></a><span
+class="cmtt-8"> [hy]</span><br class="fancyvrb" /><a
+ id="x1-103172r13"></a><span
class="cmr-6">13</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-101174r14"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-103174r14"></a><span
class="cmr-6">14</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-101176r15"></a><span
-class="cmr-6">15</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101178r16"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-103176r15"></a><span
+class="cmr-6">15</span>
+ <br class="fancyvrb" /><a
+ id="x1-103178r16"></a><span
class="cmr-6">16</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 11)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> [n]</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-101180r17"></a><span
-class="cmr-6">17</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101182r18"></a><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-103180r17"></a><span
+class="cmr-6">17</span><br class="fancyvrb" /><a
+ id="x1-103182r18"></a><span
class="cmr-6">18</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 12)</span><span
class="cmtt-8"> </span><a
-href="#x1-1230009.2.7"><span
-class="cmtt-8">render_line</span></a><span
+href="#x1-1250009.2.7"><span
+class="cmtt-8">render</span><span
+class="cmtt-8">_line</span></a><span
class="cmtt-8">(</span><span
class="cmtt-8"> [hx],</span><span
class="cmtt-8"> [hy],</span><span
class="cmtt-8"> [n],</span><span
class="cmtt-8"> [hy],</span><span
class="cmtt-8"> [floor]</span><span
-class="cmtt-8"> )</span>
-<br class="fancyvrb" /><a
- id="x1-101184r19"></a><span
-class="cmr-6">19</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101186r20"></a><span
+class="cmtt-8"> )</span><br class="fancyvrb" /><a
+ id="x1-103184r19"></a><span
+class="cmr-6">19</span><br class="fancyvrb" /><a
+ id="x1-103186r20"></a><span
class="cmr-6">20</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-101188r21"></a><span
-class="cmr-6">21</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101190r22"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-103188r21"></a><span
+class="cmr-6">21</span><br class="fancyvrb" /><a
+ id="x1-103190r22"></a><span
class="cmr-6">22</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 13)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> [n]</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> </span><span
-class="cmsy-8">{</span>
-<br class="fancyvrb" /><a
- id="x1-101192r23"></a><span
-class="cmr-6">23</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101194r24"></a><span
+class="cmsy-8">{</span><br class="fancyvrb" /><a
+ id="x1-103192r23"></a><span
+class="cmr-6">23</span>
+ <br class="fancyvrb" /><a
+ id="x1-103194r24"></a><span
class="cmr-6">24</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 14)</span><span
class="cmtt-8"> truncate</span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> [floor]</span><span
class="cmtt-8"> to</span><span
class="cmtt-8"> [n]</span><span
-class="cmtt-8"> elements</span>
-<br class="fancyvrb" /><a
- id="x1-101196r25"></a><span
-class="cmr-6">25</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101198r26"></a><span
+class="cmtt-8"> elements</span><br class="fancyvrb" /><a
+ id="x1-103196r25"></a><span
+class="cmr-6">25</span><br class="fancyvrb" /><a
+ id="x1-103198r26"></a><span
class="cmr-6">26</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmsy-8">}</span>
-<br class="fancyvrb" /><a
- id="x1-101200r27"></a><span
-class="cmr-6">27</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-
-
-
-<br class="fancyvrb" /><a
- id="x1-101202r28"></a><span
+class="cmsy-8">}</span><br class="fancyvrb" /><a
+ id="x1-103200r27"></a><span
+class="cmr-6">27</span><br class="fancyvrb" /><a
+ id="x1-103202r28"></a><span
class="cmr-6">28</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 15)</span><span
class="cmtt-8"> for</span><span
class="cmtt-8"> each</span><span
class="cmtt-8"> lookup</span><span
class="cmtt-8"> substitution</span><span
class="cmtt-8"> using</span>
-<br class="fancyvrb" /><a
- id="x1-101204r29"></a><span
+ <br class="fancyvrb" /><a
+ id="x1-103204r29"></a><span
class="cmr-6">29</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> the</span><span
class="cmtt-8"> scalar</span><span
class="cmtt-8"> value</span><span
class="cmtt-8"> the</span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> </span><a
-href="#x1-12500010.1"><span
-class="cmtt-8">[floor1_inverse_dB_static_table]</span></a>
-<br class="fancyvrb" /><a
- id="x1-101206r30"></a><span
-class="cmr-6">30</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-101208r31"></a><span
+href="#x1-12700010.1"><span
+class="cmtt-8">[floor1</span><span
+class="cmtt-8">_inverse</span><span
+class="cmtt-8">_dB</span><span
+class="cmtt-8">_static</span><span
+class="cmtt-8">_table]</span></a><br class="fancyvrb" /><a
+ id="x1-103206r30"></a><span
+class="cmr-6">30</span><br class="fancyvrb" /><a
+ id="x1-103208r31"></a><span
class="cmr-6">31</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 16)</span><span
-class="cmtt-8"> done</span>
-<br class="fancyvrb" /><a
- id="x1-101210r32"></a><span
-class="cmr-6">32</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-</div>
+class="cmtt-8"> done</span><br class="fancyvrb" /><a
+ id="x1-103210r32"></a><span
+class="cmr-6">32</span></div>
</dd></dl>
<h3 class="sectionHead"><span class="titlemark">8. </span> <a
- id="x1-1020008"></a>Residue setup and decode</h3>
-<!--l. 6--><p class="noindent" >
+ id="x1-1040008"></a>Residue setup and decode</h3>
+<!--l. 5--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">8.1. </span> <a
- id="x1-1030008.1"></a>Overview</h4>
-<!--l. 8--><p class="noindent" >A residue vector represents the fine detail of the audio spectrum of one channel in an audio frame
+ id="x1-1050008.1"></a>Overview</h4>
+<!--l. 7--><p class="noindent" >A residue vector represents the fine detail of the audio spectrum of one channel in an audio frame
after the encoder subtracts the floor curve and performs any channel coupling. A residue vector
may represent spectral lines, spectral magnitude, spectral phase or hybrids as mixed by channel
coupling. The exact semantic content of the vector does not matter to the residue
abstraction.
-<!--l. 15--><p class="noindent" >Whatever the exact qualities, the Vorbis residue abstraction codes the residue vectors into the
+<!--l. 14--><p class="noindent" >Whatever the exact qualities, the Vorbis residue abstraction codes the residue vectors into the
bitstream packet, and then reconstructs the vectors during decode. Vorbis makes use of three
different encoding variants (numbered 0, 1 and 2) of the same basic vector encoding
abstraction.
-<!--l. 23--><p class="noindent" >
+<!--l. 22--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">8.2. </span> <a
- id="x1-1040008.2"></a>Residue format</h4>
-<!--l. 25--><p class="noindent" >Residue format partitions each vector in the vector bundle into chunks, classifies each
+ id="x1-1060008.2"></a>Residue format</h4>
+<!--l. 24--><p class="noindent" >Residue format partitions each vector in the vector bundle into chunks, classifies each
chunk, encodes the chunk classifications and finally encodes the chunks themselves
using the the specific VQ arrangement defined for each selected classification. The
exact interleaving and partitioning vary by residue encoding number, however the
high-level process used to classify and encode the residue vector is the same in all three
variants.
-<!--l. 33--><p class="noindent" >A set of coded residue vectors are all of the same length. High level coding structure, ignoring for
+<!--l. 32--><p class="noindent" >A set of coded residue vectors are all of the same length. High level coding structure, ignoring for
the moment exactly how a partition is encoded and simply trusting that it is, is as
follows:
<ul class="itemize1">
</li></ul>
<div class="center"
>
-<!--l. 70--><p class="noindent" >
+<!--l. 69--><p class="noindent" >
-<!--l. 71--><p class="noindent" ><img
+<!--l. 70--><p class="noindent" ><img
src="residue-pack.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure 11: </span><span
-class="content">illustration of residue vector format</span></div><!--tex4ht:label?: x1-10400111 -->
+class="content">illustration of residue vector format</span></div><!--tex4ht:label?: x1-10600111 -->
</div>
-<!--l. 77--><p class="noindent" >
+<!--l. 76--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">8.3. </span> <a
- id="x1-1050008.3"></a>residue 0</h4>
-<!--l. 79--><p class="noindent" >Residue 0 and 1 differ only in the way the values within a residue partition are interleaved during
+ id="x1-1070008.3"></a>residue 0</h4>
+<!--l. 78--><p class="noindent" >Residue 0 and 1 differ only in the way the values within a residue partition are interleaved during
partition encoding (visually treated as a black box–or cyan box or brown box–in the above
figure).
-<!--l. 83--><p class="noindent" >Residue encoding 0 interleaves VQ encoding according to the dimension of the codebook used to
+<!--l. 82--><p class="noindent" >Residue encoding 0 interleaves VQ encoding according to the dimension of the codebook used to
encode a partition in a specific pass. The dimension of the codebook need not be the same in
multiple passes, however the partition size must be an even multiple of the codebook
dimension.
-<!--l. 89--><p class="noindent" >As an example, assume a partition vector of size eight, to be encoded by residue 0 using
+<!--l. 88--><p class="noindent" >As an example, assume a partition vector of size eight, to be encoded by residue 0 using
codebook sizes of 8, 4, 2 and 1:
-<!--l. 92--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb33">
-<a
- id="x1-105002r1"></a><span
-class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-105004r2"></a><span
+<!--l. 91--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb33"><a
+ id="x1-107002r1"></a><span
+class="cmr-6">1</span><br class="fancyvrb" /><a
+ id="x1-107004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> original</span><span
class="cmtt-8"> residue</span><span
class="cmtt-8"> vector:</span><span
class="cmtt-8"> 5</span><span
class="cmtt-8"> 6</span><span
class="cmtt-8"> 7</span><span
-class="cmtt-8"> ]</span>
-<br class="fancyvrb" /><a
- id="x1-105006r3"></a><span
-class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-105008r4"></a><span
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
+ id="x1-107006r3"></a><span
+class="cmr-6">3</span><br class="fancyvrb" /><a
+ id="x1-107008r4"></a><span
class="cmr-6">4</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> codebook</span><span
+class="cmtt-8">codebook</span><span
class="cmtt-8"> dimensions</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> 8</span><span
class="cmtt-8"> 5</span><span
class="cmtt-8"> 6</span><span
class="cmtt-8"> 7</span><span
-class="cmtt-8"> ]</span>
-<br class="fancyvrb" /><a
- id="x1-105010r5"></a><span
-class="cmr-6">5</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
+ id="x1-107010r5"></a><span
+class="cmr-6">5</span>
<br class="fancyvrb" /><a
- id="x1-105012r6"></a><span
+ id="x1-107012r6"></a><span
class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> codebook</span><span
+class="cmtt-8">codebook</span><span
class="cmtt-8"> dimensions</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> 4</span><span
class="cmtt-8"> 3</span><span
class="cmtt-8"> 5</span><span
class="cmtt-8"> 7</span><span
-class="cmtt-8"> ]</span>
-<br class="fancyvrb" /><a
- id="x1-105014r7"></a><span
-class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-105016r8"></a><span
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
+ id="x1-107014r7"></a><span
+class="cmr-6">7</span><br class="fancyvrb" /><a
+ id="x1-107016r8"></a><span
class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> codebook</span><span
+class="cmtt-8">codebook</span><span
class="cmtt-8"> dimensions</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> 3</span><span
class="cmtt-8"> 7</span><span
-class="cmtt-8"> ]</span>
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
+ id="x1-107018r9"></a><span
+class="cmr-6">9</span>
<br class="fancyvrb" /><a
- id="x1-105018r9"></a><span
-class="cmr-6">9</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-105020r10"></a><span
+ id="x1-107020r10"></a><span
class="cmr-6">10</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> codebook</span><span
+class="cmtt-8">codebook</span><span
class="cmtt-8"> dimensions</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> ],</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> 7</span><span
-class="cmtt-8"> ]</span>
-<br class="fancyvrb" /><a
- id="x1-105022r11"></a><span
-class="cmr-6">11</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-</div>
-<!--l. 106--><p class="noindent" >It is worth mentioning at this point that no configurable value in the residue coding setup is
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
+ id="x1-107022r11"></a><span
+class="cmr-6">11</span></div>
+<!--l. 105--><p class="noindent" >It is worth mentioning at this point that no configurable value in the residue coding setup is
restricted to a power of two.
-<!--l. 111--><p class="noindent" >
+<!--l. 110--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">8.4. </span> <a
- id="x1-1060008.4"></a>residue 1</h4>
-<!--l. 113--><p class="noindent" >Residue 1 does not interleave VQ encoding. It represents partition vector scalars in order. As
+ id="x1-1080008.4"></a>residue 1</h4>
+<!--l. 112--><p class="noindent" >Residue 1 does not interleave VQ encoding. It represents partition vector scalars in order. As
with residue 0, however, partition length must be an integer multiple of the codebook dimension,
although dimension may vary from pass to pass.
-<!--l. 118--><p class="noindent" >As an example, assume a partition vector of size eight, to be encoded by residue 0 using
+<!--l. 117--><p class="noindent" >As an example, assume a partition vector of size eight, to be encoded by residue 0 using
codebook sizes of 8, 4, 2 and 1:
-<!--l. 121--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb34">
-<a
- id="x1-106002r1"></a><span
-class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-106004r2"></a><span
+<!--l. 120--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb34"><a
+ id="x1-108002r1"></a><span
+class="cmr-6">1</span><br class="fancyvrb" /><a
+ id="x1-108004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> original</span><span
class="cmtt-8"> residue</span><span
class="cmtt-8"> vector:</span><span
class="cmtt-8"> 5</span><span
class="cmtt-8"> 6</span><span
class="cmtt-8"> 7</span><span
-class="cmtt-8"> ]</span>
-<br class="fancyvrb" /><a
- id="x1-106006r3"></a><span
-class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-106008r4"></a><span
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
+ id="x1-108006r3"></a><span
+class="cmr-6">3</span><br class="fancyvrb" /><a
+ id="x1-108008r4"></a><span
class="cmr-6">4</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> codebook</span><span
+class="cmtt-8">codebook</span><span
class="cmtt-8"> dimensions</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> 8</span><span
class="cmtt-8"> 5</span><span
class="cmtt-8"> 6</span><span
class="cmtt-8"> 7</span><span
-class="cmtt-8"> ]</span>
-<br class="fancyvrb" /><a
- id="x1-106010r5"></a><span
-class="cmr-6">5</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
+ id="x1-108010r5"></a><span
+class="cmr-6">5</span>
<br class="fancyvrb" /><a
- id="x1-106012r6"></a><span
+ id="x1-108012r6"></a><span
class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> codebook</span><span
+class="cmtt-8">codebook</span><span
class="cmtt-8"> dimensions</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> 4</span><span
class="cmtt-8"> 5</span><span
class="cmtt-8"> 6</span><span
class="cmtt-8"> 7</span><span
-class="cmtt-8"> ]</span>
-<br class="fancyvrb" /><a
- id="x1-106014r7"></a><span
-class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-106016r8"></a><span
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
+ id="x1-108014r7"></a><span
+class="cmr-6">7</span><br class="fancyvrb" /><a
+ id="x1-108016r8"></a><span
class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> codebook</span><span
+class="cmtt-8">codebook</span><span
class="cmtt-8"> dimensions</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> 2</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> 6</span><span
class="cmtt-8"> 7</span><span
-class="cmtt-8"> ]</span>
-<br class="fancyvrb" /><a
- id="x1-106018r9"></a><span
-class="cmr-6">9</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
+ id="x1-108018r9"></a><span
+class="cmr-6">9</span>
<br class="fancyvrb" /><a
- id="x1-106020r10"></a><span
+ id="x1-108020r10"></a><span
class="cmr-6">10</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> codebook</span><span
+class="cmtt-8">codebook</span><span
class="cmtt-8"> dimensions</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> 1</span><span
class="cmtt-8"> ],</span><span
class="cmtt-8"> [</span><span
class="cmtt-8"> 7</span><span
-class="cmtt-8"> ]</span>
-<br class="fancyvrb" /><a
- id="x1-106022r11"></a><span
-class="cmr-6">11</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-
-
-
-</div>
-<!--l. 137--><p class="noindent" >
+class="cmtt-8"> ]</span><br class="fancyvrb" /><a
+ id="x1-108022r11"></a><span
+class="cmr-6">11</span></div>
+<!--l. 136--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">8.5. </span> <a
- id="x1-1070008.5"></a>residue 2</h4>
-<!--l. 139--><p class="noindent" >Residue type two can be thought of as a variant of residue type 1. Rather than encoding multiple
+ id="x1-1090008.5"></a>residue 2</h4>
+<!--l. 138--><p class="noindent" >Residue type two can be thought of as a variant of residue type 1. Rather than encoding multiple
passed-in vectors as in residue type 1, the <span
class="cmti-12">ch </span>passed in vectors of length <span
class="cmti-12">n </span>are first interleaved
class="cmti-12">n</span>. Encoding then proceeds as in type 1. Decoding
is as in type 1 with decode interleave reversed. If operating on a single vector to begin with,
residue type 1 and type 2 are equivalent.
+
+
+
<div class="center"
>
-<!--l. 147--><p class="noindent" >
+<!--l. 146--><p class="noindent" >
-<!--l. 148--><p class="noindent" ><img
+<!--l. 147--><p class="noindent" ><img
src="residue2.png" alt="PIC"
>
<br /> <div class="caption"
><span class="id">Figure 12: </span><span
-class="content">illustration of residue type 2</span></div><!--tex4ht:label?: x1-10700112 -->
+class="content">illustration of residue type 2</span></div><!--tex4ht:label?: x1-10900112 -->
</div>
-<!--l. 153--><p class="noindent" >
+<!--l. 152--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">8.6. </span> <a
- id="x1-1080008.6"></a>Residue decode</h4>
-<!--l. 155--><p class="noindent" >
+ id="x1-1100008.6"></a>Residue decode</h4>
+<!--l. 154--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">8.6.1. </span> <a
- id="x1-1090008.6.1"></a>header decode</h5>
-<!--l. 157--><p class="noindent" >Header decode for all three residue types is identical.
-<div class="fancyvrb" id="fancyvrb35">
-<a
- id="x1-109002r1"></a><span
+ id="x1-1110008.6.1"></a>header decode</h5>
+<!--l. 156--><p class="noindent" >Header decode for all three residue types is identical.
+<div class="fancyvrb" id="fancyvrb35"><a
+ id="x1-111002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> [residue\_begin]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> bits</span><span
class="cmtt-8"> as</span><span
class="cmtt-8"> unsigned</span><span
-class="cmtt-8"> integer</span>
-<br class="fancyvrb" /><a
- id="x1-109004r2"></a><span
+class="cmtt-8"> integer</span><br class="fancyvrb" /><a
+ id="x1-111004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> [residue\_end]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> unsigned</span><span
class="cmtt-8"> integer</span>
<br class="fancyvrb" /><a
- id="x1-109006r3"></a><span
+ id="x1-111006r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> [residue\_partition\_size]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> add</span><span
class="cmtt-8"> one</span>
<br class="fancyvrb" /><a
- id="x1-109008r4"></a><span
+ id="x1-111008r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> [residue\_classifications]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> integer</span><span
class="cmtt-8"> and</span><span
class="cmtt-8"> add</span><span
-class="cmtt-8"> one</span>
-
-
-
-<br class="fancyvrb" /><a
- id="x1-109010r5"></a><span
+class="cmtt-8"> one</span><br class="fancyvrb" /><a
+ id="x1-111010r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> [residue\_classbook]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> bits</span><span
class="cmtt-8"> as</span><span
class="cmtt-8"> unsigned</span><span
-class="cmtt-8"> integer</span>
-</div>
-<!--l. 166--><p class="noindent" ><span
-class="cmtt-12">[residue_begin] </span>and <span
-class="cmtt-12">[residue_end] </span>select the specific sub-portion of each vector that is
+class="cmtt-8"> integer</span></div>
+<!--l. 165--><p class="noindent" ><span
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_begin] </span>and <span
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_end] </span>select the specific sub-portion of each vector that is
actually coded; it implements akin to a bandpass where, for coding purposes, the vector
effectively begins at element <span
-class="cmtt-12">[residue_begin] </span>and ends at <span
-class="cmtt-12">[residue_end]</span>. Preceding and
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_begin] </span>and ends at <span
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_end]</span>. Preceding and
following values in the unpacked vectors are zeroed. Note that for residue type 2, these
values as well as <span
-class="cmtt-12">[residue_partition_size]</span>apply to the interleaved vector, not the
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_partition</span><span
+class="cmtt-12">_size]</span>apply to the interleaved vector, not the
individual vectors before interleave. <span
-class="cmtt-12">[residue_partition_size] </span>is as explained above,
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_partition</span><span
+class="cmtt-12">_size] </span>is as explained above,
<span
-class="cmtt-12">[residue_classifications] </span>is the number of possible classification to which a partition can
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_classifications] </span>is the number of possible classification to which a partition can
belong and <span
-class="cmtt-12">[residue_classbook] </span>is the codebook number used to code classification
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_classbook] </span>is the codebook number used to code classification
codewords. The number of dimensions in book <span
-class="cmtt-12">[residue_classbook] </span>determines how
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_classbook] </span>determines how
many classification values are grouped into a single classification codeword. Note that
the number of entries and dimensions in book <span
-class="cmtt-12">[residue_classbook]</span>, along with
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_classbook]</span>, along with
<span
-class="cmtt-12">[residue_classifications]</span>, overdetermines to possible number of classification
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_classifications]</span>, overdetermines to possible number of classification
codewords. If <span
-class="cmtt-12">[residue_classifications]</span>ˆ<span
-class="cmtt-12">[residue_classbook]</span>.dimensions exceeds
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_classifications]</span>ˆ<span
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_classbook]</span>.dimensions exceeds
<span
-class="cmtt-12">[residue_classbook]</span>.entries, the bitstream should be regarded to be undecodable.
-<!--l. 190--><p class="noindent" >Next we read a bitmap pattern that specifies which partition classes code values in which
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_classbook]</span>.entries, the bitstream should be regarded to be undecodable.
+
+
+
+<!--l. 189--><p class="noindent" >Next we read a bitmap pattern that specifies which partition classes code values in which
passes.
-<!--l. 193--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb36">
-<a
- id="x1-109012r1"></a><span
+<!--l. 192--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb36"><a
+ id="x1-111012r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ...</span><span
class="cmtt-8"> [residue\_classifications]-1</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-109014r2"></a><span
-class="cmr-6">2</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-109016r3"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-111014r2"></a><span
+class="cmr-6">2</span><br class="fancyvrb" /><a
+ id="x1-111016r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> [high\_bits]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> 0</span>
-<br class="fancyvrb" /><a
- id="x1-109018r4"></a><span
+class="cmtt-8"> 0</span><br class="fancyvrb" /><a
+ id="x1-111018r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> [low\_bits]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> unsigned</span><span
class="cmtt-8"> integer</span>
<br class="fancyvrb" /><a
- id="x1-109020r5"></a><span
+ id="x1-111020r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> [bitflag]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> one</span><span
class="cmtt-8"> bit</span><span
class="cmtt-8"> as</span><span
-class="cmtt-8"> boolean</span>
-<br class="fancyvrb" /><a
- id="x1-109022r6"></a><span
+class="cmtt-8"> boolean</span><br class="fancyvrb" /><a
+ id="x1-111022r6"></a><span
class="cmr-6">6</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> unsigned</span><span
class="cmtt-8"> integer</span>
<br class="fancyvrb" /><a
- id="x1-109024r7"></a><span
+ id="x1-111024r7"></a><span
class="cmr-6">7</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> [residue\_cascade]</span><span
class="cmtt-8"> *</span><span
class="cmtt-8"> 8</span><span
class="cmtt-8"> +</span><span
-class="cmtt-8"> [low\_bits]</span>
-<br class="fancyvrb" /><a
- id="x1-109026r8"></a><span
+class="cmtt-8"> [low\_bits]</span><br class="fancyvrb" /><a
+ id="x1-111026r8"></a><span
class="cmr-6">8</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-109028r9"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-111028r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
-class="cmtt-8"> done</span>
-</div>
-<!--l. 205--><p class="noindent" >Finally, we read in a list of book numbers, each corresponding to specific bit set in the cascade
+class="cmtt-8"> done</span></div>
+<!--l. 204--><p class="noindent" >Finally, we read in a list of book numbers, each corresponding to specific bit set in the cascade
bitmap. We loop over the possible codebook classifications and the maximum possible number of
encoding stages (8 in Vorbis I, as constrained by the elements of the cascade bitmap being eight
bits):
-<!--l. 211--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb37">
-<a
- id="x1-109030r1"></a><span
+<!--l. 210--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb37"><a
+ id="x1-111030r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ...</span><span
class="cmtt-8"> [residue\_classifications]-1</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-109032r2"></a><span
-class="cmr-6">2</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-109034r3"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-111032r2"></a><span
+class="cmr-6">2</span><br class="fancyvrb" /><a
+ id="x1-111034r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [j]</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ...</span><span
class="cmtt-8"> 7</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-109036r4"></a><span
-class="cmr-6">4</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-111036r4"></a><span
+class="cmr-6">4</span>
<br class="fancyvrb" /><a
- id="x1-109038r5"></a><span
+ id="x1-111038r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> set</span><span
class="cmtt-8"> )</span><span
-class="cmtt-8"> {</span>
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-111040r6"></a><span
+class="cmr-6">6</span>
<br class="fancyvrb" /><a
- id="x1-109040r6"></a><span
-class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-109042r7"></a><span
+ id="x1-111042r7"></a><span
class="cmr-6">7</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> array</span><span
class="cmtt-8"> [residue\_books]</span><span
class="cmtt-8"> bits</span><span
class="cmtt-8"> as</span><span
class="cmtt-8"> unsigned</span><span
-class="cmtt-8"> integer</span>
-<br class="fancyvrb" /><a
- id="x1-109044r8"></a><span
-class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-109046r9"></a><span
+class="cmtt-8"> integer</span><br class="fancyvrb" /><a
+ id="x1-111044r8"></a><span
+class="cmr-6">8</span><br class="fancyvrb" /><a
+ id="x1-111046r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> }</span><span
class="cmtt-8"> else</span><span
-class="cmtt-8"> {</span>
-
-
-
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-111048r10"></a><span
+class="cmr-6">10</span>
<br class="fancyvrb" /><a
- id="x1-109048r10"></a><span
-class="cmr-6">10</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-109050r11"></a><span
+ id="x1-111050r11"></a><span
class="cmr-6">11</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> array</span><span
class="cmtt-8"> [residue\_books]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [i][j]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> unused</span>
-<br class="fancyvrb" /><a
- id="x1-109052r12"></a><span
-class="cmr-6">12</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-109054r13"></a><span
+class="cmtt-8"> unused</span><br class="fancyvrb" /><a
+ id="x1-111052r12"></a><span
+class="cmr-6">12</span><br class="fancyvrb" /><a
+ id="x1-111054r13"></a><span
class="cmr-6">13</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-109056r14"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-111056r14"></a><span
class="cmr-6">14</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-109058r15"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-111058r15"></a><span
class="cmr-6">15</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-109060r16"></a><span
-class="cmr-6">16</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-109062r17"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-111060r16"></a><span
+class="cmr-6">16</span><br class="fancyvrb" /><a
+ id="x1-111062r17"></a><span
class="cmr-6">17</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
-class="cmtt-8"> done</span>
-</div>
-<!--l. 231--><p class="noindent" >An end-of-packet condition at any point in header decode renders the stream undecodable.
+class="cmtt-8"> done</span></div>
+<!--l. 230--><p class="noindent" >An end-of-packet condition at any point in header decode renders the stream undecodable.
In addition, any codebook number greater than the maximum numbered codebook
set up in this stream also renders the stream undecodable. All codebooks in array
[residue_books] are required to have a value mapping. The presence of codebook in array
[residue_books] without a value mapping (maptype equals zero) renders the stream
undecodable.
-<!--l. 241--><p class="noindent" >
+<!--l. 240--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">8.6.2. </span> <a
- id="x1-1100008.6.2"></a>packet decode</h5>
-<!--l. 243--><p class="noindent" >Format 0 and 1 packet decode is identical except for specific partition interleave. Format 2 packet
+ id="x1-1120008.6.2"></a>packet decode</h5>
+<!--l. 242--><p class="noindent" >Format 0 and 1 packet decode is identical except for specific partition interleave. Format 2 packet
decode can be built out of the format 1 decode process. Thus we describe first the decode
infrastructure identical to all three formats.
-<!--l. 248--><p class="noindent" >In addition to configuration information, the residue decode process is passed the number of
+<!--l. 247--><p class="noindent" >In addition to configuration information, the residue decode process is passed the number of
vectors in the submap bundle and a vector of flags indicating if any of the vectors are not to be
decoded. If the passed in number of vectors is 3 and vector number 1 is marked ’do not decode’,
decode skips vector 1 during the decode loop. However, even ’do not decode’ vectors are
allocated and zeroed.
-<!--l. 255--><p class="noindent" >Depending on the values of <span
-class="cmtt-12">[residue_begin] </span>and <span
-class="cmtt-12">[residue_end]</span>, it is obvious that the
+<!--l. 254--><p class="noindent" >Depending on the values of <span
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_begin] </span>and <span
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_end]</span>, it is obvious that the
encoded portion of a residue vector may be the entire possible residue vector or some other strict
subset of the actual residue vector size with zero padding at either uncoded end. However, it is
also possible to set <span
-class="cmtt-12">[residue_begin] </span>and <span
-class="cmtt-12">[residue_end] </span>to specify a range partially or wholly
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_begin] </span>and <span
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_end] </span>to specify a range partially or wholly
+
+
+
beyond the maximum vector size. Before beginning residue decode, limit <span
-class="cmtt-12">[residue_begin]</span>
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_begin]</span>
and <span
-class="cmtt-12">[residue_end] </span>to the maximum possible vector size as follows. We assume that
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_end] </span>to the maximum possible vector size as follows. We assume that
the number of vectors being encoded, <span
class="cmtt-12">[ch] </span>is provided by the higher level decoding
process.
-<!--l. 269--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb38">
-<a
- id="x1-110002r1"></a><span
+<!--l. 268--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb38"><a
+ id="x1-112002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> [actual\_size]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> current</span><span
-class="cmtt-8"> blocksize/2;</span>
-<br class="fancyvrb" /><a
- id="x1-110004r2"></a><span
+class="cmtt-8"> blocksize/2;</span><br class="fancyvrb" /><a
+ id="x1-112004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> residue</span><span
class="cmtt-8"> encoding</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> format</span><span
-class="cmtt-8"> 2</span>
-<br class="fancyvrb" /><a
- id="x1-110006r3"></a><span
+class="cmtt-8"> 2</span><br class="fancyvrb" /><a
+ id="x1-112006r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> [actual\_size]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [actual\_size]</span><span
class="cmtt-8"> *</span><span
class="cmtt-8"> [ch];</span>
-
-
-
<br class="fancyvrb" /><a
- id="x1-110008r4"></a><span
+ id="x1-112008r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> [limit\_residue\_begin]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> maximum</span><span
+class="cmtt-8"> minimum</span><span
class="cmtt-8"> of</span><span
-class="cmtt-8"> ([residue\_begin],[actual\_size]);</span>
-<br class="fancyvrb" /><a
- id="x1-110010r5"></a><span
+class="cmtt-8"> ([residue\_begin],[actual\_size]);</span><br class="fancyvrb" /><a
+ id="x1-112010r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> [limit\_residue\_end]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> maximum</span><span
+class="cmtt-8"> minimum</span><span
class="cmtt-8"> of</span><span
-class="cmtt-8"> ([residue\_end],[actual\_size]);</span>
-</div>
-<!--l. 277--><p class="noindent" >The following convenience values are conceptually useful to clarifying the decode process:
-<!--l. 280--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb39">
-<a
- id="x1-110012r1"></a><span
+class="cmtt-8"> ([residue\_end],[actual\_size]);</span></div>
+<!--l. 276--><p class="noindent" >The following convenience values are conceptually useful to clarifying the decode process:
+<!--l. 279--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb39"><a
+ id="x1-112012r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> [classwords\_per\_codeword]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> codebook</span><span
class="cmtt-8"> [residue\_classbook]</span>
<br class="fancyvrb" /><a
- id="x1-110014r2"></a><span
+ id="x1-112014r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> [n\_to\_read]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [limit\_residue\_end]</span><span
class="cmtt-8"> -</span><span
-class="cmtt-8"> [limit\_residue\_begin]</span>
-<br class="fancyvrb" /><a
- id="x1-110016r3"></a><span
+class="cmtt-8"> [limit\_residue\_begin]</span><br class="fancyvrb" /><a
+ id="x1-112016r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> [partitions\_to\_read]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [n\_to\_read]</span><span
class="cmtt-8"> /</span><span
-class="cmtt-8"> [residue\_partition\_size]</span>
-</div>
-<!--l. 286--><p class="noindent" >Packet decode proceeds as follows, matching the description offered earlier in the document.
-<div class="fancyvrb" id="fancyvrb40">
-<a
- id="x1-110018r1"></a><span
+class="cmtt-8"> [residue\_partition\_size]</span></div>
+<!--l. 285--><p class="noindent" >Packet decode proceeds as follows, matching the description offered earlier in the document.
+<div class="fancyvrb" id="fancyvrb40"><a
+ id="x1-112018r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> allocate</span><span
class="cmtt-8"> and</span><span
class="cmtt-8"> that</span><span
class="cmtt-8"> will</span><span
class="cmtt-8"> be</span><span
-class="cmtt-8"> returned.</span>
-<br class="fancyvrb" /><a
- id="x1-110020r2"></a><span
+class="cmtt-8"> returned.</span><br class="fancyvrb" /><a
+ id="x1-112020r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> ([n\_to\_read]</span><span
class="cmtt-8"> to</span><span
class="cmtt-8"> decode.</span>
<br class="fancyvrb" /><a
- id="x1-110022r3"></a><span
+ id="x1-112022r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [pass]</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ...</span><span
class="cmtt-8"> 7</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-110024r4"></a><span
-class="cmr-6">4</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-110026r5"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-112024r4"></a><span
+class="cmr-6">4</span><br class="fancyvrb" /><a
+ id="x1-112026r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> [partition\_count]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> 0</span>
+class="cmtt-8"> 0</span><br class="fancyvrb" /><a
+ id="x1-112028r6"></a><span
+class="cmr-6">6</span>
<br class="fancyvrb" /><a
- id="x1-110028r6"></a><span
-class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-110030r7"></a><span
+ id="x1-112030r7"></a><span
class="cmr-6">7</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> while</span><span
class="cmtt-8"> [partition\_count]</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> less</span><span
class="cmtt-8"> than</span><span
-class="cmtt-8"> [partitions\_to\_read]</span>
-<br class="fancyvrb" /><a
- id="x1-110032r8"></a><span
-class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-110034r9"></a><span
+class="cmtt-8"> [partitions\_to\_read]</span><br class="fancyvrb" /><a
+ id="x1-112032r8"></a><span
+class="cmr-6">8</span><br class="fancyvrb" /><a
+ id="x1-112034r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> ([pass]</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> zero)</span><span
-class="cmtt-8"> {</span>
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-112036r10"></a><span
+class="cmr-6">10</span>
<br class="fancyvrb" /><a
- id="x1-110036r10"></a><span
-class="cmr-6">10</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-110038r11"></a><span
+ id="x1-112038r11"></a><span
class="cmr-6">11</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [j]</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ..</span><span
class="cmtt-8"> [ch]-1</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-110040r12"></a><span
-class="cmr-6">12</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-110042r13"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-112040r12"></a><span
+class="cmr-6">12</span><br class="fancyvrb" /><a
+ id="x1-112042r13"></a><span
class="cmr-6">13</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 8)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> ’do</span><span
class="cmtt-8"> not</span><span
class="cmtt-8"> decode’</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-110044r14"></a><span
-class="cmr-6">14</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-112044r14"></a><span
+class="cmr-6">14</span>
<br class="fancyvrb" /><a
- id="x1-110046r15"></a><span
+ id="x1-112046r15"></a><span
class="cmr-6">15</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 9)</span><span
class="cmtt-8"> [temp]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> scalar</span><span
class="cmtt-8"> context</span>
<br class="fancyvrb" /><a
- id="x1-110048r16"></a><span
+ id="x1-112048r16"></a><span
class="cmr-6">16</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 10)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> [classwords\_per\_codeword]-1</span><span
class="cmtt-8"> ...</span><span
class="cmtt-8"> 0</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-110050r17"></a><span
-class="cmr-6">17</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-112050r17"></a><span
+class="cmr-6">17</span>
<br class="fancyvrb" /><a
- id="x1-110052r18"></a><span
+ id="x1-112052r18"></a><span
class="cmr-6">18</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 11)</span><span
class="cmtt-8"> array</span><span
class="cmtt-8"> [classifications]</span><span
class="cmtt-8"> [j],([i]+[partition\_count])</span><span
class="cmtt-8"> =</span>
<br class="fancyvrb" /><a
- id="x1-110054r19"></a><span
+ id="x1-112054r19"></a><span
class="cmr-6">19</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> [temp]</span><span
class="cmtt-8"> integer</span><span
class="cmtt-8"> modulo</span><span
class="cmtt-8"> [residue\_classifications]</span>
<br class="fancyvrb" /><a
- id="x1-110056r20"></a><span
+ id="x1-112056r20"></a><span
class="cmr-6">20</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 12)</span><span
class="cmtt-8"> [temp]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [residue\_classifications]</span><span
class="cmtt-8"> using</span><span
class="cmtt-8"> integer</span><span
-class="cmtt-8"> division</span>
-<br class="fancyvrb" /><a
- id="x1-110058r21"></a><span
-class="cmr-6">21</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmtt-8"> division</span><br class="fancyvrb" /><a
+ id="x1-112058r21"></a><span
+class="cmr-6">21</span>
<br class="fancyvrb" /><a
- id="x1-110060r22"></a><span
+ id="x1-112060r22"></a><span
class="cmr-6">22</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-110062r23"></a><span
-class="cmr-6">23</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-110064r24"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-112062r23"></a><span
+class="cmr-6">23</span><br class="fancyvrb" /><a
+ id="x1-112064r24"></a><span
class="cmr-6">24</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-112066r25"></a><span
+class="cmr-6">25</span><br class="fancyvrb" /><a
+ id="x1-112068r26"></a><span
+class="cmr-6">26</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-110066r25"></a><span
-class="cmr-6">25</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-110068r26"></a><span
-class="cmr-6">26</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-112070r27"></a><span
+class="cmr-6">27</span><br class="fancyvrb" /><a
+ id="x1-112072r28"></a><span
+class="cmr-6">28</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-110070r27"></a><span
-class="cmr-6">27</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-110072r28"></a><span
-class="cmr-6">28</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-110074r29"></a><span
-class="cmr-6">29</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-110076r30"></a><span
-class="cmr-6">30</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-112074r29"></a><span
+class="cmr-6">29</span>
+<br class="fancyvrb" /><a
+ id="x1-112076r30"></a><span
+class="cmr-6">30</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> while</span><span
class="cmtt-8"> [partition\_count]</span>
<br class="fancyvrb" /><a
- id="x1-110078r31"></a><span
+ id="x1-112078r31"></a><span
class="cmr-6">31</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> also</span><span
class="cmtt-8"> less</span><span
class="cmtt-8"> than</span><span
class="cmtt-8"> [partitions\_to\_read]</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-110080r32"></a><span
-class="cmr-6">32</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-110082r33"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-112080r32"></a><span
+class="cmr-6">32</span><br class="fancyvrb" /><a
+ id="x1-112082r33"></a><span
class="cmr-6">33</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 14)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [j]</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ..</span><span
class="cmtt-8"> [ch]-1</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-110084r34"></a><span
-class="cmr-6">34</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-112084r34"></a><span
+class="cmr-6">34</span>
<br class="fancyvrb" /><a
- id="x1-110086r35"></a><span
+ id="x1-112086r35"></a><span
class="cmr-6">35</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 15)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> ’do</span><span
class="cmtt-8"> not</span><span
class="cmtt-8"> decode’</span><span
-class="cmtt-8"> {</span>
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-112088r36"></a><span
+class="cmr-6">36</span>
<br class="fancyvrb" /><a
- id="x1-110088r36"></a><span
-class="cmr-6">36</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-110090r37"></a><span
+ id="x1-112090r37"></a><span
class="cmr-6">37</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 16)</span><span
class="cmtt-8"> [vqclass]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [j],[partition\_count]</span>
<br class="fancyvrb" /><a
- id="x1-110092r38"></a><span
+ id="x1-112092r38"></a><span
class="cmr-6">38</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 17)</span><span
class="cmtt-8"> [vqbook]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> array</span><span
class="cmtt-8"> [residue\_books]</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> [vqclass],[pass]</span>
-<br class="fancyvrb" /><a
- id="x1-110094r39"></a><span
+class="cmtt-8"> [vqclass],[pass]</span><br class="fancyvrb" /><a
+ id="x1-112094r39"></a><span
class="cmr-6">39</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 18)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> ([vqbook]</span><span
class="cmtt-8"> is</span><span
class="cmtt-8"> not</span><span
class="cmtt-8"> ’unused’)</span><span
-class="cmtt-8"> {</span>
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-112096r40"></a><span
+class="cmr-6">40</span>
<br class="fancyvrb" /><a
- id="x1-110096r40"></a><span
-class="cmr-6">40</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-110098r41"></a><span
+ id="x1-112098r41"></a><span
class="cmr-6">41</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 19)</span><span
class="cmtt-8"> decode</span><span
class="cmtt-8"> partition</span><span
class="cmtt-8"> at</span><span
class="cmtt-8"> scalar</span>
<br class="fancyvrb" /><a
- id="x1-110100r42"></a><span
+ id="x1-112100r42"></a><span
class="cmr-6">42</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> offset</span><span
class="cmtt-8"> [limit\_residue\_begin]+[partition\_count]*[residue\_partition\_size]</span><span
class="cmtt-8"> using</span>
<br class="fancyvrb" /><a
- id="x1-110102r43"></a><span
+ id="x1-112102r43"></a><span
class="cmr-6">43</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> codebook</span><span
class="cmtt-8"> number</span><span
class="cmtt-8"> [vqbook]</span><span
class="cmtt-8"> in</span><span
class="cmtt-8"> VQ</span><span
-class="cmtt-8"> context</span>
-<br class="fancyvrb" /><a
- id="x1-110104r44"></a><span
+class="cmtt-8"> context</span><br class="fancyvrb" /><a
+ id="x1-112104r44"></a><span
class="cmr-6">44</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> }</span>
-
-
-
<br class="fancyvrb" /><a
- id="x1-110106r45"></a><span
+ id="x1-112106r45"></a><span
class="cmr-6">45</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-110108r46"></a><span
-class="cmr-6">46</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-110110r47"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-112108r46"></a><span
+class="cmr-6">46</span><br class="fancyvrb" /><a
+ id="x1-112110r47"></a><span
class="cmr-6">47</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 20)</span><span
class="cmtt-8"> increment</span><span
class="cmtt-8"> [partition\_count]</span><span
class="cmtt-8"> by</span><span
-class="cmtt-8"> one</span>
-<br class="fancyvrb" /><a
- id="x1-110112r48"></a><span
-class="cmr-6">48</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-110114r49"></a><span
+class="cmtt-8"> one</span><br class="fancyvrb" /><a
+ id="x1-112112r48"></a><span
+class="cmr-6">48</span><br class="fancyvrb" /><a
+ id="x1-112114r49"></a><span
class="cmr-6">49</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-110116r50"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-112116r50"></a><span
class="cmr-6">50</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-110118r51"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-112118r51"></a><span
class="cmr-6">51</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-110120r52"></a><span
-class="cmr-6">52</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-110122r53"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-112120r52"></a><span
+class="cmr-6">52</span><br class="fancyvrb" /><a
+ id="x1-112122r53"></a><span
class="cmr-6">53</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 21)</span><span
-class="cmtt-8"> done</span>
-<br class="fancyvrb" /><a
- id="x1-110124r54"></a><span
-class="cmr-6">54</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-</div>
-<!--l. 344--><p class="noindent" >An end-of-packet condition during packet decode is to be considered a nominal occurrence.
+class="cmtt-8"> done</span><br class="fancyvrb" /><a
+ id="x1-112124r54"></a><span
+class="cmr-6">54</span></div>
+<!--l. 343--><p class="noindent" >An end-of-packet condition during packet decode is to be considered a nominal occurrence.
Decode returns the result of vector decode up to that point.
-<!--l. 350--><p class="noindent" >
+<!--l. 349--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">8.6.3. </span> <a
- id="x1-1110008.6.3"></a>format 0 specifics</h5>
-<!--l. 352--><p class="noindent" >Format zero decodes partitions exactly as described earlier in the ’Residue Format: residue 0’
+ id="x1-1130008.6.3"></a>format 0 specifics</h5>
+<!--l. 351--><p class="noindent" >Format zero decodes partitions exactly as described earlier in the ’Residue Format: residue 0’
section. The following pseudocode presents the same algorithm. Assume:
+
+
+
<ul class="itemize1">
<li class="itemize"><span
class="cmtt-12">[n] </span>is the value in <span
-class="cmtt-12">[residue_partition_size]</span>
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_partition</span><span
+class="cmtt-12">_size]</span>
</li>
<li class="itemize"><span
class="cmtt-12">[v] </span>is the residue vector
</li>
<li class="itemize"><span
class="cmtt-12">[offset] </span>is the beginning read offset in [v]</li></ul>
-<!--l. 363--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb41">
-<a
- id="x1-111002r1"></a><span
+<!--l. 362--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb41"><a
+ id="x1-113002r1"></a><span
class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> [step]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [n]</span><span
class="cmtt-8"> /</span><span
-class="cmtt-8"> [codebook\_dimensions]</span>
-<br class="fancyvrb" /><a
- id="x1-111004r2"></a><span
+class="cmtt-8"> [codebook\_dimensions]</span><br class="fancyvrb" /><a
+ id="x1-113004r2"></a><span
class="cmr-6">2</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ...</span><span
class="cmtt-8"> [step]-1</span><span
-class="cmtt-8"> {</span>
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-113006r3"></a><span
+class="cmr-6">3</span>
<br class="fancyvrb" /><a
- id="x1-111006r3"></a><span
-class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-111008r4"></a><span
+ id="x1-113008r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> [entry\_temp]</span><span
class="cmtt-8"> VQ</span><span
class="cmtt-8"> context</span>
<br class="fancyvrb" /><a
- id="x1-111010r5"></a><span
+ id="x1-113010r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [j]</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ...</span><span
class="cmtt-8"> [codebook\_dimensions]-1</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-111012r6"></a><span
-class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-111014r7"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-113012r6"></a><span
+class="cmr-6">6</span><br class="fancyvrb" /><a
+ id="x1-113014r7"></a><span
class="cmr-6">7</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> [v]</span><span
class="cmtt-8"> ([offset]+[i]+[j]*[step])</span><span
class="cmtt-8"> =</span>
<br class="fancyvrb" /><a
- id="x1-111016r8"></a><span
-class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8">  </span><span
+ id="x1-113016r8"></a><span
+class="cmr-6">8</span> <span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> [v]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> ([offset]+[i]+[j]*[step])</span><span
-class="cmtt-8"> +</span>
-<br class="fancyvrb" /><a
- id="x1-111018r9"></a><span
+class="cmtt-8"> +</span><br class="fancyvrb" /><a
+ id="x1-113018r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> [entry\_temp]</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> [j]</span>
-<br class="fancyvrb" /><a
- id="x1-111020r10"></a><span
-class="cmr-6">10</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-111022r11"></a><span
+class="cmtt-8"> [j]</span><br class="fancyvrb" /><a
+ id="x1-113020r10"></a><span
+class="cmr-6">10</span><br class="fancyvrb" /><a
+ id="x1-113022r11"></a><span
class="cmr-6">11</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-111024r12"></a><span
-class="cmr-6">12</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-111026r13"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-113024r12"></a><span
+class="cmr-6">12</span><br class="fancyvrb" /><a
+ id="x1-113026r13"></a><span
class="cmr-6">13</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-111028r14"></a><span
-class="cmr-6">14</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-111030r15"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-113028r14"></a><span
+class="cmr-6">14</span><br class="fancyvrb" /><a
+ id="x1-113030r15"></a><span
class="cmr-6">15</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
-class="cmtt-8"> done</span>
-<br class="fancyvrb" /><a
- id="x1-111032r16"></a><span
-class="cmr-6">16</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-
-
-
-</div>
-<!--l. 384--><p class="noindent" >
+class="cmtt-8"> done</span><br class="fancyvrb" /><a
+ id="x1-113032r16"></a><span
+class="cmr-6">16</span></div>
+<!--l. 383--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">8.6.4. </span> <a
- id="x1-1120008.6.4"></a>format 1 specifics</h5>
-<!--l. 386--><p class="noindent" >Format 1 decodes partitions exactly as described earlier in the ’Residue Format: residue 1’
+ id="x1-1140008.6.4"></a>format 1 specifics</h5>
+<!--l. 385--><p class="noindent" >Format 1 decodes partitions exactly as described earlier in the ’Residue Format: residue 1’
section. The following pseudocode presents the same algorithm. Assume:
<ul class="itemize1">
<li class="itemize"><span
class="cmtt-12">[n] </span>is the value in <span
-class="cmtt-12">[residue_partition_size]</span>
+class="cmtt-12">[residue</span><span
+class="cmtt-12">_partition</span><span
+class="cmtt-12">_size]</span>
</li>
<li class="itemize"><span
class="cmtt-12">[v] </span>is the residue vector
</li>
<li class="itemize"><span
class="cmtt-12">[offset] </span>is the beginning read offset in [v]</li></ul>
-<!--l. 398--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb42">
-<a
- id="x1-112002r1"></a><span
+<!--l. 397--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb42"><a
+ id="x1-114002r1"></a><span
class="cmr-6">1</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> 0</span>
-<br class="fancyvrb" /><a
- id="x1-112004r2"></a><span
+class="cmtt-8"> 0</span><br class="fancyvrb" /><a
+ id="x1-114004r2"></a><span
class="cmr-6">2</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> [entry\_temp]</span><span
class="cmtt-8"> VQ</span><span
class="cmtt-8"> context</span>
<br class="fancyvrb" /><a
- id="x1-112006r3"></a><span
+ id="x1-114006r3"></a><span
class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [j]</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ...</span><span
class="cmtt-8"> [codebook\_dimensions]-1</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-112008r4"></a><span
-class="cmr-6">4</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-112010r5"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-114008r4"></a><span
+class="cmr-6">4</span><br class="fancyvrb" /><a
+ id="x1-114010r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> [v]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> ([offset]+[i])</span><span
-class="cmtt-8"> =</span>
-<br class="fancyvrb" /><a
- id="x1-112012r6"></a><span
-class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8">  </span><span
+class="cmtt-8"> =</span><br class="fancyvrb" /><a
+ id="x1-114012r6"></a><span
+class="cmr-6">6</span> <span
class="cmtt-8"> </span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> [v]</span><span
class="cmtt-8"> ([offset]+[i])</span><span
class="cmtt-8"> +</span>
<br class="fancyvrb" /><a
- id="x1-112014r7"></a><span
+ id="x1-114014r7"></a><span
class="cmr-6">7</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> [entry\_temp]</span><span
class="cmtt-8"> element</span><span
-class="cmtt-8"> [j]</span>
-<br class="fancyvrb" /><a
- id="x1-112016r8"></a><span
+class="cmtt-8"> [j]</span><br class="fancyvrb" /><a
+ id="x1-114016r8"></a><span
class="cmr-6">8</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> increment</span><span
-class="cmtt-8"> [i]</span>
-<br class="fancyvrb" /><a
- id="x1-112018r9"></a><span
-class="cmr-6">9</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-112020r10"></a><span
+class="cmtt-8"> [i]</span><br class="fancyvrb" /><a
+ id="x1-114018r9"></a><span
+class="cmr-6">9</span><br class="fancyvrb" /><a
+ id="x1-114020r10"></a><span
class="cmr-6">10</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-112022r11"></a><span
-class="cmr-6">11</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-112024r12"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-114022r11"></a><span
+class="cmr-6">11</span><br class="fancyvrb" /><a
+ id="x1-114024r12"></a><span
class="cmr-6">12</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> continue</span><span
class="cmtt-8"> at</span><span
class="cmtt-8"> step</span><span
-class="cmtt-8"> 2</span>
-<br class="fancyvrb" /><a
- id="x1-112026r13"></a><span
+class="cmtt-8"> 2</span><br class="fancyvrb" /><a
+ id="x1-114026r13"></a><span
class="cmr-6">13</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
-class="cmtt-8"> done</span>
-</div>
-<!--l. 416--><p class="noindent" >
+class="cmtt-8"> done</span></div>
+<!--l. 415--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">8.6.5. </span> <a
- id="x1-1130008.6.5"></a>format 2 specifics</h5>
-<!--l. 418--><p class="noindent" >Format 2 is reducible to format 1. It may be implemented as an additional step prior to and an
-additional post-decode step after a normal format 1 decode.
+ id="x1-1150008.6.5"></a>format 2 specifics</h5>
-<!--l. 421--><p class="noindent" >Format 2 handles ’do not decode’ vectors differently than residue 0 or 1; if all vectors are marked
+<!--l. 417--><p class="noindent" >Format 2 is reducible to format 1. It may be implemented as an additional step prior to and an
+additional post-decode step after a normal format 1 decode.
+<!--l. 420--><p class="noindent" >Format 2 handles ’do not decode’ vectors differently than residue 0 or 1; if all vectors are marked
’do not decode’, no decode occurrs. However, if at least one vector is to be decoded, all
the vectors are decoded. We then request normal format 1 to decode a single vector
representing all output channels, rather than a vector for each channel. After decode,
deinterleave the vector into independent vectors, one for each output channel. That
is:
-<!--l. 429--><p class="noindent" >
+<!--l. 428--><p class="noindent" >
<dl class="enumerate-enumitem"><dt class="enumerate-enumitem">
1. </dt><dd
class="enumerate-enumitem">If all vectors 0 through <span
described above into <span
class="cmti-12">ch </span>independent vectors, one for each outputchannel, according
to:
- <div class="fancyvrb" id="fancyvrb43">
-<a
- id="x1-113005r1"></a><span
+ <div class="fancyvrb" id="fancyvrb43"><a
+ id="x1-115005r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [i]</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ...</span><span
class="cmtt-8"> [n]-1</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-113007r2"></a><span
-class="cmr-6">2</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-113009r3"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-115007r2"></a><span
+class="cmr-6">2</span><br class="fancyvrb" /><a
+ id="x1-115009r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [j]</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> ...</span><span
class="cmtt-8"> [ch]-1</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-113011r4"></a><span
-class="cmr-6">4</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-113013r5"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-115011r4"></a><span
+class="cmr-6">4</span>
+ <br class="fancyvrb" /><a
+ id="x1-115013r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> output</span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> *</span><span
class="cmtt-8"> [ch]</span><span
class="cmtt-8"> +</span><span
-class="cmtt-8"> [j])</span>
-<br class="fancyvrb" /><a
- id="x1-113015r6"></a><span
-class="cmr-6">6</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-113017r7"></a><span
+class="cmtt-8"> [j])</span><br class="fancyvrb" /><a
+ id="x1-115015r6"></a><span
+class="cmr-6">6</span><br class="fancyvrb" /><a
+ id="x1-115017r7"></a><span
class="cmr-6">7</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-113019r8"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-115019r8"></a><span
class="cmr-6">8</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-113021r9"></a><span
-class="cmr-6">9</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-113023r10"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-115021r9"></a><span
+class="cmr-6">9</span><br class="fancyvrb" /><a
+ id="x1-115023r10"></a><span
class="cmr-6">10</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
-class="cmtt-8"> done</span>
-</div>
+class="cmtt-8"> done</span></div>
</dd></dl>
<h3 class="sectionHead"><span class="titlemark">9. </span> <a
- id="x1-1140009"></a>Helper equations</h3>
-<!--l. 6--><p class="noindent" >
+ id="x1-1160009"></a>Helper equations</h3>
+<!--l. 5--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">9.1. </span> <a
- id="x1-1150009.1"></a>Overview</h4>
-<!--l. 8--><p class="noindent" >The equations below are used in multiple places by the Vorbis codec specification. Rather than
+ id="x1-1170009.1"></a>Overview</h4>
+<!--l. 7--><p class="noindent" >The equations below are used in multiple places by the Vorbis codec specification. Rather than
cluttering up the main specification documents, they are defined here and referenced where
appropriate.
-<!--l. 13--><p class="noindent" >
+<!--l. 12--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">9.2. </span> <a
- id="x1-1160009.2"></a>Functions</h4>
-<!--l. 15--><p class="noindent" >
+ id="x1-1180009.2"></a>Functions</h4>
+<!--l. 14--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.2.1. </span> <a
- id="x1-1170009.2.1"></a>ilog</h5>
-<!--l. 17--><p class="noindent" >The ”ilog(x)” function returns the position number (1 through n) of the highest set bit in the
+ id="x1-1190009.2.1"></a>ilog</h5>
+<!--l. 16--><p class="noindent" >The ”ilog(x)” function returns the position number (1 through n) of the highest set bit in the
two’s complement integer value <span
class="cmtt-12">[x]</span>. Values of <span
class="cmtt-12">[x] </span>less than zero are defined to return
zero.
-<!--l. 20--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb44">
-<a
- id="x1-117002r1"></a><span
+<!--l. 19--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb44"><a
+ id="x1-119002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> [return\_value]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> 0;</span>
-<br class="fancyvrb" /><a
- id="x1-117004r2"></a><span
+class="cmtt-8"> 0;</span><br class="fancyvrb" /><a
+ id="x1-119004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> than</span><span
class="cmtt-8"> zero</span><span
class="cmtt-8"> )</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-117006r3"></a><span
-class="cmr-6">3</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-117008r4"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-119006r3"></a><span
+class="cmr-6">3</span><br class="fancyvrb" /><a
+ id="x1-119008r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> increment</span><span
class="cmtt-8"> [return\_value];</span>
<br class="fancyvrb" /><a
- id="x1-117010r5"></a><span
+ id="x1-119010r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> logical</span><span
class="cmtt-8"> shift</span><span
class="cmtt-8"> the</span><span
class="cmtt-8"> MSb</span><span
class="cmtt-8"> with</span><span
-class="cmtt-8"> zero</span>
-<br class="fancyvrb" /><a
- id="x1-117012r6"></a><span
+class="cmtt-8"> zero</span><br class="fancyvrb" /><a
+ id="x1-119012r6"></a><span
class="cmr-6">6</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> repeat</span><span
class="cmtt-8"> at</span><span
class="cmtt-8"> step</span><span
-class="cmtt-8"> 2)</span>
-<br class="fancyvrb" /><a
- id="x1-117014r7"></a><span
-class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-117016r8"></a><span
+class="cmtt-8"> 2)</span><br class="fancyvrb" /><a
+ id="x1-119014r7"></a><span
+class="cmr-6">7</span><br class="fancyvrb" /><a
+ id="x1-119016r8"></a><span
class="cmr-6">8</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-117018r9"></a><span
-class="cmr-6">9</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-117020r10"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-119018r9"></a><span
+class="cmr-6">9</span><br class="fancyvrb" /><a
+ id="x1-119020r10"></a><span
class="cmr-6">10</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
-class="cmtt-8"> done</span>
-</div>
-
-
-
-<!--l. 33--><p class="noindent" >Examples:
+class="cmtt-8"> done</span></div>
+<!--l. 32--><p class="noindent" >Examples:
<ul class="itemize1">
<li class="itemize">ilog(0) = 0;
</li>
<li class="itemize">ilog(1) = 1;
+
+
+
</li>
<li class="itemize">ilog(2) = 2;
</li>
<li class="itemize">ilog(7) = 3;
</li>
<li class="itemize">ilog(negative number) = 0;</li></ul>
-<!--l. 48--><p class="noindent" >
+<!--l. 47--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.2.2. </span> <a
- id="x1-1180009.2.2"></a>float32_unpack</h5>
-<!--l. 50--><p class="noindent" >”float32_unpack(x)” is intended to translate the packed binary representation of a Vorbis
+ id="x1-1200009.2.2"></a>float32_unpack</h5>
+<!--l. 49--><p class="noindent" >”float32_unpack(x)” is intended to translate the packed binary representation of a Vorbis
codebook float value into the representation used by the decoder for floating point numbers. For
purposes of this example, we will unpack a Vorbis float32 into a host-native floating point
number.
-<!--l. 56--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb45">
-<a
- id="x1-118002r1"></a><span
+<!--l. 55--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb45"><a
+ id="x1-120002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> [mantissa]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> AND</span><span
class="cmtt-8"> 0x1fffff</span><span
class="cmtt-8"> (unsigned</span><span
-class="cmtt-8"> result)</span>
-<br class="fancyvrb" /><a
- id="x1-118004r2"></a><span
+class="cmtt-8"> result)</span><br class="fancyvrb" /><a
+ id="x1-120004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> [sign]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> (unsigned</span><span
class="cmtt-8"> result)</span>
<br class="fancyvrb" /><a
- id="x1-118006r3"></a><span
+ id="x1-120006r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> [exponent]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> (unsigned</span><span
class="cmtt-8"> result)</span>
<br class="fancyvrb" /><a
- id="x1-118008r4"></a><span
+ id="x1-120008r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> )</span><span
class="cmtt-8"> then</span><span
class="cmtt-8"> negate</span><span
-class="cmtt-8"> [mantissa]</span>
-<br class="fancyvrb" /><a
- id="x1-118010r5"></a><span
+class="cmtt-8"> [mantissa]</span><br class="fancyvrb" /><a
+ id="x1-120010r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> return</span><span
class="cmtt-8"> [mantissa]</span><span
class="cmtt-8"> -</span><span
class="cmtt-8"> 788</span><span
class="cmtt-8"> )</span><span
-class="cmtt-8"> )</span>
-</div>
-
-
-
-<!--l. 66--><p class="noindent" >
+class="cmtt-8"> )</span></div>
+<!--l. 65--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.2.3. </span> <a
- id="x1-1190009.2.3"></a>lookup1_values</h5>
-<!--l. 68--><p class="noindent" >”lookup1_values(codebook_entries,codebook_dimensions)” is used to compute the
+ id="x1-1210009.2.3"></a>lookup1_values</h5>
+<!--l. 67--><p class="noindent" >”lookup1_values(codebook_entries,codebook_dimensions)” is used to compute the
correct length of the value index for a codebook VQ lookup table of lookup type 1.
The values on this list are permuted to construct the VQ vector lookup table of size
<span
-class="cmtt-12">[codebook_entries]</span>.
-<!--l. 74--><p class="noindent" >The return value for this function is defined to be ’the greatest integer value for which
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_entries]</span>.
+<!--l. 73--><p class="noindent" >The return value for this function is defined to be ’the greatest integer value for which
<span
-class="cmtt-12">[return_value] </span>to the power of <span
-class="cmtt-12">[codebook_dimensions] </span>is less than or equal to
+class="cmtt-12">[return</span><span
+class="cmtt-12">_value] </span>to the power of <span
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_dimensions] </span>is less than or equal to
<span
-class="cmtt-12">[codebook_entries]</span>’.
-<!--l. 81--><p class="noindent" >
+class="cmtt-12">[codebook</span><span
+class="cmtt-12">_entries]</span>’.
+
+
+
+<!--l. 80--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.2.4. </span> <a
- id="x1-1200009.2.4"></a>low_neighbor</h5>
-<!--l. 83--><p class="noindent" >”low_neighbor(v,x)” finds the position <span
+ id="x1-1220009.2.4"></a>low_neighbor</h5>
+<!--l. 82--><p class="noindent" >”low_neighbor(v,x)” finds the position <span
class="cmtt-12">n </span>in vector <span
class="cmtt-12">[v] </span>of the greatest value scalar element for
which <span
class="cmtt-12">[v] </span>element
<span
class="cmtt-12">[x]</span>.
-<!--l. 88--><p class="noindent" >
+<!--l. 87--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.2.5. </span> <a
- id="x1-1210009.2.5"></a>high_neighbor</h5>
-<!--l. 90--><p class="noindent" >”high_neighbor(v,x)” finds the position <span
+ id="x1-1230009.2.5"></a>high_neighbor</h5>
+<!--l. 89--><p class="noindent" >”high_neighbor(v,x)” finds the position <span
class="cmtt-12">n </span>in vector [v] of the lowest value scalar element for
which <span
class="cmtt-12">n </span>is less than <span
class="cmtt-12">[v] </span>element
<span
class="cmtt-12">[x]</span>.
-<!--l. 97--><p class="noindent" >
+<!--l. 96--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.2.6. </span> <a
- id="x1-1220009.2.6"></a>render_point</h5>
-<!--l. 99--><p class="noindent" >”render_point(x0,y0,x1,y1,X)” is used to find the Y value at point X along the line specified by
+ id="x1-1240009.2.6"></a>render_point</h5>
+<!--l. 98--><p class="noindent" >”render_point(x0,y0,x1,y1,X)” is used to find the Y value at point X along the line specified by
x0, x1, y0 and y1. This function uses an integer algorithm to solve for the point directly without
calculating intervening values along the line.
-
-
-
-<!--l. 104--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb46">
-<a
- id="x1-122002r1"></a><span
+<!--l. 103--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb46"><a
+ id="x1-124002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> [dy]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [y1]</span><span
class="cmtt-8"> -</span><span
-class="cmtt-8"> [y0]</span>
-<br class="fancyvrb" /><a
- id="x1-122004r2"></a><span
+class="cmtt-8"> [y0]</span><br class="fancyvrb" /><a
+ id="x1-124004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> [adx]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [x1]</span><span
class="cmtt-8"> -</span><span
-class="cmtt-8"> [x0]</span>
-<br class="fancyvrb" /><a
- id="x1-122006r3"></a><span
+class="cmtt-8"> [x0]</span><br class="fancyvrb" /><a
+ id="x1-124006r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> [ady]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> absolute</span><span
class="cmtt-8"> value</span><span
class="cmtt-8"> of</span><span
-class="cmtt-8"> [dy]</span>
-<br class="fancyvrb" /><a
- id="x1-122008r4"></a><span
+class="cmtt-8"> [dy]</span><br class="fancyvrb" /><a
+ id="x1-124008r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> [err]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> -</span><span
class="cmtt-8"> [x0])</span>
<br class="fancyvrb" /><a
- id="x1-122010r5"></a><span
+ id="x1-124010r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> [off]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [adx]</span><span
class="cmtt-8"> using</span><span
class="cmtt-8"> integer</span><span
-class="cmtt-8"> division</span>
-<br class="fancyvrb" /><a
- id="x1-122012r6"></a><span
+class="cmtt-8"> division</span><br class="fancyvrb" /><a
+ id="x1-124012r6"></a><span
class="cmr-6">6</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> than</span><span
class="cmtt-8"> zero</span><span
class="cmtt-8"> )</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-122014r7"></a><span
-class="cmr-6">7</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-122016r8"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-124014r7"></a><span
+class="cmr-6">7</span><br class="fancyvrb" /><a
+ id="x1-124016r8"></a><span
class="cmr-6">8</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
class="cmtt-8"> [Y]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [y0]</span><span
class="cmtt-8"> -</span><span
-class="cmtt-8"> [off]</span>
-<br class="fancyvrb" /><a
- id="x1-122018r9"></a><span
-class="cmr-6">9</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmtt-8"> [off]</span><br class="fancyvrb" /><a
+ id="x1-124018r9"></a><span
+class="cmr-6">9</span>
<br class="fancyvrb" /><a
- id="x1-122020r10"></a><span
+ id="x1-124020r10"></a><span
class="cmr-6">10</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> }</span><span
class="cmtt-8"> else</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-122022r11"></a><span
-class="cmr-6">11</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-122024r12"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-124022r11"></a><span
+class="cmr-6">11</span><br class="fancyvrb" /><a
+ id="x1-124024r12"></a><span
class="cmr-6">12</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 8)</span><span
class="cmtt-8"> [Y]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [y0]</span><span
class="cmtt-8"> +</span><span
-class="cmtt-8"> [off]</span>
-<br class="fancyvrb" /><a
- id="x1-122026r13"></a><span
-class="cmr-6">13</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-122028r14"></a><span
+class="cmtt-8"> [off]</span><br class="fancyvrb" /><a
+ id="x1-124026r13"></a><span
+class="cmr-6">13</span><br class="fancyvrb" /><a
+ id="x1-124028r14"></a><span
class="cmr-6">14</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-122030r15"></a><span
-class="cmr-6">15</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-122032r16"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-124030r15"></a><span
+class="cmr-6">15</span><br class="fancyvrb" /><a
+ id="x1-124032r16"></a><span
class="cmr-6">16</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 9)</span><span
-class="cmtt-8"> done</span>
-</div>
-<!--l. 125--><p class="noindent" >
+class="cmtt-8"> done</span></div>
+<!--l. 124--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">9.2.7. </span> <a
- id="x1-1230009.2.7"></a>render_line</h5>
-<!--l. 127--><p class="noindent" >Floor decode type one uses the integer line drawing algorithm of ”render_line(x0, y0, x1, y1, v)”
+ id="x1-1250009.2.7"></a>render_line</h5>
+
+
+
+<!--l. 126--><p class="noindent" >Floor decode type one uses the integer line drawing algorithm of ”render_line(x0, y0, x1, y1, v)”
to construct an integer floor curve for contiguous piecewise line segments. Note that it has not
been relevant elsewhere, but here we must define integer division as rounding division of both
positive and negative numbers toward zero.
-<!--l. 134--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb47">
-<a
- id="x1-123002r1"></a><span
+<!--l. 133--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb47"><a
+ id="x1-125002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1)</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [y1]</span><span
class="cmtt-8"> -</span><span
-class="cmtt-8"> [y0]</span>
-<br class="fancyvrb" /><a
- id="x1-123004r2"></a><span
+class="cmtt-8"> [y0]</span><br class="fancyvrb" /><a
+ id="x1-125004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2)</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> [adx]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [x1]</span><span
class="cmtt-8"> -</span><span
-class="cmtt-8"> [x0]</span>
-<br class="fancyvrb" /><a
- id="x1-123006r3"></a><span
+class="cmtt-8"> [x0]</span><br class="fancyvrb" /><a
+ id="x1-125006r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3)</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> [ady]</span><span
class="cmtt-8"> absolute</span><span
class="cmtt-8"> value</span><span
class="cmtt-8"> of</span><span
-class="cmtt-8"> [dy]</span>
-<br class="fancyvrb" /><a
- id="x1-123008r4"></a><span
+class="cmtt-8"> [dy]</span><br class="fancyvrb" /><a
+ id="x1-125008r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4)</span><span
class="cmtt-8"> [base]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> integer</span><span
class="cmtt-8"> division</span>
<br class="fancyvrb" /><a
- id="x1-123010r5"></a><span
+ id="x1-125010r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5)</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> [x]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> [x0]</span>
-<br class="fancyvrb" /><a
- id="x1-123012r6"></a><span
+class="cmtt-8"> [x0]</span><br class="fancyvrb" /><a
+ id="x1-125012r6"></a><span
class="cmr-6">6</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6)</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> [y]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> [y0]</span>
-<br class="fancyvrb" /><a
- id="x1-123014r7"></a><span
+class="cmtt-8"> [y0]</span><br class="fancyvrb" /><a
+ id="x1-125014r7"></a><span
class="cmr-6">7</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7)</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> [err]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> 0</span>
-<br class="fancyvrb" /><a
- id="x1-123016r8"></a><span
-class="cmr-6">8</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-123018r9"></a><span
+class="cmtt-8"> 0</span><br class="fancyvrb" /><a
+ id="x1-125016r8"></a><span
+class="cmr-6">8</span><br class="fancyvrb" /><a
+ id="x1-125018r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 8)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> than</span><span
class="cmtt-8"> 0</span><span
class="cmtt-8"> )</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-123020r10"></a><span
-class="cmr-6">10</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-123022r11"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-125020r10"></a><span
+class="cmr-6">10</span><br class="fancyvrb" /><a
+ id="x1-125022r11"></a><span
class="cmr-6">11</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 9)</span><span
class="cmtt-8"> [sy]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [base]</span><span
class="cmtt-8"> -</span><span
-class="cmtt-8"> 1</span>
-<br class="fancyvrb" /><a
- id="x1-123024r12"></a><span
-class="cmr-6">12</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmtt-8"> 1</span><br class="fancyvrb" /><a
+ id="x1-125024r12"></a><span
+class="cmr-6">12</span>
<br class="fancyvrb" /><a
- id="x1-123026r13"></a><span
+ id="x1-125026r13"></a><span
class="cmr-6">13</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> }</span><span
class="cmtt-8"> else</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-123028r14"></a><span
-class="cmr-6">14</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-123030r15"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-125028r14"></a><span
+class="cmr-6">14</span><br class="fancyvrb" /><a
+ id="x1-125030r15"></a><span
class="cmr-6">15</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 10)</span><span
class="cmtt-8"> [sy]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [base]</span><span
class="cmtt-8"> +</span><span
-class="cmtt-8"> 1</span>
-<br class="fancyvrb" /><a
- id="x1-123032r16"></a><span
-class="cmr-6">16</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-123034r17"></a><span
+class="cmtt-8"> 1</span><br class="fancyvrb" /><a
+ id="x1-125032r16"></a><span
+class="cmr-6">16</span><br class="fancyvrb" /><a
+ id="x1-125034r17"></a><span
class="cmr-6">17</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-123036r18"></a><span
-class="cmr-6">18</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-123038r19"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-125036r18"></a><span
+class="cmr-6">18</span><br class="fancyvrb" /><a
+ id="x1-125038r19"></a><span
class="cmr-6">19</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 11)</span><span
class="cmtt-8"> [ady]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> *</span><span
class="cmtt-8"> [adx]</span>
<br class="fancyvrb" /><a
- id="x1-123040r20"></a><span
+ id="x1-125040r20"></a><span
class="cmr-6">20</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 12)</span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> [v]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [x]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> [y]</span>
-<br class="fancyvrb" /><a
- id="x1-123042r21"></a><span
-class="cmr-6">21</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-123044r22"></a><span
+class="cmtt-8"> [y]</span><br class="fancyvrb" /><a
+ id="x1-125042r21"></a><span
+class="cmr-6">21</span><br class="fancyvrb" /><a
+ id="x1-125044r22"></a><span
class="cmr-6">22</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 13)</span><span
class="cmtt-8"> iterate</span><span
class="cmtt-8"> [x]</span><span
class="cmtt-8"> [x0]+1</span><span
class="cmtt-8"> ...</span><span
class="cmtt-8"> [x1]-1</span><span
-class="cmtt-8"> {</span>
-
-
-
-<br class="fancyvrb" /><a
- id="x1-123046r23"></a><span
-class="cmr-6">23</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-123048r24"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-125046r23"></a><span
+class="cmr-6">23</span><br class="fancyvrb" /><a
+ id="x1-125048r24"></a><span
class="cmr-6">24</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 14)</span><span
class="cmtt-8"> [err]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> +</span><span
class="cmtt-8"> [ady];</span>
<br class="fancyvrb" /><a
- id="x1-123050r25"></a><span
+ id="x1-125050r25"></a><span
class="cmr-6">25</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 15)</span><span
class="cmtt-8"> if</span><span
class="cmtt-8"> (</span><span
class="cmtt-8"> >=</span><span
class="cmtt-8"> [adx]</span><span
class="cmtt-8"> )</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-123052r26"></a><span
-class="cmr-6">26</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-123054r27"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-125052r26"></a><span
+class="cmr-6">26</span><br class="fancyvrb" /><a
+ id="x1-125054r27"></a><span
class="cmr-6">27</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 16)</span><span
class="cmtt-8"> [err]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [err]</span><span
class="cmtt-8"> -</span><span
-class="cmtt-8"> [adx]</span>
-<br class="fancyvrb" /><a
- id="x1-123056r28"></a><span
-class="cmr-6">28</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
+class="cmtt-8"> [adx]</span><br class="fancyvrb" /><a
+ id="x1-125056r28"></a><span
+class="cmr-6">28</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [y]</span><span
class="cmtt-8"> +</span><span
-class="cmtt-8"> [sy]</span>
-<br class="fancyvrb" /><a
- id="x1-123058r29"></a><span
-class="cmr-6">29</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
+class="cmtt-8"> [sy]</span><br class="fancyvrb" /><a
+ id="x1-125058r29"></a><span
+class="cmr-6">29</span>
<br class="fancyvrb" /><a
- id="x1-123060r30"></a><span
+ id="x1-125060r30"></a><span
class="cmr-6">30</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> }</span><span
class="cmtt-8"> else</span><span
-class="cmtt-8"> {</span>
-<br class="fancyvrb" /><a
- id="x1-123062r31"></a><span
-class="cmr-6">31</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-123064r32"></a><span
+class="cmtt-8"> {</span><br class="fancyvrb" /><a
+ id="x1-125062r31"></a><span
+class="cmr-6">31</span><br class="fancyvrb" /><a
+ id="x1-125064r32"></a><span
class="cmr-6">32</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 18)</span><span
class="cmtt-8"> [y]</span><span
class="cmtt-8"> =</span><span
class="cmtt-8"> [y]</span><span
class="cmtt-8"> +</span><span
-class="cmtt-8"> [base]</span>
-<br class="fancyvrb" /><a
- id="x1-123066r33"></a><span
-class="cmr-6">33</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-123068r34"></a><span
+class="cmtt-8"> [base]</span><br class="fancyvrb" /><a
+ id="x1-125066r33"></a><span
+class="cmr-6">33</span><br class="fancyvrb" /><a
+ id="x1-125068r34"></a><span
class="cmr-6">34</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-<br class="fancyvrb" /><a
- id="x1-123070r35"></a><span
-class="cmr-6">35</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-123072r36"></a><span
+class="cmtt-8"> }</span><br class="fancyvrb" /><a
+ id="x1-125070r35"></a><span
+class="cmr-6">35</span><br class="fancyvrb" /><a
+ id="x1-125072r36"></a><span
class="cmr-6">36</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 19)</span><span
class="cmtt-8"> vector</span><span
class="cmtt-8"> [v]</span><span
class="cmtt-8"> element</span><span
class="cmtt-8"> [x]</span><span
class="cmtt-8"> =</span><span
-class="cmtt-8"> [y]</span>
-<br class="fancyvrb" /><a
- id="x1-123074r37"></a><span
-class="cmr-6">37</span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span>
-<br class="fancyvrb" /><a
- id="x1-123076r38"></a><span
+class="cmtt-8"> [y]</span><br class="fancyvrb" /><a
+ id="x1-125074r37"></a><span
+class="cmr-6">37</span><br class="fancyvrb" /><a
+ id="x1-125076r38"></a><span
class="cmr-6">38</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> }</span>
-</div>
+class="cmtt-8"> }</span></div>
<h3 class="sectionHead"><span class="titlemark">10. </span> <a
- id="x1-12400010"></a>Tables</h3>
-<!--l. 6--><p class="noindent" >
+ id="x1-12600010"></a>Tables</h3>
+<!--l. 5--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">10.1. </span> <a
- id="x1-12500010.1"></a>floor1_inverse_dB_table</h4>
-<!--l. 8--><p class="noindent" >The vector <span
-class="cmtt-12">[floor1_inverse_dB_table] </span>is a 256 element static lookup table consiting of the
+ id="x1-12700010.1"></a>floor1_inverse_dB_table</h4>
+<!--l. 7--><p class="noindent" >The vector <span
+class="cmtt-12">[floor1</span><span
+class="cmtt-12">_inverse</span><span
+class="cmtt-12">_dB</span><span
+class="cmtt-12">_table] </span>is a 256 element static lookup table consisting of the
following values (read left to right then top to bottom):
-<!--l. 12--><p class="noindent" >
-<div class="fancyvrb" id="fancyvrb48">
-<a
- id="x1-125002r1"></a><span
+<!--l. 11--><p class="noindent" >
+<div class="fancyvrb" id="fancyvrb48"><a
+ id="x1-127002r1"></a><span
class="cmr-6">1</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1.0649863e-07,</span><span
class="cmtt-8"> 1.1341951e-07,</span><span
class="cmtt-8"> 1.2079015e-07,</span><span
-class="cmtt-8"> 1.2863978e-07,</span>
-<br class="fancyvrb" /><a
- id="x1-125004r2"></a><span
+class="cmtt-8"> 1.2863978e-07,</span><br class="fancyvrb" /><a
+ id="x1-127004r2"></a><span
class="cmr-6">2</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1.3699951e-07,</span><span
class="cmtt-8"> 1.4590251e-07,</span><span
class="cmtt-8"> 1.5538408e-07,</span><span
class="cmtt-8"> 1.6548181e-07,</span>
<br class="fancyvrb" /><a
- id="x1-125006r3"></a><span
+ id="x1-127006r3"></a><span
class="cmr-6">3</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1.7623575e-07,</span><span
class="cmtt-8"> 1.8768855e-07,</span><span
class="cmtt-8"> 1.9988561e-07,</span><span
-class="cmtt-8"> 2.1287530e-07,</span>
-<br class="fancyvrb" /><a
- id="x1-125008r4"></a><span
+class="cmtt-8"> 2.1287530e-07,</span><br class="fancyvrb" /><a
+ id="x1-127008r4"></a><span
class="cmr-6">4</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2.2670913e-07,</span><span
class="cmtt-8"> 2.4144197e-07,</span><span
class="cmtt-8"> 2.5713223e-07,</span><span
class="cmtt-8"> 2.7384213e-07,</span>
<br class="fancyvrb" /><a
- id="x1-125010r5"></a><span
+ id="x1-127010r5"></a><span
class="cmr-6">5</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2.9163793e-07,</span><span
class="cmtt-8"> 3.1059021e-07,</span><span
class="cmtt-8"> 3.3077411e-07,</span><span
-class="cmtt-8"> 3.5226968e-07,</span>
-<br class="fancyvrb" /><a
- id="x1-125012r6"></a><span
+class="cmtt-8"> 3.5226968e-07,</span><br class="fancyvrb" /><a
+ id="x1-127012r6"></a><span
class="cmr-6">6</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3.7516214e-07,</span><span
class="cmtt-8"> 3.9954229e-07,</span><span
class="cmtt-8"> 4.2550680e-07,</span><span
class="cmtt-8"> 4.5315863e-07,</span>
<br class="fancyvrb" /><a
- id="x1-125014r7"></a><span
+ id="x1-127014r7"></a><span
class="cmr-6">7</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4.8260743e-07,</span><span
class="cmtt-8"> 5.1396998e-07,</span><span
class="cmtt-8"> 5.4737065e-07,</span><span
-class="cmtt-8"> 5.8294187e-07,</span>
-<br class="fancyvrb" /><a
- id="x1-125016r8"></a><span
+class="cmtt-8"> 5.8294187e-07,</span><br class="fancyvrb" /><a
+ id="x1-127016r8"></a><span
class="cmr-6">8</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 6.2082472e-07,</span><span
class="cmtt-8"> 6.6116941e-07,</span><span
class="cmtt-8"> 7.0413592e-07,</span><span
class="cmtt-8"> 7.4989464e-07,</span>
<br class="fancyvrb" /><a
- id="x1-125018r9"></a><span
+ id="x1-127018r9"></a><span
class="cmr-6">9</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7.9862701e-07,</span><span
class="cmtt-8"> 8.5052630e-07,</span><span
class="cmtt-8"> 9.0579828e-07,</span><span
-class="cmtt-8"> 9.6466216e-07,</span>
-<br class="fancyvrb" /><a
- id="x1-125020r10"></a><span
+class="cmtt-8"> 9.6466216e-07,</span><br class="fancyvrb" /><a
+ id="x1-127020r10"></a><span
class="cmr-6">10</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1.0273513e-06,</span><span
class="cmtt-8"> 1.0941144e-06,</span><span
class="cmtt-8"> 1.1652161e-06,</span><span
class="cmtt-8"> 1.2409384e-06,</span>
<br class="fancyvrb" /><a
- id="x1-125022r11"></a><span
+ id="x1-127022r11"></a><span
class="cmr-6">11</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1.3215816e-06,</span><span
class="cmtt-8"> 1.4074654e-06,</span><span
class="cmtt-8"> 1.4989305e-06,</span><span
-class="cmtt-8"> 1.5963394e-06,</span>
-<br class="fancyvrb" /><a
- id="x1-125024r12"></a><span
+class="cmtt-8"> 1.5963394e-06,</span><br class="fancyvrb" /><a
+ id="x1-127024r12"></a><span
class="cmr-6">12</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1.7000785e-06,</span><span
class="cmtt-8"> 1.8105592e-06,</span><span
class="cmtt-8"> 1.9282195e-06,</span><span
class="cmtt-8"> 2.0535261e-06,</span>
<br class="fancyvrb" /><a
- id="x1-125026r13"></a><span
+ id="x1-127026r13"></a><span
class="cmr-6">13</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2.1869758e-06,</span><span
class="cmtt-8"> 2.3290978e-06,</span><span
class="cmtt-8"> 2.4804557e-06,</span><span
-class="cmtt-8"> 2.6416497e-06,</span>
-<br class="fancyvrb" /><a
- id="x1-125028r14"></a><span
+class="cmtt-8"> 2.6416497e-06,</span><br class="fancyvrb" /><a
+ id="x1-127028r14"></a><span
class="cmr-6">14</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2.8133190e-06,</span><span
class="cmtt-8"> 2.9961443e-06,</span><span
class="cmtt-8"> 3.1908506e-06,</span><span
class="cmtt-8"> 3.3982101e-06,</span>
<br class="fancyvrb" /><a
- id="x1-125030r15"></a><span
+ id="x1-127030r15"></a><span
class="cmr-6">15</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3.6190449e-06,</span><span
class="cmtt-8"> 3.8542308e-06,</span><span
class="cmtt-8"> 4.1047004e-06,</span><span
-class="cmtt-8"> 4.3714470e-06,</span>
-<br class="fancyvrb" /><a
- id="x1-125032r16"></a><span
+class="cmtt-8"> 4.3714470e-06,</span><br class="fancyvrb" /><a
+ id="x1-127032r16"></a><span
class="cmr-6">16</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4.6555282e-06,</span><span
class="cmtt-8"> 4.9580707e-06,</span><span
class="cmtt-8"> 5.2802740e-06,</span><span
class="cmtt-8"> 5.6234160e-06,</span>
<br class="fancyvrb" /><a
- id="x1-125034r17"></a><span
+ id="x1-127034r17"></a><span
class="cmr-6">17</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5.9888572e-06,</span><span
class="cmtt-8"> 6.3780469e-06,</span><span
class="cmtt-8"> 6.7925283e-06,</span><span
-class="cmtt-8"> 7.2339451e-06,</span>
-<br class="fancyvrb" /><a
- id="x1-125036r18"></a><span
+class="cmtt-8"> 7.2339451e-06,</span><br class="fancyvrb" /><a
+ id="x1-127036r18"></a><span
class="cmr-6">18</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7.7040476e-06,</span><span
class="cmtt-8"> 8.2047000e-06,</span><span
class="cmtt-8"> 8.7378876e-06,</span><span
class="cmtt-8"> 9.3057248e-06,</span>
<br class="fancyvrb" /><a
- id="x1-125038r19"></a><span
+ id="x1-127038r19"></a><span
class="cmr-6">19</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 9.9104632e-06,</span><span
class="cmtt-8"> 1.0554501e-05,</span><span
class="cmtt-8"> 1.1240392e-05,</span><span
-class="cmtt-8"> 1.1970856e-05,</span>
-<br class="fancyvrb" /><a
- id="x1-125040r20"></a><span
+class="cmtt-8"> 1.1970856e-05,</span><br class="fancyvrb" /><a
+ id="x1-127040r20"></a><span
class="cmr-6">20</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1.2748789e-05,</span><span
class="cmtt-8"> 1.3577278e-05,</span><span
class="cmtt-8"> 1.4459606e-05,</span><span
class="cmtt-8"> 1.5399272e-05,</span>
<br class="fancyvrb" /><a
- id="x1-125042r21"></a><span
+ id="x1-127042r21"></a><span
class="cmr-6">21</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 1.6400004e-05,</span><span
class="cmtt-8"> 1.7465768e-05,</span><span
class="cmtt-8"> 1.8600792e-05,</span><span
-class="cmtt-8"> 1.9809576e-05,</span>
-<br class="fancyvrb" /><a
- id="x1-125044r22"></a><span
+class="cmtt-8"> 1.9809576e-05,</span><br class="fancyvrb" /><a
+ id="x1-127044r22"></a><span
class="cmr-6">22</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2.1096914e-05,</span><span
class="cmtt-8"> 2.2467911e-05,</span><span
class="cmtt-8"> 2.3928002e-05,</span><span
class="cmtt-8"> 2.5482978e-05,</span>
<br class="fancyvrb" /><a
- id="x1-125046r23"></a><span
+ id="x1-127046r23"></a><span
class="cmr-6">23</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 2.7139006e-05,</span><span
class="cmtt-8"> 2.8902651e-05,</span><span
class="cmtt-8"> 3.0780908e-05,</span><span
-class="cmtt-8"> 3.2781225e-05,</span>
-<br class="fancyvrb" /><a
- id="x1-125048r24"></a><span
+class="cmtt-8"> 3.2781225e-05,</span><br class="fancyvrb" /><a
+ id="x1-127048r24"></a><span
class="cmr-6">24</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 3.4911534e-05,</span><span
class="cmtt-8"> 3.7180282e-05,</span><span
class="cmtt-8"> 3.9596466e-05,</span><span
class="cmtt-8"> 4.2169667e-05,</span>
<br class="fancyvrb" /><a
- id="x1-125050r25"></a><span
+ id="x1-127050r25"></a><span
class="cmr-6">25</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 4.4910090e-05,</span><span
class="cmtt-8"> 4.7828601e-05,</span><span
class="cmtt-8"> 5.0936773e-05,</span><span
-class="cmtt-8"> 5.4246931e-05,</span>
-<br class="fancyvrb" /><a
- id="x1-125052r26"></a><span
+class="cmtt-8"> 5.4246931e-05,</span><br class="fancyvrb" /><a
+ id="x1-127052r26"></a><span
class="cmr-6">26</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 5.7772202e-05,</span><span
class="cmtt-8"> 6.1526565e-05,</span><span
class="cmtt-8"> 6.5524908e-05,</span><span
class="cmtt-8"> 6.9783085e-05,</span>
<br class="fancyvrb" /><a
- id="x1-125054r27"></a><span
+ id="x1-127054r27"></a><span
class="cmr-6">27</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 7.4317983e-05,</span><span
class="cmtt-8"> 7.9147585e-05,</span><span
class="cmtt-8"> 8.4291040e-05,</span><span
-class="cmtt-8"> 8.9768747e-05,</span>
-<br class="fancyvrb" /><a
- id="x1-125056r28"></a><span
+class="cmtt-8"> 8.9768747e-05,</span><br class="fancyvrb" /><a
+ id="x1-127056r28"></a><span
class="cmr-6">28</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 9.5602426e-05,</span><span
class="cmtt-8"> 0.00010181521,</span><span
class="cmtt-8"> 0.00010843174,</span><span
class="cmtt-8"> 0.00011547824,</span>
<br class="fancyvrb" /><a
- id="x1-125058r29"></a><span
+ id="x1-127058r29"></a><span
class="cmr-6">29</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.00012298267,</span><span
class="cmtt-8"> 0.00013097477,</span><span
class="cmtt-8"> 0.00013948625,</span><span
-class="cmtt-8"> 0.00014855085,</span>
-<br class="fancyvrb" /><a
- id="x1-125060r30"></a><span
+class="cmtt-8"> 0.00014855085,</span><br class="fancyvrb" /><a
+ id="x1-127060r30"></a><span
class="cmr-6">30</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.00015820453,</span><span
class="cmtt-8"> 0.00016848555,</span><span
class="cmtt-8"> 0.00017943469,</span><span
class="cmtt-8"> 0.00019109536,</span>
<br class="fancyvrb" /><a
- id="x1-125062r31"></a><span
+ id="x1-127062r31"></a><span
class="cmr-6">31</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.00020351382,</span><span
class="cmtt-8"> 0.00021673929,</span><span
class="cmtt-8"> 0.00023082423,</span><span
-class="cmtt-8"> 0.00024582449,</span>
-<br class="fancyvrb" /><a
- id="x1-125064r32"></a><span
+class="cmtt-8"> 0.00024582449,</span><br class="fancyvrb" /><a
+ id="x1-127064r32"></a><span
class="cmr-6">32</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.00026179955,</span><span
class="cmtt-8"> 0.00027881276,</span><span
class="cmtt-8"> 0.00029693158,</span><span
class="cmtt-8"> 0.00031622787,</span>
<br class="fancyvrb" /><a
- id="x1-125066r33"></a><span
+ id="x1-127066r33"></a><span
class="cmr-6">33</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.00033677814,</span><span
class="cmtt-8"> 0.00035866388,</span><span
class="cmtt-8"> 0.00038197188,</span><span
-class="cmtt-8"> 0.00040679456,</span>
-<br class="fancyvrb" /><a
- id="x1-125068r34"></a><span
+class="cmtt-8"> 0.00040679456,</span><br class="fancyvrb" /><a
+ id="x1-127068r34"></a><span
class="cmr-6">34</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.00043323036,</span><span
class="cmtt-8"> 0.00046138411,</span><span
class="cmtt-8"> 0.00049136745,</span><span
class="cmtt-8"> 0.00052329927,</span>
<br class="fancyvrb" /><a
- id="x1-125070r35"></a><span
+ id="x1-127070r35"></a><span
class="cmr-6">35</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.00055730621,</span><span
class="cmtt-8"> 0.00059352311,</span><span
class="cmtt-8"> 0.00063209358,</span><span
-class="cmtt-8"> 0.00067317058,</span>
-<br class="fancyvrb" /><a
- id="x1-125072r36"></a><span
+class="cmtt-8"> 0.00067317058,</span><br class="fancyvrb" /><a
+ id="x1-127072r36"></a><span
class="cmr-6">36</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.00071691700,</span><span
class="cmtt-8"> 0.00076350630,</span><span
class="cmtt-8"> 0.00081312324,</span><span
class="cmtt-8"> 0.00086596457,</span>
<br class="fancyvrb" /><a
- id="x1-125074r37"></a><span
+ id="x1-127074r37"></a><span
class="cmr-6">37</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.00092223983,</span><span
class="cmtt-8"> 0.00098217216,</span><span
class="cmtt-8"> 0.0010459992,</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> 0.0011139742,</span>
-<br class="fancyvrb" /><a
- id="x1-125076r38"></a><span
+class="cmtt-8"> 0.0011139742,</span><br class="fancyvrb" /><a
+ id="x1-127076r38"></a><span
class="cmr-6">38</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.0011863665,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.0012634633,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.0014330129,</span>
<br class="fancyvrb" /><a
- id="x1-125078r39"></a><span
+ id="x1-127078r39"></a><span
class="cmr-6">39</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.0015261382,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.0016253153,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.0017309374,</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> 0.0018434235,</span>
-<br class="fancyvrb" /><a
- id="x1-125080r40"></a><span
+class="cmtt-8"> 0.0018434235,</span><br class="fancyvrb" /><a
+ id="x1-127080r40"></a><span
class="cmr-6">40</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.0019632195,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.0020908006,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.0023713743,</span>
<br class="fancyvrb" /><a
- id="x1-125082r41"></a><span
+ id="x1-127082r41"></a><span
class="cmr-6">41</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.0025254795,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.0026895994,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.0028643847,</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> 0.0030505286,</span>
-<br class="fancyvrb" /><a
- id="x1-125084r42"></a><span
+class="cmtt-8"> 0.0030505286,</span><br class="fancyvrb" /><a
+ id="x1-127084r42"></a><span
class="cmr-6">42</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.0032487691,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.0034598925,</span><span
class="cmtt-8"> 0.0036847358,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.0039241906,</span>
-
-
-
<br class="fancyvrb" /><a
- id="x1-125086r43"></a><span
+ id="x1-127086r43"></a><span
class="cmr-6">43</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.0041792066,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.0044507950,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.0047400328,</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> 0.0050480668,</span>
-<br class="fancyvrb" /><a
- id="x1-125088r44"></a><span
+class="cmtt-8"> 0.0050480668,</span><br class="fancyvrb" /><a
+ id="x1-127088r44"></a><span
class="cmr-6">44</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.0053761186,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.0057254891,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.0064938176,</span>
<br class="fancyvrb" /><a
- id="x1-125090r45"></a><span
+ id="x1-127090r45"></a><span
class="cmr-6">45</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.0069158225,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.0073652516,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.0078438871,</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> 0.0083536271,</span>
-<br class="fancyvrb" /><a
- id="x1-125092r46"></a><span
+class="cmtt-8"> 0.0083536271,</span><br class="fancyvrb" /><a
+ id="x1-127092r46"></a><span
class="cmr-6">46</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.0088964928,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.009474637,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.010746080,</span>
<br class="fancyvrb" /><a
- id="x1-125094r47"></a><span
+ id="x1-127094r47"></a><span
class="cmr-6">47</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.011444421,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.012980198,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> 0.013823725,</span>
-<br class="fancyvrb" /><a
- id="x1-125096r48"></a><span
+class="cmtt-8"> 0.013823725,</span><br class="fancyvrb" /><a
+ id="x1-127096r48"></a><span
class="cmr-6">48</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.014722068,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.017782797,</span>
<br class="fancyvrb" /><a
- id="x1-125098r49"></a><span
+ id="x1-127098r49"></a><span
class="cmr-6">49</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.018938423,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.021479854,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> 0.022875735,</span>
-<br class="fancyvrb" /><a
- id="x1-125100r50"></a><span
+class="cmtt-8"> 0.022875735,</span><br class="fancyvrb" /><a
+ id="x1-127100r50"></a><span
class="cmr-6">50</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.024362330,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.029427276,</span>
<br class="fancyvrb" /><a
- id="x1-125102r51"></a><span
+ id="x1-127102r51"></a><span
class="cmr-6">51</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.031339626,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.035545228,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> 0.037855157,</span>
-<br class="fancyvrb" /><a
- id="x1-125104r52"></a><span
+class="cmtt-8"> 0.037855157,</span><br class="fancyvrb" /><a
+ id="x1-127104r52"></a><span
class="cmr-6">52</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.040315199,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.048696758,</span>
<br class="fancyvrb" /><a
- id="x1-125106r53"></a><span
+ id="x1-127106r53"></a><span
class="cmr-6">53</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.051861348,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.058820850,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> 0.062643361,</span>
-<br class="fancyvrb" /><a
- id="x1-125108r54"></a><span
+class="cmtt-8"> 0.062643361,</span><br class="fancyvrb" /><a
+ id="x1-127108r54"></a><span
class="cmr-6">54</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.066714279,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.080584227,</span>
<br class="fancyvrb" /><a
- id="x1-125110r55"></a><span
+ id="x1-127110r55"></a><span
class="cmr-6">55</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.085821044,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.097337747,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> 0.10366330,</span>
-<br class="fancyvrb" /><a
- id="x1-125112r56"></a><span
+class="cmtt-8"> 0.10366330,</span><br class="fancyvrb" /><a
+ id="x1-127112r56"></a><span
class="cmr-6">56</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.11039993,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.13335215,</span>
<br class="fancyvrb" /><a
- id="x1-125114r57"></a><span
+ id="x1-127114r57"></a><span
class="cmr-6">57</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.14201813,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> 0.17154380,</span>
-<br class="fancyvrb" /><a
- id="x1-125116r58"></a><span
+class="cmtt-8"> 0.17154380,</span><br class="fancyvrb" /><a
+ id="x1-127116r58"></a><span
class="cmr-6">58</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.18269168,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.22067342,</span>
<br class="fancyvrb" /><a
- id="x1-125118r59"></a><span
+ id="x1-127118r59"></a><span
class="cmr-6">59</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.23501402,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> 0.28387361,</span>
-<br class="fancyvrb" /><a
- id="x1-125120r60"></a><span
+class="cmtt-8"> 0.28387361,</span><br class="fancyvrb" /><a
+ id="x1-127120r60"></a><span
class="cmr-6">60</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.30232132,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.36517414,</span>
<br class="fancyvrb" /><a
- id="x1-125122r61"></a><span
+ id="x1-127122r61"></a><span
class="cmr-6">61</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.38890521,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> 0.46975890,</span>
-<br class="fancyvrb" /><a
- id="x1-125124r62"></a><span
+class="cmtt-8"> 0.46975890,</span><br class="fancyvrb" /><a
+ id="x1-127124r62"></a><span
class="cmr-6">62</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.50028648,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> 0.60429640,</span>
<br class="fancyvrb" /><a
- id="x1-125126r63"></a><span
+ id="x1-127126r63"></a><span
class="cmr-6">63</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.64356699,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> 0.77736504,</span>
-<br class="fancyvrb" /><a
- id="x1-125128r64"></a><span
+class="cmtt-8"> 0.77736504,</span><br class="fancyvrb" /><a
+ id="x1-127128r64"></a><span
class="cmr-6">64</span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
-class="cmtt-8"> </span><span
class="cmtt-8"> 0.82788260,</span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
class="cmtt-8"> </span><span
-class="cmtt-8"> 1.</span>
-</div>
+class="cmtt-8"> 1.</span></div>
<h3 class="sectionHead"><span class="titlemark">A. </span> <a
- id="x1-126000A"></a>Embedding Vorbis into an Ogg stream</h3>
-<!--l. 6--><p class="noindent" >
+ id="x1-128000A"></a>Embedding Vorbis into an Ogg stream</h3>
+<!--l. 5--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">A.1. </span> <a
- id="x1-127000A.1"></a>Overview</h4>
-<!--l. 8--><p class="noindent" >This document describes using Ogg logical and physical transport streams to encapsulate Vorbis
+ id="x1-129000A.1"></a>Overview</h4>
+<!--l. 7--><p class="noindent" >This document describes using Ogg logical and physical transport streams to encapsulate Vorbis
compressed audio packet data into file form.
-<!--l. 12--><p class="noindent" >The <a
-href="#x1-20001">Section 1</a>, “<a
-href="#x1-20001">Introduction and Description<!--tex4ht:ref: vorbis:spec:intro --></a>” provides an overview of the construction of
-Vorbis audio packets.
-<!--l. 15--><p class="noindent" >The <a
+<!--l. 11--><p class="noindent" >The <a
+href="#x1-20001">section 1</a>, “<a
+href="#x1-20001">Introduction and Description<!--tex4ht:ref: vorbis:spec:intro --></a>” provides an overview of the construction of Vorbis
+audio packets.
+<!--l. 14--><p class="noindent" >The <a
href="oggstream.html" >Ogg bitstream overview</a> and <a
href="framing.html" >Ogg logical bitstream and framing spec</a> provide detailed
descriptions of Ogg transport streams. This specification document assumes a working
knowledge of the concepts covered in these named backround documents. Please read them
first.
-<!--l. 22--><p class="noindent" >
+<!--l. 21--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">A.1.1. </span> <a
- id="x1-128000A.1.1"></a>Restrictions</h5>
-<!--l. 24--><p class="noindent" >The Ogg/Vorbis I specification currently dictates that Ogg/Vorbis streams use Ogg transport
+ id="x1-130000A.1.1"></a>Restrictions</h5>
+<!--l. 23--><p class="noindent" >The Ogg/Vorbis I specification currently dictates that Ogg/Vorbis streams use Ogg transport
streams in degenerate, unmultiplexed form only. That is:
<ul class="itemize1">
<li class="itemize">A meta-headerless Ogg file encapsulates the Vorbis I packets
-<!--l. 41--><p class="noindent" >This is not to say that it is not currently possible to multiplex Vorbis with other media
+<!--l. 40--><p class="noindent" >This is not to say that it is not currently possible to multiplex Vorbis with other media
types into a multi-stream Ogg file. At the time this document was written, Ogg was
becoming a popular container for low-bitrate movies consisting of DivX video and Vorbis
audio. However, a ’Vorbis I audio file’ is taken to imply Vorbis audio existing alone
implement Ogg support beyond the specific support of Vorbis within a degenrate Ogg
stream (naturally, application authors are encouraged to support full multiplexed Ogg
handling).
-<!--l. 55--><p class="noindent" >
+<!--l. 54--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">A.1.2. </span> <a
- id="x1-129000A.1.2"></a>MIME type</h5>
-<!--l. 57--><p class="noindent" >The MIME type of Ogg files depend on the context. Specifically, complex multimedia and
+ id="x1-131000A.1.2"></a>MIME type</h5>
+<!--l. 56--><p class="noindent" >The MIME type of Ogg files depend on the context. Specifically, complex multimedia and
applications should use <span
class="cmtt-12">application/ogg</span>, while visual media should use <span
class="cmtt-12">video/ogg</span>, and audio
encapsulated Vorbis should use <span
class="cmtt-12">audio/vorbis </span>+ <span
class="cmtt-12">audio/vorbis-config</span>.
-<!--l. 65--><p class="noindent" >
+<!--l. 64--><p class="noindent" >
<h4 class="subsectionHead"><span class="titlemark">A.2. </span> <a
- id="x1-130000A.2"></a>Encapsulation</h4>
-<!--l. 67--><p class="noindent" >Ogg encapsulation of a Vorbis packet stream is straightforward.
+ id="x1-132000A.2"></a>Encapsulation</h4>
+<!--l. 66--><p class="noindent" >Ogg encapsulation of a Vorbis packet stream is straightforward.
<ul class="itemize1">
<li class="itemize">The first Vorbis packet (the identification header), which uniquely identifies a stream
as Vorbis audio, is placed alone in the first page of the logical Ogg stream. This
returned by decode, not an internal sample awaiting lapping with a subsequent block.
A page that is entirely spanned by a single packet (that completes on a subsequent
page) has no granule position, and the granule position is set to ’-1’.
- <!--l. 126--><p class="noindent" >Note that the last decoded (fully lapped) PCM sample from a packet is not
+ <!--l. 125--><p class="noindent" >Note that the last decoded (fully lapped) PCM sample from a packet is not
necessarily the middle sample from that block. If, eg, the current Vorbis packet
encodes a ”long block” and the next Vorbis packet encodes a ”short block”, the last
decodable sample from the current packet be at position (3*long_block_length/4) -
of samples to be discarded must not exceed the overlap-add span of the first two
audio packets.
</li></ul>
- <!--l. 161--><p class="noindent" >In both of these cases in which the initial audio PCM starting offset is nonzero, the
+ <!--l. 160--><p class="noindent" >In both of these cases in which the initial audio PCM starting offset is nonzero, the
second finished audio packet must flush the page on which it appears and the
third packet begin a fresh page. This allows the decoder to always be able to
perform PCM position adjustments before needing to return any PCM data from
synthesis, resulting in correct positioning information without any aditional seeking
logic.
- <!--l. 170--><p class="noindent" ><span class="likesubparagraphHead"><a
- id="x1-131000A.2"></a><span
+ <!--l. 169--><p class="noindent" ><span class="likesubparagraphHead"><a
+ id="x1-133000A.2"></a><span
class="cmbx-12">Note:</span></span> Failure to do so should, at worst, cause a decoder implementation to return
incorrect positioning information for seeking operations at the very beginning of the
stream.
<h3 class="sectionHead"><span class="titlemark">B. </span> <a
- id="x1-132000B"></a>Vorbis encapsulation in RTP</h3>
-<!--l. 8--><p class="noindent" >Please consult RFC 5215 <span
+ id="x1-134000B"></a>Vorbis encapsulation in RTP</h3>
+<!--l. 7--><p class="noindent" >Please consult RFC 5215 <span
class="cmti-12">“RTP Payload Format for Vorbis Encoded Audio” </span>for description of
how to embed Vorbis audio in an RTP stream.
<h3 class="likesectionHead"><a
- id="x1-133000B"></a>Colophon</h3>
-<!--l. 6--><p class="noindent" ><img
-src="Vorbis_I_spec13x.png" alt="PIC" class="graphics"><!--tex4ht:graphics
-name="Vorbis_I_spec13x.png" src="xifish.pdf"
--->
-<!--l. 10--><p class="noindent" >Ogg is a <a
-href="http://www.xiph.org/" >Xiph.Org Foundation</a> effort to protect essential tenets of Internet multimedia from
+ id="x1-135000B"></a>Colophon</h3>
+<!--l. 5--><p class="noindent" ><img
+src="fish_xiph_org.png" alt="PIC"
+>
+<!--l. 8--><p class="noindent" >Ogg is a <a
+href="https://xiph.org/" >Xiph.Org Foundation</a> effort to protect essential tenets of Internet multimedia from
corporate hostage-taking; Open Source is the net’s greatest tool to keep everyone honest. See
<a
-href="http://www.xiph.org/about.html" >About the Xiph.Org Foundation</a> for details.
-<!--l. 17--><p class="noindent" >Ogg Vorbis is the first Ogg audio CODEC. Anyone may freely use and distribute the Ogg and
+href="https://xiph.org/about/" >About the Xiph.Org Foundation</a> for details.
+<!--l. 15--><p class="noindent" >Ogg Vorbis is the first Ogg audio CODEC. Anyone may freely use and distribute the Ogg and
Vorbis specification, whether in a private, public or corporate capacity. However, the Xiph.Org
Foundation and the Ogg project (xiph.org) reserve the right to set the Ogg Vorbis specification
and certify specification compliance.
-<!--l. 23--><p class="noindent" >Xiph.Org’s Vorbis software CODEC implementation is distributed under a BSD-like license. This
+<!--l. 21--><p class="noindent" >Xiph.Org’s Vorbis software CODEC implementation is distributed under a BSD-like license. This
does not restrict third parties from distributing independent implementations of Vorbis software
under other licenses.
-<!--l. 28--><p class="noindent" >Ogg, Vorbis, Xiph.Org Foundation and their logos are trademarks (tm) of the <a
-href="http://www.xiph.org/" >Xiph.Org
-Foundation</a>. These pages are copyright (C) 1994-2007 Xiph.Org Foundation. All rights
+<!--l. 26--><p class="noindent" >Ogg, Vorbis, Xiph.Org Foundation and their logos are trademarks (tm) of the <a
+href="https://xiph.org/" >Xiph.Org
+Foundation</a>. These pages are copyright (C) 1994-2015 Xiph.Org Foundation. All rights
reserved.
-<!--l. 33--><p class="noindent" >This document is set using <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+<!--l. 31--><p class="noindent" >This document is set using <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
class="E">E</span>X</span></span>.
<h3 class="likesectionHead"><a
- id="x1-134000B"></a>References</h3>
-<!--l. 125--><p class="noindent" >
+ id="x1-136000B"></a>References</h3>
+<!--l. 132--><p class="noindent" >
<div class="thebibliography">
<p class="bibitem" ><span class="biblabel">
[1]<span class="bibsp">   </span></span><a
id="XSporer/Brandenburg/Edler"></a>T. Sporer, K. Brandenburg and
B. Edler, The use of multirate filter banks for coding of high quality digital audio,
<a
-href="http://www.iocon.com/resource/docs/ps/eusipco_corrected.ps" class="url" ><span
-class="cmtt-12">http://www.iocon.com/resource/docs/ps/eusipco_corrected.ps</span></a>.
+href="https://media.taricorp.net/eusipco_corrected.pdf" class="url" ><span
+class="cmtt-12">https://media.taricorp.net/eusipco_corrected.pdf</span></a>.
</p>
</div>
-% $Id$
\documentclass[12pt,paper=a4]{scrartcl}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% To still be able to use captions, we use the capt-of package.
\usepackage{capt-of}
+% strikeout support
+\usepackage[normalem]{ulem}
+
+% blockquote support
+\usepackage{csquotes}
+
+% allow 'special' characters in filenames, like undescore :-P
+\usepackage{grffile}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Custom commands
\bibitem{Sporer/Brandenburg/Edler} T.~Sporer, K.~Brandenburg and B.~Edler,
The use of multirate filter banks for coding of high quality digital audio,
-\url{http://www.iocon.com/resource/docs/ps/eusipco_corrected.ps}.
+\url{https://media.taricorp.net/eusipco_corrected.pdf}.
\end{thebibliography}
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
%!TEX root = Vorbis_I_spec.tex
-% $Id$
\section{Embedding Vorbis into an Ogg stream} \label{vorbis:over:ogg}
\subsection{Overview}
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
%!TEX root = Vorbis_I_spec.tex
-% $Id$
\section{Vorbis encapsulation in RTP} \label{vorbis:over:rtp}
% TODO: Include draft-rtp.xml somehow?
<body>
<div id="xiphlogo">
- <a href="http://www.xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
+ <a href="https://xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
</div>
<h1>Ogg Vorbis I format specification: floor1_inverse_dB_table</h1>
% -*- mode: latex; TeX-master: "Vorbis_I_spec"; -*-
%!TEX root = Vorbis_I_spec.tex
-% $Id$
\section*{Colophon}
-\includegraphics{xifish} \label{footer}
-%\TODO{display xifish.pdf, [Xiph.Org logo]}
+\includegraphics[width=5cm]{fish_xiph_org}
+\label{footer}
-
-Ogg is a \href{http://www.xiph.org/}{Xiph.Org Foundation} effort
+Ogg is a \href{https://xiph.org/}{Xiph.Org Foundation} effort
to protect essential tenets of Internet multimedia from corporate
hostage-taking; Open Source is the net's greatest tool to keep
-everyone honest. See \href{http://www.xiph.org/about.html}{About
+everyone honest. See \href{https://xiph.org/about/}{About
the Xiph.Org Foundation} for details.
other licenses.
Ogg, Vorbis, Xiph.Org Foundation and their logos are trademarks (tm)
-of the \href{http://www.xiph.org/}{Xiph.Org Foundation}. These
-pages are copyright (C) 1994-2007 Xiph.Org Foundation. All rights
+of the \href{https://xiph.org/}{Xiph.Org Foundation}. These
+pages are copyright (C) 1994-2015 Xiph.Org Foundation. All rights
reserved.
-This document is set using \LaTeX.
\ No newline at end of file
+This document is set using \LaTeX.
<body>
<div id="xiphlogo">
- <a href="http://www.xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
+ <a href="https://xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
</div>
<h1>Ogg logical bitstream framing</h1>
continued over the page. The CRC field is then filled with the
computed value.</p>
-<p>(A thorough discussion of CRC algorithms can be found in <a
-href="http://www.ross.net/crc/download/crc_v3.txt">"A
-Painless Guide to CRC Error Detection Algorithms"</a> by Ross
-Williams <a href="mailto:ross@ross.net">ross@ross.net</a>.)</p>
+<p>(A thorough discussion of CRC algorithms can be found in
+<a href="https://zlib.net/crc_v3.txt">"A Painless Guide to CRC Error Detection Algorithms"</a>
+by Ross Williams.)</p>
<pre><tt>
byte value
<body>
<div id="xiphlogo">
- <a href="http://www.xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
+ <a href="https://xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
</div>
<h1>Ogg Vorbis I format specification: helper equations</h1>
<body>
<div id="xiphlogo">
- <a href="http://www.xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
+ <a href="https://xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
</div>
<h1>Ogg Vorbis Documentation</h1>
+++ /dev/null
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = doc/libvorbis
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(docdir)"
-DATA = $(doc_DATA)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/libvorbis
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-doc_DATA = index.html reference.html style.css vorbis_comment.html\
- vorbis_info.html vorbis_analysis_blockout.html vorbis_analysis_buffer.html\
- vorbis_analysis_headerout.html vorbis_analysis_init.html \
- vorbis_analysis_wrote.html vorbis_analysis.html vorbis_bitrate_addblock.html\
- vorbis_bitrate_flushpacket.html vorbis_block_init.html \
- vorbis_block_clear.html vorbis_dsp_clear.html vorbis_granule_time.html \
- vorbis_version_string.html vorbis_info_blocksize.html vorbis_info_clear.html\
- vorbis_info_init.html vorbis_comment_add.html vorbis_comment_add_tag.html\
- vorbis_comment_clear.html vorbis_comment_init.html vorbis_comment_query.html\
- vorbis_comment_query_count.html vorbis_commentheader_out.html\
- vorbis_packet_blocksize.html vorbis_synthesis.html \
- vorbis_synthesis_blockin.html vorbis_synthesis_halfrate.html \
- vorbis_synthesis_halfrate_p.html vorbis_synthesis_headerin.html \
- vorbis_synthesis_idheader.html vorbis_synthesis_init.html \
- vorbis_synthesis_lapout.html vorbis_synthesis_pcmout.html \
- vorbis_synthesis_read.html vorbis_synthesis_restart.html \
- vorbis_synthesis_trackonly.html vorbis_block.html vorbis_dsp_state.html \
- return.html overview.html
-
-EXTRA_DIST = $(doc_DATA)
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/libvorbis/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu doc/libvorbis/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-install-docDATA: $(doc_DATA)
- @$(NORMAL_INSTALL)
- @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
- done
-
-uninstall-docDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(DATA)
-installdirs:
- for dir in "$(DESTDIR)$(docdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-docDATA
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-docDATA
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-docDATA install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-docDATA
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
<body>
<div id="xiphlogo">
- <a href="http://www.xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
+ <a href="https://xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
</div>
<h1>Ogg logical and physical bitstream overview</h1>
<body>
<div id="xiphlogo">
- <a href="http://www.xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
+ <a href="https://xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
</div>
<h1>Programming with Xiph.Org <tt>libvorbis</tt></h1>
--- /dev/null
+libvorbis release checklist.
+
+- Bump vendor string for encoder changes in lib/info.c
+- Bump release version and sonames in configure.ac
+- Update CHANGES.
+- Update overall copyright dates on COPYING and README.
+- Verify everything is committed.
+- Tag release: `git tag -S v1.x.y` Paste the CHANGES entry as a tag msg.
+- Verify 'make distcheck' works.
+- Publish the tag: `git push --tags`
+- Copy source packages to a checkout of https://svn.xiph.org/releases/vorbis/
+- Add the packages to the repo and update checksum files there.
+- Update https://xiph.org/downloads/
+- Update topic in the #vorbis irc channel on freenode.net.
+- Post announcement to https://xiph.org/press/ and link from front page.
+- Announce new release to mailing list.
<body>
<div id="xiphlogo">
- <a href="http://www.xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
+ <a href="https://xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
</div>
<h1>Ogg Vorbis stereo-specific channel coupling discussion</h1>
<body>
<div id="xiphlogo">
- <a href="http://www.xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
+ <a href="https://xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
</div>
<h1>Ogg Vorbis I format specification: comment field and header specification</h1>
-<h1>Overview</h1>
+<h1 id="overview">Overview</h1>
<p>The Vorbis text comment header is the second (of three) header
packets that begin a Vorbis bitstream. It is meant for short, text
opening for Moxy Früvous, 1997"
</p></blockquote>
-<h1>Comment encoding</h1>
+<h1 id="commentencoding">Comment encoding</h1>
-<h2>Structure</h2>
+<h2 id="structure">Structure</h2>
<p>The comment header logically is a list of eight-bit-clean vectors; the
number of vectors is bounded to 2^32-1 and the length of each vector
9) done.
</pre>
-<h2>Content vector format</h2>
+<h2 id="vectorformat">Content vector format</h2>
<p>The comment vectors are structured similarly to a UNIX environment variable.
That is, comment fields consist of a field name and a corresponding value and
field contents to the end of the field.</li>
</ul>
-<h3>Field names</h3>
+<h3 id="fieldnames">Field names</h3>
<p>Below is a proposed, minimal list of standard field names with a
description of intended use. No single or group of field names is
<dd>Copyright attribution, e.g., '2001 Nobody's Band' or '1999 Jack Moffitt'</dd>
<dt>LICENSE</dt>
-<dd>License information, eg, 'All Rights Reserved', 'Any
+<dd>License information, for example, 'All Rights Reserved', 'Any
Use Permitted', a URL to a license such as a Creative Commons license
-("www.creativecommons.org/blahblah/license.html") or the EFF Open
-Audio License ('distributed under the terms of the Open Audio
-License. see http://www.eff.org/IP/Open_licenses/eff_oal.html for
-details'), etc.</dd>
+(e.g. "creativecommons.org/licenses/by/4.0/"), or similar.</dd>
<dt>ORGANIZATION</dt>
<dd>Name of the organization producing the track (i.e.
the producing label.</dd>
<dt>ISRC</dt>
-<dd>ISRC number for the track; see <a href="http://www.ifpi.org/isrc/">the
+<dd>ISRC number for the track; see <a href="https://isrc.ifpi.org/">the
ISRC intro page</a> for more information on ISRC numbers.</dd>
</dl>
-<h3>Implications</h3>
+<h3 id="implications">Implications</h3>
<ul>
<li>Field names should not be 'internationalized'; this is a
</pre></li>
</ul>
-<h2>Encoding</h2>
+<h2 id="encoding">Encoding</h2>
<p>The comment header comprises the entirety of the second bitstream
header packet. Unlike the first bitstream header packet, it is not
<body>
<div id="xiphlogo">
- <a href="http://www.xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
+ <a href="https://xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
</div>
<h1>Ogg Vorbis: Fidelity measurement and terminology discussion</h1>
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15"/>
-<title>Ogg Vorbis Documentation</title>
-
-<style type="text/css">
-body {
- margin: 0 18px 0 18px;
- padding-bottom: 30px;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- color: #333333;
- font-size: .8em;
-}
-
-a {
- color: #3366cc;
-}
-
-img {
- border: 0;
-}
-
-#xiphlogo {
- margin: 30px 0 16px 0;
-}
-
-#content p {
- line-height: 1.4;
-}
-
-h1, h1 a, h2, h2 a, h3, h3 a {
- font-weight: bold;
- color: #ff9900;
- margin: 1.3em 0 8px 0;
-}
-
-h1 {
- font-size: 1.3em;
-}
-
-h2 {
- font-size: 1.2em;
-}
-
-h3 {
- font-size: 1.1em;
-}
-
-li {
- line-height: 1.4;
-}
-
-#copyright {
- margin-top: 30px;
- line-height: 1.5em;
- text-align: center;
- font-size: .8em;
- color: #888888;
- clear: both;
-}
-</style>
-
-</head>
-
-<body>
-
-<div id="xiphlogo">
- <a href="http://www.xiph.org/"><img src="fish_xiph_org.png" alt="Fish Logo and Xiph.Org"/></a>
-</div>
-
-<h1>Ogg Vorbis encoding format documentation</h1>
-
-<p><img src="wait.png" alt="wait"/>As of writing, not all the below document
-links are live. They will be populated as we complete the documents.</p>
-
-<h2>Documents</h2>
-
-<ul>
-<li><a href="packet.html">Vorbis packet structure</a></li>
-<li><a href="envelope.html">Temporal envelope shaping and blocksize</a></li>
-<li><a href="mdct.html">Time domain segmentation and MDCT transform</a></li>
-<li><a href="resolution.html">The resolution floor</a></li>
-<li><a href="residuals.html">MDCT-domain fine structure</a></li>
-</ul>
-
-<ul>
-<li><a href="probmodel.html">The Vorbis probability model</a></li>
-<li><a href="bitpack.html">The Vorbis bitpacker</a></li>
-</ul>
-
-<ul>
-<li><a href="oggstream.html">Ogg bitstream overview</a></li>
-<li><a href="framing.html">Ogg logical bitstream and framing spec</a></li>
-<li><a href="vorbis-stream.html">Vorbis packet->Ogg bitstream mapping</a></li>
-</ul>
-
-<ul>
-<li><a href="programming.html">Programming with libvorbis</a></li>
-</ul>
-
-<h2>Description</h2>
-
-<p>Ogg Vorbis is a general purpose compressed audio format
-for high quality (44.1-48.0kHz, 16+ bit, polyphonic) audio and music
-at moderate fixed and variable bitrates (40-80 kb/s/channel). This
-places Vorbis in the same class as audio representations including
-MPEG-1 audio layer 3, MPEG-4 audio (AAC and TwinVQ), and PAC.</p>
-
-<p>Vorbis is the first of a planned family of Ogg multimedia coding
-formats being developed as part of the Xiph.Org Foundation's Ogg multimedia
-project. See <a href="http://www.xiph.org/">http://www.xiph.org/</a>
-for more information.</p>
-
-<h2>Vorbis technical documents</h2>
-
-<p>A Vorbis encoder takes in overlapping (but contiguous) short-time
-segments of audio data. The encoder analyzes the content of the audio
-to determine an optimal compact representation; this phase of encoding
-is known as <em>analysis</em>. For each short-time block of sound,
-the encoder then packs an efficient representation of the signal, as
-determined by analysis, into a raw packet much smaller than the size
-required by the original signal; this phase is <em>coding</em>.
-Lastly, in a streaming environment, the raw packets are then
-structured into a continuous stream of octets; this last phase is
-<em>streaming</em>. Note that the stream of octets is referred to both
-as a 'byte-' and 'bit-'stream; the latter usage is acceptible as the
-stream of octets is a physical representation of a true logical
-bit-by-bit stream.</p>
-
-<p>A Vorbis decoder performs a mirror image process of extracting the
-original sequence of raw packets from an Ogg stream (<em>stream
-decomposition</em>), reconstructing the signal representation from the
-raw data in the packet (<em>decoding</em>) and them reconstituting an
-audio signal from the decoded representation (<em>synthesis</em>).</p>
-
-<p>The <a href="programming.html">Programming with libvorbis</a>
-documents discuss use of the reference Vorbis codec library
-(libvorbis) produced by the Xiph.Org Foundation.</p>
-
-<p>The data representations and algorithms necessary at each step to
-encode and decode Ogg Vorbis bitstreams are described by the below
-documents in sufficient detail to construct a complete Vorbis codec.
-Note that at the time of writing, Vorbis is still in a 'Request For
-Comments' stage of development; despite being in advanced stages of
-development, input from the multimedia community is welcome.</p>
-
-<h3>Vorbis analysis and synthesis</h3>
-
-<p>Analysis begins by seperating an input audio stream into individual,
-overlapping short-time segments of audio data. These segments are
-then transformed into an alternate representation, seeking to
-represent the original signal in a more efficient form that codes into
-a smaller number of bytes. The analysis and transformation stage is
-the most complex element of producing a Vorbis bitstream.</p>
-
-<p>The corresponding synthesis step in the decoder is simpler; there is
-no analysis to perform, merely a mechanical, deterministic
-reconstruction of the original audio data from the transform-domain
-representation.</p>
-
-<ul>
-<li><a href="packet.html">Vorbis packet structure</a>:
-Describes the basic analysis components necessary to produce Vorbis
-packets and the structure of the packet itself.</li>
-<li><a href="envelope.html">Temporal envelope shaping and blocksize</a>:
-Use of temporal envelope shaping and variable blocksize to minimize
-time-domain energy leakage during wide dynamic range and spectral energy
-swings. Also discusses time-related principles of psychoacoustics.</li>
-<li><a href="mdct.html">Time domain segmentation and MDCT transform</a>:
-Division of time domain data into individual overlapped, windowed
-short-time vectors and transformation using the MDCT</li>
-<li><a href="resolution.html">The resolution floor</a>: Use of frequency
-doamin psychoacoustics, and the MDCT-domain noise, masking and resolution
-floors</li>
-<li><a href="residuals.html">MDCT-domain fine structure</a>: Production,
-quantization and massaging of MDCT-spectrum fine structure</li>
-</ul>
-
-<h3>Vorbis coding and decoding</h3>
-
-<p>Coding and decoding converts the transform-domain representation of
-the original audio produced by analysis to and from a bitwise packed
-raw data packet. Coding and decoding consist of two logically
-orthogonal concepts, <em>back-end coding</em> and <em>bitpacking</em>.</p>
-
-<p><em>Back-end coding</em> uses a probability model to represent the raw numbers
-of the audio representation in as few physical bits as possible;
-familiar examples of back-end coding include Huffman coding and Vector
-Quantization.</p>
-
-<p><em>Bitpacking</em> arranges the variable sized words of the back-end
-coding into a vector of octets without wasting space. The octets
-produced by coding a single short-time audio segment is one raw Vorbis
-packet.</p>
-
-<ul>
-<li><a href="probmodel.html">The Vorbis probability model</a></li>
-<li><a href="bitpack.html">The Vorbis bitpacker</a>: Arrangement of
-variable bit-length words into an octet-aligned packet.</li>
-</ul>
-
-<h3>Vorbis streaming and stream decomposition</h3>
-
-<p>Vorbis packets contain the raw, bitwise-compressed representation of a
-snippet of audio. These packets contain no structure and cannot be
-strung together directly into a stream; for streamed transmission and
-storage, Vorbis packets are encoded into an Ogg bitstream.</p>
-
-<ul>
-<li><a href="oggstream.html">Ogg bitstream overview</a>: High-level
-description of Ogg logical bitstreams, how logical bitstreams
-(of mixed media types) can be combined into physical bitstreams, and
-restrictions on logical-to-physical mapping. Note that this document is
-not specific only to Ogg Vorbis.</li>
-<li><a href="framing.html">Ogg logical bitstream and framing
-spec</a>: Low level, complete specification of Ogg logical
-bitstream pages. Note that this document is not specific only to Ogg
-Vorbis.</li>
-<li><a href="vorbis-stream.html">Vorbis bitstream mapping</a>:
-Specifically describes mapping Vorbis data into an
-Ogg physical bitstream.</li>
-</ul>
-
-<div id="copyright">
- The Xiph Fish Logo is a
- trademark (™) of Xiph.Org.<br/>
-
- These pages © 1994 - 2005 Xiph.Org. All rights reserved.
-</div>
-
-</body>
-</html>
+++ /dev/null
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = doc/vorbisenc
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(docdir)"
-DATA = $(doc_DATA)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/vorbisenc
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-doc_DATA = changes.html examples.html index.html ovectl_ratemanage2_arg.html \
- ovectl_ratemanage_arg.html overview.html reference.html style.css\
- vorbis_encode_ctl.html vorbis_encode_init.html vorbis_encode_setup_init.html \
- vorbis_encode_setup_managed.html vorbis_encode_setup_vbr.html \
- vorbis_encode_init_vbr.html
-
-EXTRA_DIST = $(doc_DATA)
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/vorbisenc/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu doc/vorbisenc/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-install-docDATA: $(doc_DATA)
- @$(NORMAL_INSTALL)
- @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
- done
-
-uninstall-docDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(DATA)
-installdirs:
- for dir in "$(DESTDIR)$(docdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-docDATA
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-docDATA
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-docDATA install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-docDATA
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbisenc documentation</p></td>
<td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbisenc documentation</p></td>
<td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbisenc documentation</p></td>
<td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbisenc documentation</p></td>
<td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbisenc documentation</p></td>
<td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbisenc documentation</p></td>
<td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbisenc documentation</p></td>
<td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbisenc documentation</p></td>
<td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbisenc documentation</p></td>
<td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbisenc documentation</p></td>
<td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbisenc documentation</p></td>
<td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbisenc documentation</p></td>
<td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbisenc documentation</p></td>
<td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
+++ /dev/null
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = doc/vorbisfile
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(docdir)"
-DATA = $(doc_DATA)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/vorbisfile
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-doc_DATA = OggVorbis_File.html callbacks.html chaining_example_c.html\
- chainingexample.html crosslap.html datastructures.html decoding.html\
- example.html exampleindex.html fileinfo.html index.html\
- initialization.html ov_bitrate.html ov_bitrate_instant.html\
- ov_callbacks.html ov_clear.html ov_comment.html ov_crosslap.html\
- ov_fopen.html\
- ov_info.html ov_open.html ov_open_callbacks.html ov_pcm_seek.html\
- ov_pcm_seek_lap.html ov_pcm_seek_page.html ov_pcm_seek_page_lap.html\
- ov_pcm_tell.html ov_pcm_total.html ov_raw_seek.html\
- ov_raw_seek_lap.html ov_raw_tell.html ov_raw_total.html ov_read.html\
- ov_read_float.html ov_read_filter.html\
- ov_seekable.html ov_serialnumber.html\
- ov_streams.html ov_test.html ov_test_callbacks.html ov_test_open.html\
- ov_time_seek.html ov_time_seek_lap.html ov_time_seek_page.html\
- ov_time_seek_page_lap.html ov_time_tell.html ov_time_total.html\
- overview.html reference.html seekexample.html seeking.html\
- seeking_example_c.html seeking_test_c.html seekingexample.html\
- style.css threads.html\
- vorbisfile_example_c.html
-
-EXTRA_DIST = $(doc_DATA)
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/vorbisfile/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu doc/vorbisfile/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-install-docDATA: $(doc_DATA)
- @$(NORMAL_INSTALL)
- @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
- done
-
-uninstall-docDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(DATA)
-installdirs:
- for dir in "$(DESTDIR)$(docdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-docDATA
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-docDATA
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-docDATA install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- uninstall uninstall-am uninstall-docDATA
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>\r
<tr valign=top>\r
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>\r
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>\r
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>\r
</tr><tr>\r
<td><p class=tiny>Vorbisfile documentation</p></td>\r
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>\r
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2002 vorbis team</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>\r
<tr valign=top>\r
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>\r
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>\r
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>\r
</tr><tr>\r
<td><p class=tiny>Vorbisfile documentation</p></td>\r
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>\r
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000 vorbis team</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.25 - 20000615</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright © 2000-2010 Xiph.Org</p></td>
-<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
+<td align=right><p class=tiny><a href="https://xiph.org/vorbis/">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
AUTOMAKE_OPTIONS = foreign
-INCLUDES = -I$(top_srcdir)/include @OGG_CFLAGS@
-
noinst_PROGRAMS = decoder_example encoder_example chaining_example\
vorbisfile_example seeking_example
EXTRA_DIST = frameview.pl
+AM_CPPFLAGS = -I$(top_srcdir)/include @OGG_CFLAGS@
+
# uncomment to build static executables from the example code
#LDFLAGS = -all-static
decoder_example_SOURCES = decoder_example.c
-decoder_example_LDADD = $(top_builddir)/lib/libvorbis.la
+decoder_example_LDADD = $(top_builddir)/lib/libvorbis.la @VORBIS_LIBS@ @OGG_LIBS@
encoder_example_SOURCES = encoder_example.c
-encoder_example_LDADD = $(top_builddir)/lib/libvorbisenc.la $(top_builddir)/lib/libvorbis.la
+encoder_example_LDADD = $(top_builddir)/lib/libvorbisenc.la $(top_builddir)/lib/libvorbis.la @VORBIS_LIBS@ @OGG_LIBS@
chaining_example_SOURCES = chaining_example.c
-chaining_example_LDADD = $(top_builddir)/lib/libvorbisfile.la $(top_builddir)/lib/libvorbis.la
+chaining_example_LDADD = $(top_builddir)/lib/libvorbisfile.la $(top_builddir)/lib/libvorbis.la @VORBIS_LIBS@ @OGG_LIBS@
vorbisfile_example_SOURCES = vorbisfile_example.c
-vorbisfile_example_LDADD = $(top_builddir)/lib/libvorbisfile.la $(top_builddir)/lib/libvorbis.la
+vorbisfile_example_LDADD = $(top_builddir)/lib/libvorbisfile.la $(top_builddir)/lib/libvorbis.la @VORBIS_LIBS@ @OGG_LIBS@
seeking_example_SOURCES = seeking_example.c
-seeking_example_LDADD = $(top_builddir)/lib/libvorbisfile.la $(top_builddir)/lib/libvorbis.la
+seeking_example_LDADD = $(top_builddir)/lib/libvorbisfile.la $(top_builddir)/lib/libvorbis.la @VORBIS_LIBS@ @OGG_LIBS@
debug:
$(MAKE) all CFLAGS="@DEBUG@"
+++ /dev/null
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-noinst_PROGRAMS = decoder_example$(EXEEXT) encoder_example$(EXEEXT) \
- chaining_example$(EXEEXT) vorbisfile_example$(EXEEXT) \
- seeking_example$(EXEEXT)
-subdir = examples
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_chaining_example_OBJECTS = chaining_example.$(OBJEXT)
-chaining_example_OBJECTS = $(am_chaining_example_OBJECTS)
-chaining_example_DEPENDENCIES = $(top_builddir)/lib/libvorbisfile.la \
- $(top_builddir)/lib/libvorbis.la
-am_decoder_example_OBJECTS = decoder_example.$(OBJEXT)
-decoder_example_OBJECTS = $(am_decoder_example_OBJECTS)
-decoder_example_DEPENDENCIES = $(top_builddir)/lib/libvorbis.la
-am_encoder_example_OBJECTS = encoder_example.$(OBJEXT)
-encoder_example_OBJECTS = $(am_encoder_example_OBJECTS)
-encoder_example_DEPENDENCIES = $(top_builddir)/lib/libvorbisenc.la \
- $(top_builddir)/lib/libvorbis.la
-am_seeking_example_OBJECTS = seeking_example.$(OBJEXT)
-seeking_example_OBJECTS = $(am_seeking_example_OBJECTS)
-seeking_example_DEPENDENCIES = $(top_builddir)/lib/libvorbisfile.la \
- $(top_builddir)/lib/libvorbis.la
-am_vorbisfile_example_OBJECTS = vorbisfile_example.$(OBJEXT)
-vorbisfile_example_OBJECTS = $(am_vorbisfile_example_OBJECTS)
-vorbisfile_example_DEPENDENCIES = \
- $(top_builddir)/lib/libvorbisfile.la \
- $(top_builddir)/lib/libvorbis.la
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(chaining_example_SOURCES) $(decoder_example_SOURCES) \
- $(encoder_example_SOURCES) $(seeking_example_SOURCES) \
- $(vorbisfile_example_SOURCES)
-DIST_SOURCES = $(chaining_example_SOURCES) $(decoder_example_SOURCES) \
- $(encoder_example_SOURCES) $(seeking_example_SOURCES) \
- $(vorbisfile_example_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign
-INCLUDES = -I$(top_srcdir)/include @OGG_CFLAGS@
-EXTRA_DIST = frameview.pl
-
-# uncomment to build static executables from the example code
-#LDFLAGS = -all-static
-decoder_example_SOURCES = decoder_example.c
-decoder_example_LDADD = $(top_builddir)/lib/libvorbis.la
-encoder_example_SOURCES = encoder_example.c
-encoder_example_LDADD = $(top_builddir)/lib/libvorbisenc.la $(top_builddir)/lib/libvorbis.la
-chaining_example_SOURCES = chaining_example.c
-chaining_example_LDADD = $(top_builddir)/lib/libvorbisfile.la $(top_builddir)/lib/libvorbis.la
-vorbisfile_example_SOURCES = vorbisfile_example.c
-vorbisfile_example_LDADD = $(top_builddir)/lib/libvorbisfile.la $(top_builddir)/lib/libvorbis.la
-seeking_example_SOURCES = seeking_example.c
-seeking_example_LDADD = $(top_builddir)/lib/libvorbisfile.la $(top_builddir)/lib/libvorbis.la
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign examples/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-chaining_example$(EXEEXT): $(chaining_example_OBJECTS) $(chaining_example_DEPENDENCIES) $(EXTRA_chaining_example_DEPENDENCIES)
- @rm -f chaining_example$(EXEEXT)
- $(LINK) $(chaining_example_OBJECTS) $(chaining_example_LDADD) $(LIBS)
-decoder_example$(EXEEXT): $(decoder_example_OBJECTS) $(decoder_example_DEPENDENCIES) $(EXTRA_decoder_example_DEPENDENCIES)
- @rm -f decoder_example$(EXEEXT)
- $(LINK) $(decoder_example_OBJECTS) $(decoder_example_LDADD) $(LIBS)
-encoder_example$(EXEEXT): $(encoder_example_OBJECTS) $(encoder_example_DEPENDENCIES) $(EXTRA_encoder_example_DEPENDENCIES)
- @rm -f encoder_example$(EXEEXT)
- $(LINK) $(encoder_example_OBJECTS) $(encoder_example_LDADD) $(LIBS)
-seeking_example$(EXEEXT): $(seeking_example_OBJECTS) $(seeking_example_DEPENDENCIES) $(EXTRA_seeking_example_DEPENDENCIES)
- @rm -f seeking_example$(EXEEXT)
- $(LINK) $(seeking_example_OBJECTS) $(seeking_example_LDADD) $(LIBS)
-vorbisfile_example$(EXEEXT): $(vorbisfile_example_OBJECTS) $(vorbisfile_example_DEPENDENCIES) $(EXTRA_vorbisfile_example_DEPENDENCIES)
- @rm -f vorbisfile_example$(EXEEXT)
- $(LINK) $(vorbisfile_example_OBJECTS) $(vorbisfile_example_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chaining_example.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decoder_example.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encoder_example.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/seeking_example.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vorbisfile_example.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am
-
-
-debug:
- $(MAKE) all CFLAGS="@DEBUG@"
-
-profile:
- $(MAKE) all CFLAGS="@PROFILE@"
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: illustrate simple use of chained bitstream and vorbisfile.a
- last mod: $Id: chaining_example.c 16243 2009-07-10 02:49:31Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: simple example decoder
- last mod: $Id: decoder_example.c 16243 2009-07-10 02:49:31Z xiphmont $
********************************************************************/
/********** Decode setup ************/
ogg_sync_init(&oy); /* Now we can read pages */
-
+
while(1){ /* we repeat if the bitstream is chained */
int eos=0;
int i;
buffer=ogg_sync_buffer(&oy,4096);
bytes=fread(buffer,1,4096,stdin);
ogg_sync_wrote(&oy,bytes);
-
+
/* Get the first page. */
if(ogg_sync_pageout(&oy,&og)!=1){
/* have we simply run out of data? If so, we're done. */
if(bytes<4096)break;
-
+
/* error case. Must not be Vorbis data */
fprintf(stderr,"Input does not appear to be an Ogg bitstream.\n");
exit(1);
}
-
+
/* Get the serial number and set up the rest of decode. */
/* serialno first; use it to set up a logical stream */
ogg_stream_init(&os,ogg_page_serialno(&og));
-
+
/* extract the initial header from the first page and verify that the
Ogg bitstream is in fact Vorbis data */
-
+
/* I handle the initial header first instead of just having the code
read all three Vorbis headers at once because reading the initial
header is an easy way to identify a Vorbis bitstream and it's
useful to see that functionality seperated out. */
-
+
vorbis_info_init(&vi);
vorbis_comment_init(&vc);
- if(ogg_stream_pagein(&os,&og)<0){
+ if(ogg_stream_pagein(&os,&og)<0){
/* error; stream version mismatch perhaps */
fprintf(stderr,"Error reading first page of Ogg bitstream data.\n");
exit(1);
}
-
- if(ogg_stream_packetout(&os,&op)!=1){
+
+ if(ogg_stream_packetout(&os,&op)!=1){
/* no page? must not be vorbis */
fprintf(stderr,"Error reading initial header packet.\n");
exit(1);
}
-
- if(vorbis_synthesis_headerin(&vi,&vc,&op)<0){
+
+ if(vorbis_synthesis_headerin(&vi,&vc,&op)<0){
/* error case; not a vorbis header */
fprintf(stderr,"This Ogg bitstream does not contain Vorbis "
"audio data.\n");
exit(1);
}
-
+
/* At this point, we're sure we're Vorbis. We've set up the logical
(Ogg) bitstream decoder. Get the comment and codebook headers and
set up the Vorbis decoder */
-
+
/* The next two packets in order are the comment and codebook headers.
They're likely large and may span multiple pages. Thus we read
and submit data until we get our two packets, watching that no
pages are missing. If a page is missing, error out; losing a
header page is the only place where missing data is fatal. */
-
+
i=0;
while(i<2){
while(i<2){
}
ogg_sync_wrote(&oy,bytes);
}
-
+
/* Throw the comments plus a few lines about the bitstream we're
decoding */
{
fprintf(stderr,"\nBitstream is %d channel, %ldHz\n",vi.channels,vi.rate);
fprintf(stderr,"Encoded by: %s\n\n",vc.vendor);
}
-
+
convsize=4096/vi.channels;
/* OK, got and parsed all three headers. Initialize the Vorbis
proceed in parallel. We could init
multiple vorbis_block structures
for vd here */
-
+
/* The rest is just a straight decode loop until end of stream */
while(!eos){
while(!eos){
this point */
while(1){
result=ogg_stream_packetout(&os,&op);
-
+
if(result==0)break; /* need more data */
if(result<0){ /* missing or corrupt data at this page position */
/* no reason to complain; already complained above */
/* we have a packet. Decode it */
float **pcm;
int samples;
-
+
if(vorbis_synthesis(&vb,&op)==0) /* test for success! */
vorbis_synthesis_blockin(&vd,&vb);
- /*
-
+ /*
+
**pcm is a multichannel float vector. In stereo, for
example, pcm[0] is left, and pcm[1] is right. samples is
the size of each channel. Convert the float values
(-1.<=range<=1.) to whatever PCM format and write it out */
-
+
while((samples=vorbis_synthesis_pcmout(&vd,&pcm))>0){
int j;
int clipflag=0;
int bout=(samples<convsize?samples:convsize);
-
+
/* convert floats to 16 bit signed ints (host order) and
interleave */
for(i=0;i<vi.channels;i++){
ptr+=vi.channels;
}
}
-
+
if(clipflag)
fprintf(stderr,"Clipping in frame %ld\n",(long)(vd.sequence));
-
-
+
+
fwrite(convbuffer,2*vi.channels,bout,stdout);
-
+
vorbis_synthesis_read(&vd,bout); /* tell libvorbis how
many samples we
actually consumed */
- }
+ }
}
}
if(ogg_page_eos(&og))eos=1;
if(bytes==0)eos=1;
}
}
-
+
/* ogg_page and ogg_packet structs always point to storage in
libvorbis. They're never freed or manipulated directly */
-
+
vorbis_block_clear(&vb);
vorbis_dsp_clear(&vd);
}else{
/* clean up this logical bitstream; before exit we see if we're
followed by another [chained] */
-
+
ogg_stream_clear(&os);
vorbis_comment_clear(&vc);
vorbis_info_clear(&vi); /* must be called last */
/* OK, clean up the framer */
ogg_sync_clear(&oy);
-
+
fprintf(stderr,"Done.\n");
return(0);
}
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: simple example encoder
- last mod: $Id: encoder_example.c 16946 2010-03-03 16:12:40Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: illustrate seeking, and test it too
- last mod: $Id: seeking_example.c 17561 2010-10-23 10:34:24Z xiphmont $
********************************************************************/
exit(1);
}
}
-
+
/* because we want to do sample-level verification that the seek
does what it claimed, decode the entire file into memory */
pcmlength=ov_pcm_total(&ov,-1);
fprintf(stderr,"\rloading.... [%ld left] ",
(long)((pcmlength>>hs)*2-i));
}
-
+
{
ogg_int64_t length=ov.end;
fprintf(stderr,"\rtesting raw seeking to random places in %ld bytes....\n",
(long)length);
-
+
for(i=0;i<1000;i++){
ogg_int64_t val=(double)rand()/RAND_MAX*length;
fprintf(stderr,"\r\t%d [raw position %ld]... ",i,(long)val);
{
fprintf(stderr,"testing pcm page seeking to random places in %ld samples....\n",
(long)pcmlength);
-
+
for(i=0;i<1000;i++){
- ogg_int64_t val=(double)rand()/RAND_MAX*pcmlength;
+ ogg_int64_t val= i==0?(ogg_int64_t)0:(double)rand()/RAND_MAX*pcmlength;
fprintf(stderr,"\r\t%d [pcm position %ld]... ",i,(long)val);
ret=ov_pcm_seek_page(&ov,val);
if(ret<0){
fprintf(stderr,"\r");
{
- fprintf(stderr,"testing pcm exact seeking to random places in %ld samples....\n",
- (long)pcmlength);
-
+ fprintf(stderr,"testing pcm exact seeking to random places in %f seconds....\n",
+ timelength);
for(i=0;i<1000;i++){
- ogg_int64_t val=(double)rand()/RAND_MAX*pcmlength;
+ ogg_int64_t val= i==0?(ogg_int64_t)0:(double)rand()/RAND_MAX*pcmlength;
fprintf(stderr,"\r\t%d [pcm position %ld]... ",i,(long)val);
ret=ov_pcm_seek(&ov,val);
if(ret<0){
{
fprintf(stderr,"testing time page seeking to random places in %f seconds....\n",
timelength);
-
+
for(i=0;i<1000;i++){
double val=(double)rand()/RAND_MAX*timelength;
fprintf(stderr,"\r\t%d [time position %f]... ",i,val);
{
fprintf(stderr,"testing time exact seeking to random places in %f seconds....\n",
timelength);
-
+
for(i=0;i<1000;i++){
double val=(double)rand()/RAND_MAX*timelength;
fprintf(stderr,"\r\t%d [time position %f]... ",i,val);
}
}
-
+
fprintf(stderr,"\r \nOK.\n\n");
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: simple example decoder using vorbisfile
- last mod: $Id: vorbisfile_example.c 16328 2009-07-24 01:51:10Z xiphmont $
********************************************************************/
int current_section;
#ifdef _WIN32 /* We need to set stdin/stdout to binary mode. Damn windows. */
- /* Beware the evil ifdef. We avoid these where we can, but this one we
+ /* Beware the evil ifdef. We avoid these where we can, but this one we
cannot. Don't add any more, you'll probably go to hell if you do. */
_setmode( _fileno( stdin ), _O_BINARY );
_setmode( _fileno( stdout ), _O_BINARY );
(long)ov_pcm_total(&vf,-1));
fprintf(stderr,"Encoded by: %s\n\n",ov_comment(&vf,-1)->vendor);
}
-
+
while(!eof){
long ret=ov_read(&vf,pcmout,sizeof(pcmout),0,2,1,¤t_section);
if (ret == 0) {
/* cleanup */
ov_clear(&vf);
-
+
fprintf(stderr,"Done.\n");
return(0);
}
+++ /dev/null
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = include
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = vorbis
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu include/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
- install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- ctags ctags-recursive distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
+++ /dev/null
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = include/vorbis
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(vorbisinclude_HEADERS)
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(vorbisincludedir)"
-HEADERS = $(vorbisinclude_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-vorbisincludedir = $(includedir)/vorbis
-vorbisinclude_HEADERS = codec.h vorbisfile.h vorbisenc.h
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/vorbis/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu include/vorbis/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-install-vorbisincludeHEADERS: $(vorbisinclude_HEADERS)
- @$(NORMAL_INSTALL)
- @list='$(vorbisinclude_HEADERS)'; test -n "$(vorbisincludedir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(vorbisincludedir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(vorbisincludedir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(vorbisincludedir)'"; \
- $(INSTALL_HEADER) $$files "$(DESTDIR)$(vorbisincludedir)" || exit $$?; \
- done
-
-uninstall-vorbisincludeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(vorbisinclude_HEADERS)'; test -n "$(vorbisincludedir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(vorbisincludedir)'; $(am__uninstall_files_from_dir)
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(HEADERS)
-installdirs:
- for dir in "$(DESTDIR)$(vorbisincludedir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-vorbisincludeHEADERS
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-vorbisincludeHEADERS
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool ctags distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip \
- install-vorbisincludeHEADERS installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am tags uninstall uninstall-am \
- uninstall-vorbisincludeHEADERS
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
********************************************************************
function: libvorbis codec headers
- last mod: $Id: codec.h 17021 2010-03-24 09:29:41Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: vorbis encode-engine setup
- last mod: $Id: vorbisenc.h 17021 2010-03-24 09:29:41Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: stdio-based convenience library for opening/seeking/decoding
- last mod: $Id: vorbisfile.h 17182 2010-04-29 03:48:32Z xiphmont $
********************************************************************/
--- /dev/null
+set(VORBIS_PUBLIC_HEADERS
+ ../include/vorbis/codec.h
+ ../include/vorbis/vorbisenc.h
+ ../include/vorbis/vorbisfile.h
+)
+
+set(VORBIS_HEADERS
+ envelope.h
+ lpc.h
+ lsp.h
+ codebook.h
+ misc.h
+ psy.h
+ masking.h
+ os.h
+ mdct.h
+ smallft.h
+ highlevel.h
+ registry.h
+ scales.h
+ window.h
+ lookup.h
+ lookup_data.h
+ codec_internal.h
+ backends.h
+ bitrate.h
+)
+
+set(VORBIS_SOURCES
+ mdct.c
+ smallft.c
+ block.c
+ envelope.c
+ window.c
+ lsp.c
+ lpc.c
+ analysis.c
+ synthesis.c
+ psy.c
+ info.c
+ floor1.c
+ floor0.c
+ res0.c
+ mapping0.c
+ registry.c
+ codebook.c
+ sharedbook.c
+ lookup.c
+ bitrate.c
+)
+
+set(VORBISFILE_SOURCES
+ vorbisfile.c
+)
+
+set(VORBISENC_SOURCES
+ vorbisenc.c
+)
+
+if(WIN32)
+ list(APPEND VORBIS_SOURCES vorbisenc.c)
+endif()
+
+if(WIN32)
+ list(APPEND VORBIS_SOURCES ../win32/vorbis.def)
+ list(APPEND VORBISENC_SOURCES ../win32/vorbisenc.def)
+ list(APPEND VORBISFILE_SOURCES ../win32/vorbisfile.def)
+endif()
+
+if(MSVC)
+ add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+ add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
+ add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
+endif()
+
+if (NOT BUILD_FRAMEWORK)
+ add_library(vorbis ${VORBIS_HEADERS} ${VORBIS_SOURCES})
+ add_library(vorbisenc ${VORBISENC_SOURCES})
+ add_library(vorbisfile ${VORBISFILE_SOURCES})
+
+ get_version_info(VORBIS_VERSION_INFO "V_LIB_CURRENT" "V_LIB_AGE" "V_LIB_REVISION")
+ set_target_properties(vorbis PROPERTIES SOVERSION ${VORBIS_VERSION_INFO})
+ get_version_info(VORBISENC_VERSION_INFO "VE_LIB_CURRENT" "VE_LIB_AGE" "VE_LIB_REVISION")
+ set_target_properties(vorbisenc PROPERTIES SOVERSION ${VORBISENC_VERSION_INFO})
+ get_version_info(VORBISFILE_VERSION_INFO "VF_LIB_CURRENT" "VF_LIB_AGE" "VF_LIB_REVISION")
+ set_target_properties(vorbisfile PROPERTIES SOVERSION ${VORBISFILE_VERSION_INFO})
+
+ target_include_directories(vorbis
+ PUBLIC
+ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+ PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ )
+ target_include_directories(vorbisenc
+ PUBLIC
+ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+ PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ )
+ target_include_directories(vorbisfile
+ PUBLIC
+ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+ )
+
+ target_link_libraries(vorbis
+ PUBLIC Ogg::ogg
+ PRIVATE $<$<BOOL:${HAVE_LIBM}>:m>
+ )
+ target_link_libraries(vorbisenc PUBLIC vorbis)
+ target_link_libraries(vorbisfile PUBLIC vorbis)
+
+ install(FILES ${VORBIS_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/vorbis)
+
+ install(TARGETS vorbis vorbisenc vorbisfile
+ EXPORT VorbisTargets
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+
+ if(INSTALL_CMAKE_PACKAGE_MODULE)
+
+ set(CMAKE_INSTALL_CONFIGDIR ${CMAKE_INSTALL_LIBDIR}/cmake/Vorbis)
+
+ install(EXPORT VorbisTargets
+ DESTINATION ${CMAKE_INSTALL_CONFIGDIR}
+ NAMESPACE Vorbis::
+ )
+
+
+ include(CMakePackageConfigHelpers)
+
+ configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/VorbisConfig.cmake.in ${PROJECT_BINARY_DIR}/VorbisConfig.cmake
+ INSTALL_DESTINATION ${CMAKE_INSTALL_CONFIGDIR}
+ )
+
+ write_basic_package_version_file(${PROJECT_BINARY_DIR}/VorbisConfigVersion.cmake
+ COMPATIBILITY SameMajorVersion
+ )
+
+ install(FILES ${PROJECT_BINARY_DIR}/VorbisConfig.cmake ${PROJECT_BINARY_DIR}/VorbisConfigVersion.cmake
+ DESTINATION ${CMAKE_INSTALL_CONFIGDIR}
+ )
+
+ endif()
+else()
+ add_library(vorbis ${VORBIS_PUBLIC_HEADERS} ${VORBIS_HEADERS} ${VORBIS_SOURCES} ${VORBISFILE_SOURCES} ${VORBISENC_SOURCES})
+ set_target_properties(vorbis PROPERTIES
+ FRAMEWORK TRUE
+ FRAMEWORK_VERSION ${PROJECT_VERSION}
+ MACOSX_FRAMEWORK_IDENTIFIER org.xiph.vorbis
+ MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${PROJECT_VERSION}
+ MACOSX_FRAMEWORK_BUNDLE_VERSION ${PROJECT_VERSION}
+ XCODE_ATTRIBUTE_INSTALL_PATH "@rpath"
+ PUBLIC_HEADER "${VORBIS_PUBLIC_HEADERS}"
+ OUTPUT_NAME Vorbis
+ )
+ target_link_libraries(vorbis ${OGG_LIBRARIES})
+endif()
SUBDIRS = modes books
-INCLUDES = -I$(top_srcdir)/include @OGG_CFLAGS@
+AM_CPPFLAGS = -I$(top_srcdir)/include @OGG_CFLAGS@
lib_LTLIBRARIES = libvorbis.la libvorbisfile.la libvorbisenc.la
psytune_LDFLAGS = -static
psytune_LDADD = libvorbis.la
-EXTRA_DIST = lookups.pl
+EXTRA_DIST = lookups.pl CMakeLists.txt
# build and run the self tests on 'make check'
+++ /dev/null
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-EXTRA_PROGRAMS = barkmel$(EXEEXT) tone$(EXEEXT) psytune$(EXEEXT)
-noinst_PROGRAMS = $(am__EXEEXT_1)
-subdir = lib
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(libdir)"
-LTLIBRARIES = $(lib_LTLIBRARIES)
-libvorbis_la_DEPENDENCIES =
-am_libvorbis_la_OBJECTS = mdct.lo smallft.lo block.lo envelope.lo \
- window.lo lsp.lo lpc.lo analysis.lo synthesis.lo psy.lo \
- info.lo floor1.lo floor0.lo res0.lo mapping0.lo registry.lo \
- codebook.lo sharedbook.lo lookup.lo bitrate.lo
-libvorbis_la_OBJECTS = $(am_libvorbis_la_OBJECTS)
-libvorbis_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libvorbis_la_LDFLAGS) $(LDFLAGS) -o $@
-libvorbisenc_la_DEPENDENCIES = libvorbis.la
-am_libvorbisenc_la_OBJECTS = vorbisenc.lo
-libvorbisenc_la_OBJECTS = $(am_libvorbisenc_la_OBJECTS)
-libvorbisenc_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libvorbisenc_la_LDFLAGS) $(LDFLAGS) -o $@
-libvorbisfile_la_DEPENDENCIES = libvorbis.la
-am_libvorbisfile_la_OBJECTS = vorbisfile.lo
-libvorbisfile_la_OBJECTS = $(am_libvorbisfile_la_OBJECTS)
-libvorbisfile_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libvorbisfile_la_LDFLAGS) $(LDFLAGS) -o $@
-am__EXEEXT_1 = test_sharedbook$(EXEEXT)
-PROGRAMS = $(noinst_PROGRAMS)
-am_barkmel_OBJECTS = barkmel.$(OBJEXT)
-barkmel_OBJECTS = $(am_barkmel_OBJECTS)
-barkmel_LDADD = $(LDADD)
-am_psytune_OBJECTS = psytune.$(OBJEXT)
-psytune_OBJECTS = $(am_psytune_OBJECTS)
-psytune_DEPENDENCIES = libvorbis.la
-psytune_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(psytune_LDFLAGS) \
- $(LDFLAGS) -o $@
-am_test_sharedbook_OBJECTS = test_sharedbook-sharedbook.$(OBJEXT)
-test_sharedbook_OBJECTS = $(am_test_sharedbook_OBJECTS)
-test_sharedbook_DEPENDENCIES =
-test_sharedbook_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_sharedbook_CFLAGS) \
- $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-am_tone_OBJECTS = tone.$(OBJEXT)
-tone_OBJECTS = $(am_tone_OBJECTS)
-tone_LDADD = $(LDADD)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(libvorbis_la_SOURCES) $(libvorbisenc_la_SOURCES) \
- $(libvorbisfile_la_SOURCES) $(barkmel_SOURCES) \
- $(psytune_SOURCES) $(test_sharedbook_SOURCES) $(tone_SOURCES)
-DIST_SOURCES = $(libvorbis_la_SOURCES) $(libvorbisenc_la_SOURCES) \
- $(libvorbisfile_la_SOURCES) $(barkmel_SOURCES) \
- $(psytune_SOURCES) $(test_sharedbook_SOURCES) $(tone_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = modes books
-INCLUDES = -I$(top_srcdir)/include @OGG_CFLAGS@
-lib_LTLIBRARIES = libvorbis.la libvorbisfile.la libvorbisenc.la
-libvorbis_la_SOURCES = mdct.c smallft.c block.c envelope.c window.c lsp.c \
- lpc.c analysis.c synthesis.c psy.c info.c \
- floor1.c floor0.c\
- res0.c mapping0.c registry.c codebook.c sharedbook.c\
- lookup.c bitrate.c\
- envelope.h lpc.h lsp.h codebook.h misc.h psy.h\
- masking.h os.h mdct.h smallft.h highlevel.h\
- registry.h scales.h window.h lookup.h lookup_data.h\
- codec_internal.h backends.h bitrate.h
-
-libvorbis_la_LDFLAGS = -no-undefined -version-info @V_LIB_CURRENT@:@V_LIB_REVISION@:@V_LIB_AGE@
-libvorbis_la_LIBADD = @VORBIS_LIBS@ @OGG_LIBS@
-libvorbisfile_la_SOURCES = vorbisfile.c
-libvorbisfile_la_LDFLAGS = -no-undefined -version-info @VF_LIB_CURRENT@:@VF_LIB_REVISION@:@VF_LIB_AGE@
-libvorbisfile_la_LIBADD = libvorbis.la @OGG_LIBS@
-libvorbisenc_la_SOURCES = vorbisenc.c
-libvorbisenc_la_LDFLAGS = -no-undefined -version-info @VE_LIB_CURRENT@:@VE_LIB_REVISION@:@VE_LIB_AGE@
-libvorbisenc_la_LIBADD = libvorbis.la @OGG_LIBS@
-CLEANFILES = $(EXTRA_PROGRAMS)
-barkmel_SOURCES = barkmel.c
-tone_SOURCES = tone.c
-psytune_SOURCES = psytune.c
-psytune_LDFLAGS = -static
-psytune_LDADD = libvorbis.la
-EXTRA_DIST = lookups.pl
-
-# build and run the self tests on 'make check'
-
-#vorbis_selftests = test_codebook test_sharedbook
-vorbis_selftests = test_sharedbook
-
-#test_codebook_SOURCES = codebook.c
-#test_codebook_CFLAGS = -D_V_SELFTEST
-test_sharedbook_SOURCES = sharedbook.c
-test_sharedbook_CFLAGS = -D_V_SELFTEST
-test_sharedbook_LDADD = @VORBIS_LIBS@
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu lib/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
- }
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libvorbis.la: $(libvorbis_la_OBJECTS) $(libvorbis_la_DEPENDENCIES) $(EXTRA_libvorbis_la_DEPENDENCIES)
- $(libvorbis_la_LINK) -rpath $(libdir) $(libvorbis_la_OBJECTS) $(libvorbis_la_LIBADD) $(LIBS)
-libvorbisenc.la: $(libvorbisenc_la_OBJECTS) $(libvorbisenc_la_DEPENDENCIES) $(EXTRA_libvorbisenc_la_DEPENDENCIES)
- $(libvorbisenc_la_LINK) -rpath $(libdir) $(libvorbisenc_la_OBJECTS) $(libvorbisenc_la_LIBADD) $(LIBS)
-libvorbisfile.la: $(libvorbisfile_la_OBJECTS) $(libvorbisfile_la_DEPENDENCIES) $(EXTRA_libvorbisfile_la_DEPENDENCIES)
- $(libvorbisfile_la_LINK) -rpath $(libdir) $(libvorbisfile_la_OBJECTS) $(libvorbisfile_la_LIBADD) $(LIBS)
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-barkmel$(EXEEXT): $(barkmel_OBJECTS) $(barkmel_DEPENDENCIES) $(EXTRA_barkmel_DEPENDENCIES)
- @rm -f barkmel$(EXEEXT)
- $(LINK) $(barkmel_OBJECTS) $(barkmel_LDADD) $(LIBS)
-psytune$(EXEEXT): $(psytune_OBJECTS) $(psytune_DEPENDENCIES) $(EXTRA_psytune_DEPENDENCIES)
- @rm -f psytune$(EXEEXT)
- $(psytune_LINK) $(psytune_OBJECTS) $(psytune_LDADD) $(LIBS)
-test_sharedbook$(EXEEXT): $(test_sharedbook_OBJECTS) $(test_sharedbook_DEPENDENCIES) $(EXTRA_test_sharedbook_DEPENDENCIES)
- @rm -f test_sharedbook$(EXEEXT)
- $(test_sharedbook_LINK) $(test_sharedbook_OBJECTS) $(test_sharedbook_LDADD) $(LIBS)
-tone$(EXEEXT): $(tone_OBJECTS) $(tone_DEPENDENCIES) $(EXTRA_tone_DEPENDENCIES)
- @rm -f tone$(EXEEXT)
- $(LINK) $(tone_OBJECTS) $(tone_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/analysis.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/barkmel.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitrate.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/block.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/codebook.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/envelope.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/floor0.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/floor1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/info.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lookup.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lpc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lsp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mapping0.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mdct.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/psy.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/psytune.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/registry.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/res0.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sharedbook.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smallft.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/synthesis.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_sharedbook-sharedbook.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tone.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vorbisenc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vorbisfile.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/window.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-test_sharedbook-sharedbook.o: sharedbook.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sharedbook_CFLAGS) $(CFLAGS) -MT test_sharedbook-sharedbook.o -MD -MP -MF $(DEPDIR)/test_sharedbook-sharedbook.Tpo -c -o test_sharedbook-sharedbook.o `test -f 'sharedbook.c' || echo '$(srcdir)/'`sharedbook.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/test_sharedbook-sharedbook.Tpo $(DEPDIR)/test_sharedbook-sharedbook.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sharedbook.c' object='test_sharedbook-sharedbook.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sharedbook_CFLAGS) $(CFLAGS) -c -o test_sharedbook-sharedbook.o `test -f 'sharedbook.c' || echo '$(srcdir)/'`sharedbook.c
-
-test_sharedbook-sharedbook.obj: sharedbook.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sharedbook_CFLAGS) $(CFLAGS) -MT test_sharedbook-sharedbook.obj -MD -MP -MF $(DEPDIR)/test_sharedbook-sharedbook.Tpo -c -o test_sharedbook-sharedbook.obj `if test -f 'sharedbook.c'; then $(CYGPATH_W) 'sharedbook.c'; else $(CYGPATH_W) '$(srcdir)/sharedbook.c'; fi`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/test_sharedbook-sharedbook.Tpo $(DEPDIR)/test_sharedbook-sharedbook.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sharedbook.c' object='test_sharedbook-sharedbook.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sharedbook_CFLAGS) $(CFLAGS) -c -o test_sharedbook-sharedbook.obj `if test -f 'sharedbook.c'; then $(CYGPATH_W) 'sharedbook.c'; else $(CYGPATH_W) '$(srcdir)/sharedbook.c'; fi`
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS)
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(libdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
- clean-noinstPROGRAMS mostlyclean-am
-
-distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am: install-libLTLIBRARIES
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-libLTLIBRARIES
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
- install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool clean-noinstPROGRAMS ctags \
- ctags-recursive distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-libLTLIBRARIES install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs installdirs-am \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
- uninstall-libLTLIBRARIES
-
-
-check: $(noinst_PROGRAMS)
- ./test_sharedbook$(EXEEXT)
-
-# recurse for alternate targets
-
-debug:
- $(MAKE) all CFLAGS="@DEBUG@"
-
-profile:
- $(MAKE) all CFLAGS="@PROFILE@"
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: single-block PCM analysis mode dispatch
- last mod: $Id: analysis.c 16226 2009-07-08 06:43:49Z xiphmont $
********************************************************************/
char buffer[80];
sprintf(buffer,"%s_%d.m",base,i);
- of=fopen(buffer,"we");
+ of=fopen(buffer,"w");
if(!of)perror("failed to open data dump file");
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: libvorbis backend and mapping structures; needed for
static mode headers
- last mod: $Id: backends.h 16962 2010-03-11 07:30:34Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: bark scale utility
- last mod: $Id: barkmel.c 16037 2009-05-26 21:10:58Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: bitrate tracking and management
- last mod: $Id: bitrate.c 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: bitrate tracking and management
- last mod: $Id: bitrate.h 13293 2007-07-24 00:09:47Z xiphmont $
********************************************************************/
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: PCM data vector blocking, windowing and dis/reassembly
- last mod: $Id: block.c 19031 2013-12-03 19:20:50Z tterribe $
Handle windowing, overlap-add, etc of the PCM vectors. This is made
more amusing by Vorbis' current two allowed block sizes.
#include "registry.h"
#include "misc.h"
-static int ilog2(unsigned int v){
- int ret=0;
- if(v)--v;
- while(v){
- ret++;
- v>>=1;
- }
- return(ret);
-}
-
/* pcm accumulator examples (not exhaustive):
<-------------- lW ---------------->
private_state *b=NULL;
int hs;
- if(ci==NULL) return 1;
+ if(ci==NULL||
+ ci->modes<=0||
+ ci->blocksizes[0]<64||
+ ci->blocksizes[1]<ci->blocksizes[0]){
+ return 1;
+ }
hs=ci->halfrate_flag;
memset(v,0,sizeof(*v));
b=v->backend_state=_ogg_calloc(1,sizeof(*b));
v->vi=vi;
- b->modebits=ilog2(ci->modes);
+ b->modebits=ov_ilog(ci->modes-1);
b->transform[0]=_ogg_calloc(VI_TRANSFORMB,sizeof(*b->transform[0]));
b->transform[1]=_ogg_calloc(VI_TRANSFORMB,sizeof(*b->transform[1]));
mdct_init(b->transform[1][0],ci->blocksizes[1]>>hs);
/* Vorbis I uses only window type 0 */
- b->window[0]=ilog2(ci->blocksizes[0])-6;
- b->window[1]=ilog2(ci->blocksizes[1])-6;
+ /* note that the correct computation below is technically:
+ b->window[0]=ov_ilog(ci->blocksizes[0]-1)-6;
+ b->window[1]=ov_ilog(ci->blocksizes[1]-1)-6;
+ but since blocksizes are always powers of two,
+ the below is equivalent.
+ */
+ b->window[0]=ov_ilog(ci->blocksizes[0])-7;
+ b->window[1]=ov_ilog(ci->blocksizes[1])-7;
if(encp){ /* encode/decode differ here */
+++ /dev/null
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = lib/books
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = coupled uncoupled floor
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/books/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu lib/books/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
- install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- ctags ctags-recursive distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
+++ /dev/null
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = lib/books/coupled
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-EXTRA_DIST = res_books_stereo.h res_books_51.h
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/books/coupled/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu lib/books/coupled/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
*
* function: static codebooks for 5.1 surround
- * last modified: $Id: res_books_51.h 19057 2014-01-22 12:32:31Z xiphmont $
*
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: static codebooks autogenerated by huff/huffbuld
- last modified: $Id: res_books_stereo.h 19057 2014-01-22 12:32:31Z xiphmont $
********************************************************************/
+++ /dev/null
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = lib/books/floor
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-EXTRA_DIST = floor_books.h
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/books/floor/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu lib/books/floor/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: static codebooks autogenerated by huff/huffbuld
- last modified: $Id: floor_books.h 19057 2014-01-22 12:32:31Z xiphmont $
********************************************************************/
+++ /dev/null
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = lib/books/uncoupled
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-EXTRA_DIST = res_books_uncoupled.h
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/books/uncoupled/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu lib/books/uncoupled/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: static codebooks autogenerated by huff/huffbuld
- last modified: $Id: res_books_uncoupled.h 19057 2014-01-22 12:32:31Z xiphmont $
********************************************************************/
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: basic codebook pack/unpack/code/decode operations
- last mod: $Id: codebook.c 19057 2014-01-22 12:32:31Z xiphmont $
********************************************************************/
char last=c->lengthlist[i-1];
if(this>last){
for(j=last;j<this;j++){
- oggpack_write(opb,i-count,_ilog(c->entries-count));
+ oggpack_write(opb,i-count,ov_ilog(c->entries-count));
count=i;
}
}
}
- oggpack_write(opb,i-count,_ilog(c->entries-count));
+ oggpack_write(opb,i-count,ov_ilog(c->entries-count));
}else{
/* length random. Again, we don't code the codeword itself, just
s->entries=oggpack_read(opb,24);
if(s->entries==-1)goto _eofout;
- if(_ilog(s->dim)+_ilog(s->entries)>24)goto _eofout;
+ if(ov_ilog(s->dim)+ov_ilog(s->entries)>24)goto _eofout;
/* codeword ordering.... length ordered or unordered? */
switch((int)oggpack_read(opb,1)){
s->lengthlist=_ogg_malloc(sizeof(*s->lengthlist)*s->entries);
for(i=0;i<s->entries;){
- long num=oggpack_read(opb,_ilog(s->entries-i));
+ long num=oggpack_read(opb,ov_ilog(s->entries-i));
if(num==-1)goto _eofout;
if(length>32 || num>s->entries-i ||
(num>0 && (num-1)>>(length-1)>1)){
hi=book->used_entries;
}
+ /* Single entry codebooks use a firsttablen of 1 and a
+ dec_maxlength of 1. If a single-entry codebook gets here (due to
+ failure to read one bit above), the next look attempt will also
+ fail and we'll correctly kick out instead of trying to walk the
+ underformed tree */
+
lok = oggpack_look(b, read);
while(lok<0 && read>1)
for(i=0;i<n;){
entry = decode_packed_entry_number(book,b);
- if(entry==-1)return(-1);
- t = book->valuelist+entry*book->dim;
- for(j=0;i<n && j<book->dim;)
- a[i++]+=t[j++];
+ if(entry==-1)return(-1);
+ t = book->valuelist+entry*book->dim;
+ for(j=0;i<n && j<book->dim;)
+ a[i++]+=t[j++];
}
}
return(0);
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2014 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: basic shared codebook operations
- last mod: $Id: codebook.h 19057 2014-01-22 12:32:31Z xiphmont $
********************************************************************/
extern float _float32_unpack(long val);
extern long _float32_pack(float val);
extern int _best(codebook *book, float *a, int step);
-extern int _ilog(unsigned int v);
extern long _book_maptype1_quantvals(const static_codebook *b);
extern int vorbis_book_besterror(codebook *book,float *a,int step,int addmul);
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: libvorbis codec headers
- last mod: $Id: codec_internal.h 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
#define BLOCKTYPE_LONG 1
#define PACKETBLOBS 15
-#define MAX_CHANNEL 8
typedef struct vorbis_block_internal{
float **pcmdelay; /* this is a pointer into local storage */
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: PCM data envelope analysis
- last mod: $Id: envelope.c 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: PCM data envelope analysis and manipulation
- last mod: $Id: envelope.h 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: floor backend 0 implementation
- last mod: $Id: floor0.c 19031 2013-12-03 19:20:50Z tterribe $
********************************************************************/
if(ampraw>0){ /* also handles the -1 out of data case */
long maxval=(1<<info->ampbits)-1;
float amp=(float)ampraw/maxval*info->ampdB;
- int booknum=oggpack_read(&vb->opb,_ilog(info->numbooks));
+ int booknum=oggpack_read(&vb->opb,ov_ilog(info->numbooks));
if(booknum!=-1 && booknum<info->numbooks){ /* be paranoid */
codec_setup_info *ci=vb->vd->vi->codec_setup;
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: floor backend 1 implementation
- last mod: $Id: floor1.c 19031 2013-12-03 19:20:50Z tterribe $
********************************************************************/
}
}
-static int ilog(unsigned int v){
- int ret=0;
- while(v){
- ret++;
- v>>=1;
- }
- return(ret);
-}
-
-static int ilog2(unsigned int v){
- int ret=0;
- if(v)--v;
- while(v){
- ret++;
- v>>=1;
- }
- return(ret);
-}
-
static void floor1_pack (vorbis_info_floor *i,oggpack_buffer *opb){
vorbis_info_floor1 *info=(vorbis_info_floor1 *)i;
int j,k;
/* save out the post list */
oggpack_write(opb,info->mult-1,2); /* only 1,2,3,4 legal now */
- oggpack_write(opb,ilog2(maxposit),4);
- rangebits=ilog2(maxposit);
+ /* maxposit cannot legally be less than 1; this is encode-side, we
+ can assume our setup is OK */
+ oggpack_write(opb,ov_ilog(maxposit-1),4);
+ rangebits=ov_ilog(maxposit-1);
for(j=0,k=0;j<info->partitions;j++){
count+=info->class_dim[info->partitionclass[j]];
/* beginning/end post */
look->frames++;
- look->postbits+=ilog(look->quant_q-1)*2;
- oggpack_write(opb,out[0],ilog(look->quant_q-1));
- oggpack_write(opb,out[1],ilog(look->quant_q-1));
+ look->postbits+=ov_ilog(look->quant_q-1)*2;
+ oggpack_write(opb,out[0],ov_ilog(look->quant_q-1));
+ oggpack_write(opb,out[1],ov_ilog(look->quant_q-1));
/* partition by partition */
/* generate the partition's first stage cascade value */
if(csubbits){
- int maxval[8];
+ int maxval[8]={0,0,0,0,0,0,0,0}; /* gcc's static analysis
+ issues a warning without
+ initialization */
for(k=0;k<csub;k++){
int booknum=info->class_subbook[class][k];
if(booknum<0){
char buffer[80];
sprintf(buffer,"line_%dx%ld_class%d.vqd",
vb->pcmend/2,posts-2,class);
- of=fopen(buffer,"ae");
+ of=fopen(buffer,"a");
fprintf(of,"%d\n",cval);
fclose(of);
}
char buffer[80];
sprintf(buffer,"line_%dx%ld_%dsub%d.vqd",
vb->pcmend/2,posts-2,class,bookas[k]);
- of=fopen(buffer,"ae");
+ of=fopen(buffer,"a");
fprintf(of,"%d\n",out[j+k]);
fclose(of);
}
if(oggpack_read(&vb->opb,1)==1){
int *fit_value=_vorbis_block_alloc(vb,(look->posts)*sizeof(*fit_value));
- fit_value[0]=oggpack_read(&vb->opb,ilog(look->quant_q-1));
- fit_value[1]=oggpack_read(&vb->opb,ilog(look->quant_q-1));
+ fit_value[0]=oggpack_read(&vb->opb,ov_ilog(look->quant_q-1));
+ fit_value[1]=oggpack_read(&vb->opb,ov_ilog(look->quant_q-1));
/* partition by partition */
for(i=0,j=2;i<info->partitions;i++){
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: highlevel encoder setup struct separated out for vorbisenc clarity
- last mod: $Id: highlevel.h 17195 2010-05-05 21:49:51Z giles $
********************************************************************/
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: maintain the info structure, info <-> header packets
- last mod: $Id: info.c 19058 2014-01-22 18:03:15Z xiphmont $
********************************************************************/
#include <stdlib.h>
#include <string.h>
-#include <ctype.h>
#include <ogg/ogg.h>
#include "vorbis/codec.h"
#include "codec_internal.h"
#include "misc.h"
#include "os.h"
-#define GENERAL_VENDOR_STRING "Xiph.Org libVorbis 1.3.4"
-#define ENCODE_VENDOR_STRING "Xiph.Org libVorbis I 20140122 (Turpakäräjiin)"
+#define GENERAL_VENDOR_STRING "Xiph.Org libVorbis 1.3.7"
+#define ENCODE_VENDOR_STRING "Xiph.Org libVorbis I 20200704 (Reducing Environment)"
/* helpers */
-static int ilog2(unsigned int v){
- int ret=0;
- if(v)--v;
- while(v){
- ret++;
- v>>=1;
- }
- return(ret);
-}
-
static void _v_writestring(oggpack_buffer *o,const char *s, int bytes){
while(bytes--){
}
}
+static int _v_toupper(int c) {
+ return (c >= 'a' && c <= 'z') ? (c & ~('a' - 'A')) : c;
+}
+
void vorbis_comment_init(vorbis_comment *vc){
memset(vc,0,sizeof(*vc));
}
}
void vorbis_comment_add_tag(vorbis_comment *vc, const char *tag, const char *contents){
- char *comment=alloca(strlen(tag)+strlen(contents)+2); /* +2 for = and \0 */
+ /* Length for key and value +2 for = and \0 */
+ char *comment=_ogg_malloc(strlen(tag)+strlen(contents)+2);
strcpy(comment, tag);
strcat(comment, "=");
strcat(comment, contents);
vorbis_comment_add(vc, comment);
+ _ogg_free(comment);
}
/* This is more or less the same as strncasecmp - but that doesn't exist
static int tagcompare(const char *s1, const char *s2, int n){
int c=0;
while(c < n){
- if(toupper(s1[c]) != toupper(s2[c]))
+ if(_v_toupper(s1[c]) != _v_toupper(s2[c]))
return !0;
c++;
}
long i;
int found = 0;
int taglen = strlen(tag)+1; /* +1 for the = we append */
- char *fulltag = alloca(taglen+ 1);
+ char *fulltag = _ogg_malloc(taglen+1);
strcpy(fulltag, tag);
strcat(fulltag, "=");
for(i=0;i<vc->comments;i++){
if(!tagcompare(vc->user_comments[i], fulltag, taglen)){
- if(count == found)
+ if(count == found) {
/* We return a pointer to the data, not a copy */
- return vc->user_comments[i] + taglen;
- else
+ _ogg_free(fulltag);
+ return vc->user_comments[i] + taglen;
+ } else {
found++;
+ }
}
}
+ _ogg_free(fulltag);
return NULL; /* didn't find anything */
}
int vorbis_comment_query_count(vorbis_comment *vc, const char *tag){
int i,count=0;
int taglen = strlen(tag)+1; /* +1 for the = we append */
- char *fulltag = alloca(taglen+1);
+ char *fulltag = _ogg_malloc(taglen+1);
strcpy(fulltag,tag);
strcat(fulltag, "=");
count++;
}
+ _ogg_free(fulltag);
return count;
}
static int _vorbis_unpack_info(vorbis_info *vi,oggpack_buffer *opb){
codec_setup_info *ci=vi->codec_setup;
+ int bs;
if(!ci)return(OV_EFAULT);
vi->version=oggpack_read(opb,32);
vi->channels=oggpack_read(opb,8);
vi->rate=oggpack_read(opb,32);
- vi->bitrate_upper=oggpack_read(opb,32);
- vi->bitrate_nominal=oggpack_read(opb,32);
- vi->bitrate_lower=oggpack_read(opb,32);
+ vi->bitrate_upper=(ogg_int32_t)oggpack_read(opb,32);
+ vi->bitrate_nominal=(ogg_int32_t)oggpack_read(opb,32);
+ vi->bitrate_lower=(ogg_int32_t)oggpack_read(opb,32);
- ci->blocksizes[0]=1<<oggpack_read(opb,4);
- ci->blocksizes[1]=1<<oggpack_read(opb,4);
+ bs = oggpack_read(opb,4);
+ if(bs<0)goto err_out;
+ ci->blocksizes[0]=1<<bs;
+ bs = oggpack_read(opb,4);
+ if(bs<0)goto err_out;
+ ci->blocksizes[1]=1<<bs;
if(vi->rate<1)goto err_out;
if(vi->channels<1)goto err_out;
static int _vorbis_unpack_books(vorbis_info *vi,oggpack_buffer *opb){
codec_setup_info *ci=vi->codec_setup;
int i;
- if(!ci)return(OV_EFAULT);
/* codebooks */
ci->books=oggpack_read(opb,8)+1;
/* um... we didn't get the initial header */
return(OV_EBADHEADER);
}
+ if(vc->vendor!=NULL){
+ /* previously initialized comment header */
+ return(OV_EBADHEADER);
+ }
return(_vorbis_unpack_comment(vc,&opb));
/* um... we didn;t get the initial header or comments yet */
return(OV_EBADHEADER);
}
+ if(vi->codec_setup==NULL){
+ /* improperly initialized vorbis_info */
+ return(OV_EFAULT);
+ }
+ if(((codec_setup_info *)vi->codec_setup)->books>0){
+ /* previously initialized setup header */
+ return(OV_EBADHEADER);
+ }
return(_vorbis_unpack_books(vi,&opb));
static int _vorbis_pack_info(oggpack_buffer *opb,vorbis_info *vi){
codec_setup_info *ci=vi->codec_setup;
- if(!ci)return(OV_EFAULT);
+ if(!ci||
+ ci->blocksizes[0]<64||
+ ci->blocksizes[1]<ci->blocksizes[0]){
+ return(OV_EFAULT);
+ }
/* preamble */
oggpack_write(opb,0x01,8);
oggpack_write(opb,vi->bitrate_nominal,32);
oggpack_write(opb,vi->bitrate_lower,32);
- oggpack_write(opb,ilog2(ci->blocksizes[0]),4);
- oggpack_write(opb,ilog2(ci->blocksizes[1]),4);
+ oggpack_write(opb,ov_ilog(ci->blocksizes[0]-1),4);
+ oggpack_write(opb,ov_ilog(ci->blocksizes[1]-1),4);
oggpack_write(opb,1,1);
return(0);
private_state *b=v->backend_state;
if(!b||vi->channels<=0||vi->channels>256){
+ b = NULL;
ret=OV_EFAULT;
goto err_out;
}
memset(op_code,0,sizeof(*op_code));
if(b){
- oggpack_writeclear(&opb);
+ if(vi->channels>0)oggpack_writeclear(&opb);
if(b->header)_ogg_free(b->header);
if(b->header1)_ogg_free(b->header1);
if(b->header2)_ogg_free(b->header2);
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: lookup based functions
- last mod: $Id: lookup.c 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: lookup based functions
- last mod: $Id: lookup.h 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: lookup data; generated by lookups.pl; edit there
- last mod: $Id: lookup_data.h 16037 2009-05-26 21:10:58Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: lookup data; generated by lookups.pl; edit there
- last mod: $Id: lookups.pl 13293 2007-07-24 00:09:47Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: LPC low level routines
- last mod: $Id: lpc.c 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: LPC low level routines
- last mod: $Id: lpc.h 16037 2009-05-26 21:10:58Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: LSP (also called LSF) conversion routines
- last mod: $Id: lsp.c 17538 2010-10-15 02:52:29Z tterribe $
The LSP generation code is taken (with minimal modification and a
few bugfixes) from "On the Computation of the LSP Frequencies" by
Joseph Rothweiler (see http://www.rothweiler.us for contact info).
+
The paper is available at:
- http://www.myown1.com/joe/lsf
+ https://web.archive.org/web/20110810174000/http://home.myfairpoint.net/vzenxj75/myown1/joe/lsf/index.html
********************************************************************/
#define EPSILON 10e-7
static int Laguerre_With_Deflation(float *a,int ord,float *r){
int i,m;
- double lastdelta=0.f;
double *defl=alloca(sizeof(*defl)*(ord+1));
for(i=0;i<=ord;i++)defl[i]=a[i];
if(delta<0.f)delta*=-1;
if(fabs(delta/new)<10e-12)break;
- lastdelta=delta;
}
r[m-1]=new;
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: LSP (also called LSF) conversion routines
- last mod: $Id: lsp.h 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: channel mapping 0 implementation
- last mod: $Id: mapping0.c 17022 2010-03-25 03:45:42Z xiphmont $
********************************************************************/
}
}
-static int ilog(unsigned int v){
- int ret=0;
- if(v)--v;
- while(v){
- ret++;
- v>>=1;
- }
- return(ret);
-}
-
static void mapping0_pack(vorbis_info *vi,vorbis_info_mapping *vm,
oggpack_buffer *opb){
int i;
oggpack_write(opb,info->coupling_steps-1,8);
for(i=0;i<info->coupling_steps;i++){
- oggpack_write(opb,info->coupling_mag[i],ilog(vi->channels));
- oggpack_write(opb,info->coupling_ang[i],ilog(vi->channels));
+ oggpack_write(opb,info->coupling_mag[i],ov_ilog(vi->channels-1));
+ oggpack_write(opb,info->coupling_ang[i],ov_ilog(vi->channels-1));
}
}else
oggpack_write(opb,0,1);
int i,b;
vorbis_info_mapping0 *info=_ogg_calloc(1,sizeof(*info));
codec_setup_info *ci=vi->codec_setup;
- memset(info,0,sizeof(*info));
+ if(vi->channels<=0)goto err_out;
b=oggpack_read(opb,1);
if(b<0)goto err_out;
info->coupling_steps=oggpack_read(opb,8)+1;
if(info->coupling_steps<=0)goto err_out;
for(i=0;i<info->coupling_steps;i++){
- int testM=info->coupling_mag[i]=oggpack_read(opb,ilog(vi->channels));
- int testA=info->coupling_ang[i]=oggpack_read(opb,ilog(vi->channels));
+ /* vi->channels > 0 is enforced in the caller */
+ int testM=info->coupling_mag[i]=
+ oggpack_read(opb,ov_ilog(vi->channels-1));
+ int testA=info->coupling_ang[i]=
+ oggpack_read(opb,ov_ilog(vi->channels-1));
if(testM<0 ||
testA<0 ||
int n=vb->pcmend;
int i,j,k;
- if (vi->channels > MAX_CHANNEL || vi->channels < 0) return -1;
-
int *nonzero = alloca(sizeof(*nonzero)*vi->channels);
float **gmdct = _vorbis_block_alloc(vb,vi->channels*sizeof(*gmdct));
int **iwork = _vorbis_block_alloc(vb,vi->channels*sizeof(*iwork));
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: masking curve data for psychoacoustics
- last mod: $Id: masking.h 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: normalized modified discrete cosine transform
power of two length transform only [64 <= n ]
- last mod: $Id: mdct.c 16227 2009-07-08 06:58:46Z xiphmont $
Original algorithm adapted long ago from _The use of multirate filter
banks for coding of high quality digital audio_, by T. Sporer,
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: modified discrete cosine transform prototypes
- last mod: $Id: mdct.h 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
--- /dev/null
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
+ * by the Xiph.Org Foundation https://xiph.org/ *
+ * *
+ ********************************************************************/
+
+#define HEAD_ALIGN 32
+#include <pthread.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include "vorbis/codec.h"
+#define MISC_C
+#include "misc.h"
+#include <sys/time.h>
+
+static pthread_mutex_t memlock=PTHREAD_MUTEX_INITIALIZER;
+static void **pointers=NULL;
+static long *insertlist=NULL; /* We can't embed this in the pointer list;
+ a pointer can have any value... */
+
+static char **files=NULL;
+static long *file_bytes=NULL;
+static int filecount=0;
+
+static int ptop=0;
+static int palloced=0;
+static int pinsert=0;
+
+typedef struct {
+ char *file;
+ long line;
+ long ptr;
+ long bytes;
+} head;
+
+long global_bytes=0;
+long start_time=-1;
+
+static void *_insert(void *ptr,long bytes,char *file,long line){
+ ((head *)ptr)->file=file;
+ ((head *)ptr)->line=line;
+ ((head *)ptr)->ptr=pinsert;
+ ((head *)ptr)->bytes=bytes-HEAD_ALIGN;
+
+ pthread_mutex_lock(&memlock);
+ if(pinsert>=palloced){
+ palloced+=64;
+ if(pointers){
+ pointers=(void **)realloc(pointers,sizeof(void **)*palloced);
+ insertlist=(long *)realloc(insertlist,sizeof(long *)*palloced);
+ }else{
+ pointers=(void **)malloc(sizeof(void **)*palloced);
+ insertlist=(long *)malloc(sizeof(long *)*palloced);
+ }
+ }
+
+ pointers[pinsert]=ptr;
+
+ if(pinsert==ptop)
+ pinsert=++ptop;
+ else
+ pinsert=insertlist[pinsert];
+
+#ifdef _VDBG_GRAPHFILE
+ {
+ FILE *out;
+ struct timeval tv;
+ static struct timezone tz;
+ int i;
+ char buffer[80];
+ gettimeofday(&tv,&tz);
+
+ for(i=0;i<filecount;i++)
+ if(!strcmp(file,files[i]))break;
+
+ if(i==filecount){
+ filecount++;
+ if(!files){
+ files=malloc(filecount*sizeof(*files));
+ file_bytes=malloc(filecount*sizeof(*file_bytes));
+ }else{
+ files=realloc(files,filecount*sizeof(*files));
+ file_bytes=realloc(file_bytes,filecount*sizeof(*file_bytes));
+ }
+ files[i]=strdup(file);
+ file_bytes[i]=0;
+ }
+
+ file_bytes[i]+=bytes-HEAD_ALIGN;
+
+ if(start_time==-1)start_time=(tv.tv_sec*1000)+(tv.tv_usec/1000);
+
+ snprintf(buffer,80,"%s%s",file,_VDBG_GRAPHFILE);
+ out=fopen(buffer,"a");
+ fprintf(out,"%ld, %ld\n",-start_time+(tv.tv_sec*1000)+(tv.tv_usec/1000),
+ file_bytes[i]-(bytes-HEAD_ALIGN));
+ fprintf(out,"%ld, %ld # FILE %s LINE %ld\n",
+ -start_time+(tv.tv_sec*1000)+(tv.tv_usec/1000),
+ file_bytes[i],file,line);
+ fclose(out);
+
+ out=fopen(_VDBG_GRAPHFILE,"a");
+ fprintf(out,"%ld, %ld\n",-start_time+(tv.tv_sec*1000)+(tv.tv_usec/1000),
+ global_bytes);
+ fprintf(out,"%ld, %ld\n",-start_time+(tv.tv_sec*1000)+(tv.tv_usec/1000),
+ global_bytes+(bytes-HEAD_ALIGN));
+ fclose(out);
+ }
+#endif
+
+ global_bytes+=(bytes-HEAD_ALIGN);
+
+ pthread_mutex_unlock(&memlock);
+ return(ptr+HEAD_ALIGN);
+}
+
+static void _ripremove(void *ptr){
+ int insert;
+ pthread_mutex_lock(&memlock);
+
+#ifdef _VDBG_GRAPHFILE
+ {
+ FILE *out=fopen(_VDBG_GRAPHFILE,"a");
+ struct timeval tv;
+ static struct timezone tz;
+ char buffer[80];
+ char *file =((head *)ptr)->file;
+ long bytes =((head *)ptr)->bytes;
+ int i;
+
+ gettimeofday(&tv,&tz);
+ fprintf(out,"%ld, %ld\n",-start_time+(tv.tv_sec*1000)+(tv.tv_usec/1000),
+ global_bytes);
+ fprintf(out,"%ld, %ld\n",-start_time+(tv.tv_sec*1000)+(tv.tv_usec/1000),
+ global_bytes-((head *)ptr)->bytes);
+ fclose(out);
+
+ for(i=0;i<filecount;i++)
+ if(!strcmp(file,files[i]))break;
+
+ snprintf(buffer,80,"%s%s",file,_VDBG_GRAPHFILE);
+ out=fopen(buffer,"a");
+ fprintf(out,"%ld, %ld\n",-start_time+(tv.tv_sec*1000)+(tv.tv_usec/1000),
+ file_bytes[i]);
+ fprintf(out,"%ld, %ld\n",-start_time+(tv.tv_sec*1000)+(tv.tv_usec/1000),
+ file_bytes[i]-bytes);
+ fclose(out);
+
+ file_bytes[i]-=bytes;
+
+ }
+#endif
+
+ global_bytes-=((head *)ptr)->bytes;
+
+ insert=((head *)ptr)->ptr;
+ insertlist[insert]=pinsert;
+ pinsert=insert;
+
+ if(pointers[insert]==NULL){
+ fprintf(stderr,"DEBUGGING MALLOC ERROR: freeing previously freed memory\n");
+ fprintf(stderr,"\t%s %ld\n",((head *)ptr)->file,((head *)ptr)->line);
+ }
+
+ if(global_bytes<0){
+ fprintf(stderr,"DEBUGGING MALLOC ERROR: freeing unmalloced memory\n");
+ }
+
+ pointers[insert]=NULL;
+ pthread_mutex_unlock(&memlock);
+}
+
+void _VDBG_dump(void){
+ int i;
+ pthread_mutex_lock(&memlock);
+ for(i=0;i<ptop;i++){
+ head *ptr=pointers[i];
+ if(ptr)
+ fprintf(stderr,"unfreed bytes from %s:%ld\n",
+ ptr->file,ptr->line);
+ }
+
+ pthread_mutex_unlock(&memlock);
+}
+
+void *_VDBG_malloc(void *ptr,long bytes,char *file,long line){
+ if(bytes<=0)
+ fprintf(stderr,"bad malloc request (%ld bytes) from %s:%ld\n",bytes,file,line);
+
+ bytes+=HEAD_ALIGN;
+ if(ptr){
+ ptr-=HEAD_ALIGN;
+ _ripremove(ptr);
+ ptr=realloc(ptr,bytes);
+ }else{
+ ptr=malloc(bytes);
+ memset(ptr,0,bytes);
+ }
+ return _insert(ptr,bytes,file,line);
+}
+
+void _VDBG_free(void *ptr,char *file,long line){
+ if(ptr){
+ ptr-=HEAD_ALIGN;
+ _ripremove(ptr);
+ free(ptr);
+ }
+}
+
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: miscellaneous prototypes
- last mod: $Id: misc.h 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
extern void *_vorbis_block_alloc(vorbis_block *vb,long bytes);
extern void _vorbis_block_ripcord(vorbis_block *vb);
+extern int ov_ilog(ogg_uint32_t v);
#ifdef ANALYSIS
extern int analysis_noisy;
+++ /dev/null
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = lib/modes
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-EXTRA_DIST = floor_all.h psych_44.h residue_44.h setup_11.h setup_32.h \
- setup_8.h psych_11.h psych_8.h residue_44u.h setup_16.h \
- setup_44.h setup_X.h psych_16.h residue_16.h residue_8.h \
- setup_22.h setup_44u.h setup_44p51.h residue_44p51.h
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/modes/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu lib/modes/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: key floor settings
- last mod: $Id: floor_all.h 17050 2010-03-26 01:34:42Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: 11kHz settings
- last mod: $Id: psych_11.h 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: 16kHz settings
- last mod: $Id: psych_16.h 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: key psychoacoustic settings for 44.1/48kHz
- last mod: $Id: psych_44.h 16962 2010-03-11 07:30:34Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: 8kHz psychoacoustic settings
- last mod: $Id: psych_8.h 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: toplevel residue templates 16/22kHz
- last mod: $Id: residue_16.h 16962 2010-03-11 07:30:34Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: toplevel residue templates for 32/44.1/48kHz
- last mod: $Id: residue_44.h 16962 2010-03-11 07:30:34Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: toplevel residue templates for 32/44.1/48kHz uncoupled
- last mod: $Id: residue_44p51.h 19013 2013-11-12 04:04:50Z giles $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: toplevel residue templates for 32/44.1/48kHz uncoupled
- last mod: $Id: residue_44u.h 16962 2010-03-11 07:30:34Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: toplevel residue templates 8/11kHz
- last mod: $Id: residue_8.h 16962 2010-03-11 07:30:34Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: 11kHz settings
- last mod: $Id: setup_11.h 16894 2010-02-12 20:32:12Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: 16kHz settings
- last mod: $Id: setup_16.h 16894 2010-02-12 20:32:12Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: 22kHz settings
- last mod: $Id: setup_22.h 17026 2010-03-25 05:00:27Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: toplevel settings for 32kHz
- last mod: $Id: setup_32.h 16894 2010-02-12 20:32:12Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: toplevel settings for 44.1/48kHz
- last mod: $Id: setup_44.h 16962 2010-03-11 07:30:34Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: toplevel settings for 44.1/48kHz 5.1 surround modes
- last mod: $Id: setup_44p51.h 19013 2013-11-12 04:04:50Z giles $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: toplevel settings for 44.1/48kHz uncoupled modes
- last mod: $Id: setup_44u.h 16962 2010-03-11 07:30:34Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: 8kHz settings
- last mod: $Id: setup_8.h 16894 2010-02-12 20:32:12Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: catch-all toplevel settings for q modes only
- last mod: $Id: setup_X.h 16894 2010-02-12 20:32:12Z xiphmont $
********************************************************************/
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: #ifdef jail to whip a few platforms into the UNIX ideal.
- last mod: $Id: os.h 19031 2013-12-03 19:20:50Z tterribe $
********************************************************************/
# ifdef __GNUC__
# define STIN static __inline__
-# elif _WIN32
+# elif defined(_WIN32)
# define STIN static __inline
# else
# define STIN static
# define FAST_HYPOT hypot
#endif
-#endif
+#endif /* _V_IFDEFJAIL_H_ */
#ifdef HAVE_ALLOCA_H
# include <alloca.h>
/* Special i386 GCC implementation */
-#if defined(__i386__) && defined(__GNUC__) && !defined(__BEOS__)
+#if defined(__i386__) && defined(__GNUC__) && !defined(__BEOS__) && !defined(__SSE2_MATH__)
# define VORBIS_FPU_CONTROL
/* both GCC and MSVC are kinda stupid about rounding/casting to int.
Because of encapsulation constraints (GCC can't see inside the asm
/* MSVC inline assembly. 32 bit only; inline ASM isn't implemented in the
- * 64 bit compiler */
-#if defined(_MSC_VER) && !defined(_WIN64) && !defined(_WIN32_WCE)
+ * 64 bit compiler and doesn't work on arm. */
+#if defined(_MSC_VER) && defined(_M_IX86) && !defined(_WIN32_WCE)
# define VORBIS_FPU_CONTROL
typedef ogg_int16_t vorbis_fpu_control;
/* Optimized code path for x86_64 builds. Uses SSE2 intrinsics. This can be
done safely because all x86_64 CPUs supports SSE2. */
-#if (defined(_MSC_VER) && defined(_WIN64)) || (defined(__GNUC__) && defined (__x86_64__))
+#if (defined(_MSC_VER) && defined(_M_X64)) || (defined(__GNUC__) && defined (__SSE2_MATH__))
# define VORBIS_FPU_CONTROL
typedef ogg_int16_t vorbis_fpu_control;
typedef int vorbis_fpu_control;
-static int vorbis_ftoi(double f){
+STIN int vorbis_ftoi(double f){
/* Note: MSVC and GCC (at least on some systems) round towards zero, thus,
the floor() call is required to ensure correct roudning of
negative numbers */
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: psychoacoustics not including preecho
- last mod: $Id: psy.c 18077 2011-09-02 02:49:00Z giles $
********************************************************************/
XY[i] = tXY;
}
- for (i = 0, x = 0.f;; i++, x += 1.f) {
+ for (i = 0, x = 0.f; i < n; i++, x += 1.f) {
lo = b[i] >> 16;
- if( lo>=0 ) break;
hi = b[i] & 0xffff;
+ if( lo>=0 || -lo>=n ) break;
+ if( hi>=n ) break;
tN = N[hi] + N[-lo];
tX = X[hi] - X[-lo];
B = tN * tXY - tX * tY;
D = tN * tXX - tX * tX;
R = (A + x * B) / D;
- if (R < 0.f)
- R = 0.f;
+ if (R < 0.f) R = 0.f;
noise[i] = R - offset;
}
- for ( ;; i++, x += 1.f) {
+ for ( ; i < n; i++, x += 1.f) {
lo = b[i] >> 16;
hi = b[i] & 0xffff;
- if(hi>=n)break;
+ if( lo<0 || lo>=n ) break;
+ if( hi>=n ) break;
tN = N[hi] - N[lo];
tX = X[hi] - X[lo];
noise[i] = R - offset;
}
+
for ( ; i < n; i++, x += 1.f) {
R = (A + x * B) / D;
if (fixed <= 0) return;
- for (i = 0, x = 0.f;; i++, x += 1.f) {
+ for (i = 0, x = 0.f; i < n; i++, x += 1.f) {
hi = i + fixed / 2;
lo = hi - fixed;
- if(lo>=0)break;
+ if ( hi>=n ) break;
+ if ( lo>=0 ) break;
tN = N[hi] + N[-lo];
tX = X[hi] - X[-lo];
if (R - offset < noise[i]) noise[i] = R - offset;
}
- for ( ;; i++, x += 1.f) {
+ for ( ; i < n; i++, x += 1.f) {
hi = i + fixed / 2;
lo = hi - fixed;
- if(hi>=n)break;
+ if ( hi>=n ) break;
+ if ( lo<0 ) break;
tN = N[hi] - N[lo];
tX = X[hi] - X[lo];
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: random psychoacoustics (not including preecho)
- last mod: $Id: psy.h 16946 2010-03-03 16:12:40Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: simple utility that runs audio through the psychoacoustics
without encoding
- last mod: $Id: psytune.c 16037 2009-05-26 21:10:58Z xiphmont $
********************************************************************/
static vorbis_info_psy_global _psy_set0G={
0, /* decaydBpms */
8, /* lines per eighth octave */
-
+
/* thresh sample period, preecho clamp trigger threshhold, range, minenergy */
256, {26.f,26.f,26.f,30.f}, {-90.f,-90.f,-90.f,-90.f}, -90.f,
- -6.f,
-
+ -6.f,
+
0,
0.,
static vorbis_info_psy _psy_set0={
ATH_Bark_dB_lineaggressive,
-
+
-100.f,
-140.f,
6.f, /* floor master att */
.900f, 0.f, /*11500*/
.900f, 1.f, /*16000*/
},
-
+
95.f, /* even decade + 5 is important; saves an rint() later in a
tight loop) */
-44.,
static vorbis_info_floor1 _floor_set0={1,
{0},
-
+
{32},
{0},
{0},
88,31,243,
14,54,143,460,
-
- 6,3,10, 22,18,26, 41,36,47,
- 69,61,78, 112,99,126, 185,162,211,
+
+ 6,3,10, 22,18,26, 41,36,47,
+ 69,61,78, 112,99,126, 185,162,211,
329,282,387, 672,553,825
},
-
+
60,30,400,
20,8,1,18.,
20,600,
static vorbis_info_mapping0 mapping_info={1,{0,1},{0},{0},{0},0, 1, {0},{1}};
-static codec_setup_info codec_setup0={ {0,0},
- 1,1,1,1,1,0,1,
+static codec_setup_info codec_setup0={ {0,0},
+ 1,1,1,1,1,0,1,
{NULL},
{0},{&mapping_info},
{0},{NULL},
{NULL},
{&_psy_set0},
&_psy_set0G};
-
+
static int noisy=0;
void analysis(char *base,int i,float *v,int n,int bark,int dB){
if(noisy){
FILE *of;
char buffer[80];
sprintf(buffer,"%s_%d.m",base,i);
- of=fopen(buffer,"we");
+ of=fopen(buffer,"w");
for(j=0;j<n;j++){
if(dB && v[j]==0)
fprintf(of,"%g ",toBARK(22050.f*j/n));
else
fprintf(of,"%g ",(float)j);
-
+
if(dB){
fprintf(of,"%g\n",todB(v+j));
}else{
framesize=atoi(argv[0]);
argv++;
}
-
+
vi.channels=2;
vi.codec_setup=&codec_setup0;
/* we cheat on the WAV header; we just bypass 44 bytes and never
verify that it matches 16bit/stereo/44.1kHz. */
-
+
fread(buffer,1,44,stdin);
fwrite(buffer,1,44,stdout);
memset(buffer,0,framesize*2);
fprintf(stderr,"Processing for frame size %d...\n",framesize);
while(!eos){
- long bytes=fread(buffer2,1,framesize*2,stdin);
+ long bytes=fread(buffer2,1,framesize*2,stdin);
if(bytes<framesize*2)
memset(buffer2+bytes,0,framesize*2-bytes);
-
+
if(bytes!=0){
int nonzero[2];
pcm[1][i]=((buffer[i*4+3]<<8)|
(0x00ff&(int)buffer[i*4+2]))/32768.f;
}
-
+
{
float secs=framesize/44100.;
-
+
ampmax+=secs*ampmax_att_per_sec;
if(ampmax<-9999)ampmax=-9999;
}
float *logmdct=mdct+framesize/2;
analysis("pre",frameno+i,pcm[i],framesize,0,0);
-
+
/* fft and mdct transforms */
for(j=0;j<framesize;j++)
fft[j]=pcm[i][j]*=window[j];
-
+
drft_forward(&f_look,fft);
local_ampmax[i]=-9999.f;
if(temp>local_ampmax[i])local_ampmax[i]=temp;
}
if(local_ampmax[i]>ampmax)ampmax=local_ampmax[i];
-
+
mdct_forward(&m_look,pcm[i],mdct);
for(j=0;j<framesize/2;j++)
logmdct[j]=todB(mdct+j);
logmdct,
mask,
logmax,
-
+
flr[i]);
}
for(j=0;j<framesize/2;j++)
if(fabs(pcm[i][j])>1500)
fprintf(stderr,"%ld ",frameno+i);
-
+
analysis("res",frameno+i,pcm[i],framesize/2,1,0);
analysis("codedflr",frameno+i,flr[i],framesize/2,1,1);
}
&vi,
pcm,
nonzero);
-
+
for(i=0;i<2;i++)
analysis("quant",frameno+i,pcm[i],framesize/2,1,0);
&mapping_info,
pcm,
nonzero);
-
+
for(i=0;i<2;i++)
analysis("coupled",frameno+i,pcm[i],framesize/2,1,0);
for(i=mapping_info.coupling_steps-1;i>=0;i--){
float *pcmM=pcm[mapping_info.coupling_mag[i]];
float *pcmA=pcm[mapping_info.coupling_ang[i]];
-
+
for(j=0;j<framesize/2;j++){
float mag=pcmM[j];
float ang=pcmA[j];
-
+
if(mag>0)
if(ang>0){
pcmM[j]=mag;
}
}
}
-
+
for(i=0;i<2;i++)
analysis("decoupled",frameno+i,pcm[i],framesize/2,1,0);
}
-
+
/* write data. Use the part of buffer we're about to shift out */
for(i=0;i<2;i++){
char *ptr=buffer+i*2;
ptr+=4;
}
}
-
+
fprintf(stderr,"*");
fwrite(buffer,1,framesize*2,stdout);
memmove(buffer,buffer2,framesize*2);
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: registry for time, floor, res backends and channel mappings
- last mod: $Id: registry.c 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: registry for time, floor, res backends and channel mappings
- last mod: $Id: registry.h 15531 2008-11-24 23:50:06Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: residue backend 0, 1 and 2 implementation
- last mod: $Id: res0.c 19031 2013-12-03 19:20:50Z tterribe $
********************************************************************/
#include "misc.h"
#include "os.h"
-//#define TRAIN_RES 1
-//#define TRAIN_RESAUX 1
-
#if defined(TRAIN_RES) || defined (TRAIN_RESAUX)
#include <stdio.h>
#endif
/* long and short into the same bucket by current convention */
sprintf(buffer,"res_sub%d_part%d_pass%d.vqd",look->submap,j,k);
- of=fopen(buffer,"ae");
+ of=fopen(buffer,"a");
for(l=0;l<statebook->entries;l++)
fprintf(of,"%d:%ld\n",l,look->training_data[k][j][l]);
}
}
-static int ilog(unsigned int v){
- int ret=0;
- while(v){
- ret++;
- v>>=1;
- }
- return(ret);
-}
-
static int icount(unsigned int v){
int ret=0;
while(v){
bitmask of one indicates this partition class has bits to write
this pass */
for(j=0;j<info->partitions;j++){
- if(ilog(info->secondstages[j])>3){
+ if(ov_ilog(info->secondstages[j])>3){
/* yes, this is a minor hack due to not thinking ahead */
oggpack_write(opb,info->secondstages[j],3);
oggpack_write(opb,1,1);
look->partbooks=_ogg_calloc(look->parts,sizeof(*look->partbooks));
for(j=0;j<look->parts;j++){
- int stages=ilog(info->secondstages[j]);
+ int stages=ov_ilog(info->secondstages[j]);
if(stages){
if(stages>maxstage)maxstage=stages;
look->partbooks[j]=_ogg_calloc(stages,sizeof(*look->partbooks[j]));
for(i=0;i<ch;i++){
sprintf(buffer,"resaux_%d.vqd",look->train_seq);
- of=fopen(buffer,"ae");
+ of=fopen(buffer,"a");
for(j=0;j<partvals;j++)
fprintf(of,"%ld, ",partword[i][j]);
fprintf(of,"\n");
#ifdef TRAIN_RESAUX
sprintf(buffer,"resaux_%d.vqd",look->train_seq);
- of=fopen(buffer,"ae");
+ of=fopen(buffer,"a");
for(i=0;i<partvals;i++)
fprintf(of,"%ld, ",partword[0][i]);
fprintf(of,"\n");
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: linear scale -> dB, Bark and Mel scales
- last mod: $Id: scales.h 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: basic shared codebook operations
- last mod: $Id: sharedbook.c 19057 2014-01-22 12:32:31Z xiphmont $
********************************************************************/
#include <stdlib.h>
+#include <limits.h>
#include <math.h>
#include <string.h>
#include <ogg/ogg.h>
#include "scales.h"
/**** pack/unpack helpers ******************************************/
-int _ilog(unsigned int v){
- int ret=0;
- while(v){
- ret++;
- v>>=1;
- }
- return(ret);
+
+int ov_ilog(ogg_uint32_t v){
+ int ret;
+ for(ret=0;v;ret++)v>>=1;
+ return ret;
}
/* 32 bit float (not IEEE; nonnormalized mantissa +
sign=0x80000000;
val= -val;
}
- exp= floor(log(val)/log(2.f)+.001); //+epsilon
+ exp= floor(log(val)/log(2.f)+.001); /* +epsilon */
mant=rint(ldexp(val,(VQ_FMAN-1)-exp));
exp=(exp+VQ_FEXP_BIAS)<<VQ_FMAN;
int sign=val&0x80000000;
long exp =(val&0x7fe00000L)>>VQ_FMAN;
if(sign)mant= -mant;
- return(ldexp(mant,exp-(VQ_FMAN-1)-VQ_FEXP_BIAS));
+ exp=exp-(VQ_FMAN-1)-VQ_FEXP_BIAS;
+ /* clamp excessive exponent values */
+ if (exp>63){
+ exp=63;
+ }
+ if (exp<-63){
+ exp=-63;
+ }
+ return(ldexp(mant,exp));
}
/* given a list of word lengths, generate a list of codewords. Works
if(sparsecount==0)count++;
}
- /* sanity check the huffman tree; an underpopulated tree must be
- rejected. The only exception is the one-node pseudo-nil tree,
- which appears to be underpopulated because the tree doesn't
- really exist; there's only one possible 'codeword' or zero bits,
- but the above tree-gen code doesn't mark that. */
- if(sparsecount != 1){
+ /* any underpopulated tree must be rejected. */
+ /* Single-entry codebooks are a retconned extension to the spec.
+ They have a single codeword '0' of length 1 that results in an
+ underpopulated tree. Shield that case from the underformed tree check. */
+ if(!(count==1 && marker[2]==2)){
for(i=1;i<33;i++)
if(marker[i] & (0xffffffffUL>>(32-i))){
- _ogg_free(r);
- return(NULL);
+ _ogg_free(r);
+ return(NULL);
}
}
that's portable and totally safe against roundoff, but I haven't
thought of it. Therefore, we opt on the side of caution */
long _book_maptype1_quantvals(const static_codebook *b){
- long vals=floor(pow((float)b->entries,1.f/b->dim));
+ long vals;
+ if(b->entries<1){
+ return(0);
+ }
+ vals=floor(pow((float)b->entries,1.f/b->dim));
/* the above *should* be reliable, but we'll not assume that FP is
ever reliable when bitstream sync is at stake; verify via integer
means that vals really is the greatest value of dim for which
vals^b->bim <= b->entries */
/* treat the above as an initial guess */
+ if(vals<1){
+ vals=1;
+ }
while(1){
long acc=1;
long acc1=1;
int i;
for(i=0;i<b->dim;i++){
+ if(b->entries/vals<acc)break;
acc*=vals;
- acc1*=vals+1;
+ if(LONG_MAX/(vals+1)<acc1)acc1=LONG_MAX;
+ else acc1*=vals+1;
}
- if(acc<=b->entries && acc1>b->entries){
+ if(i>=b->dim && acc<=b->entries && acc1>b->entries){
return(vals);
}else{
- if(acc>b->entries){
+ if(i<b->dim || acc>b->entries){
vals--;
}else{
vals++;
c->used_entries=s->entries;
c->dim=s->dim;
c->codelist=_make_words(s->lengthlist,s->entries,0);
- //c->valuelist=_book_unquantize(s,s->entries,NULL);
+ /* c->valuelist=_book_unquantize(s,s->entries,NULL); */
c->quantvals=_book_maptype1_quantvals(s);
c->minval=(int)rint(_float32_unpack(s->q_min));
c->delta=(int)rint(_float32_unpack(s->q_delta));
int vorbis_book_init_decode(codebook *c,const static_codebook *s){
int i,j,n=0,tabn;
int *sortindex;
+
memset(c,0,sizeof(*c));
- /* count actually used entries */
+ /* count actually used entries and find max length */
for(i=0;i<s->entries;i++)
if(s->lengthlist[i]>0)
n++;
c->dim=s->dim;
if(n>0){
-
/* two different remappings go on here.
First, we collapse the likely sparse codebook down only to
c->codelist[sortindex[i]]=codes[i];
_ogg_free(codes);
-
c->valuelist=_book_unquantize(s,n,sortindex);
c->dec_index=_ogg_malloc(n*sizeof(*c->dec_index));
c->dec_index[sortindex[n++]]=i;
c->dec_codelengths=_ogg_malloc(n*sizeof(*c->dec_codelengths));
+ c->dec_maxlength=0;
for(n=0,i=0;i<s->entries;i++)
- if(s->lengthlist[i]>0)
+ if(s->lengthlist[i]>0){
c->dec_codelengths[sortindex[n++]]=s->lengthlist[i];
+ if(s->lengthlist[i]>c->dec_maxlength)
+ c->dec_maxlength=s->lengthlist[i];
+ }
- c->dec_firsttablen=_ilog(c->used_entries)-4; /* this is magic */
- if(c->dec_firsttablen<5)c->dec_firsttablen=5;
- if(c->dec_firsttablen>8)c->dec_firsttablen=8;
-
- tabn=1<<c->dec_firsttablen;
- c->dec_firsttable=_ogg_calloc(tabn,sizeof(*c->dec_firsttable));
- c->dec_maxlength=0;
+ if(n==1 && c->dec_maxlength==1){
+ /* special case the 'single entry codebook' with a single bit
+ fastpath table (that always returns entry 0 )in order to use
+ unmodified decode paths. */
+ c->dec_firsttablen=1;
+ c->dec_firsttable=_ogg_calloc(2,sizeof(*c->dec_firsttable));
+ c->dec_firsttable[0]=c->dec_firsttable[1]=1;
- for(i=0;i<n;i++){
- if(c->dec_maxlength<c->dec_codelengths[i])
- c->dec_maxlength=c->dec_codelengths[i];
- if(c->dec_codelengths[i]<=c->dec_firsttablen){
- ogg_uint32_t orig=bitreverse(c->codelist[i]);
- for(j=0;j<(1<<(c->dec_firsttablen-c->dec_codelengths[i]));j++)
- c->dec_firsttable[orig|(j<<c->dec_codelengths[i])]=i+1;
+ }else{
+ c->dec_firsttablen=ov_ilog(c->used_entries)-4; /* this is magic */
+ if(c->dec_firsttablen<5)c->dec_firsttablen=5;
+ if(c->dec_firsttablen>8)c->dec_firsttablen=8;
+
+ tabn=1<<c->dec_firsttablen;
+ c->dec_firsttable=_ogg_calloc(tabn,sizeof(*c->dec_firsttable));
+
+ for(i=0;i<n;i++){
+ if(c->dec_codelengths[i]<=c->dec_firsttablen){
+ ogg_uint32_t orig=bitreverse(c->codelist[i]);
+ for(j=0;j<(1<<(c->dec_firsttablen-c->dec_codelengths[i]));j++)
+ c->dec_firsttable[orig|(j<<c->dec_codelengths[i])]=i+1;
+ }
}
- }
- /* now fill in 'unused' entries in the firsttable with hi/lo search
- hints for the non-direct-hits */
- {
- ogg_uint32_t mask=0xfffffffeUL<<(31-c->dec_firsttablen);
- long lo=0,hi=0;
-
- for(i=0;i<tabn;i++){
- ogg_uint32_t word=i<<(32-c->dec_firsttablen);
- if(c->dec_firsttable[bitreverse(word)]==0){
- while((lo+1)<n && c->codelist[lo+1]<=word)lo++;
- while( hi<n && word>=(c->codelist[hi]&mask))hi++;
-
- /* we only actually have 15 bits per hint to play with here.
- In order to overflow gracefully (nothing breaks, efficiency
- just drops), encode as the difference from the extremes. */
- {
- unsigned long loval=lo;
- unsigned long hival=n-hi;
-
- if(loval>0x7fff)loval=0x7fff;
- if(hival>0x7fff)hival=0x7fff;
- c->dec_firsttable[bitreverse(word)]=
- 0x80000000UL | (loval<<15) | hival;
+ /* now fill in 'unused' entries in the firsttable with hi/lo search
+ hints for the non-direct-hits */
+ {
+ ogg_uint32_t mask=0xfffffffeUL<<(31-c->dec_firsttablen);
+ long lo=0,hi=0;
+
+ for(i=0;i<tabn;i++){
+ ogg_uint32_t word=i<<(32-c->dec_firsttablen);
+ if(c->dec_firsttable[bitreverse(word)]==0){
+ while((lo+1)<n && c->codelist[lo+1]<=word)lo++;
+ while( hi<n && word>=(c->codelist[hi]&mask))hi++;
+
+ /* we only actually have 15 bits per hint to play with here.
+ In order to overflow gracefully (nothing breaks, efficiency
+ just drops), encode as the difference from the extremes. */
+ {
+ unsigned long loval=lo;
+ unsigned long hival=n-hi;
+
+ if(loval>0x7fff)loval=0x7fff;
+ if(hival>0x7fff)hival=0x7fff;
+ c->dec_firsttable[bitreverse(word)]=
+ 0x80000000UL | (loval<<15) | hival;
+ }
}
}
}
exit(1);
}
}
+ free(out);
}
int main(){
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: *unnormalized* fft transform
- last mod: $Id: smallft.c 16227 2009-07-08 06:58:46Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: fft transform
- last mod: $Id: smallft.h 13293 2007-07-24 00:09:47Z xiphmont $
********************************************************************/
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: single-block PCM synthesis
- last mod: $Id: synthesis.c 17474 2010-09-30 03:41:41Z gmaxwell $
********************************************************************/
if(!ci->mode_param[mode]){
return(OV_EBADPACKET);
}
-
+
vb->W=ci->mode_param[mode]->blockflag;
if(vb->W){
vb->lW=oggpack_read(opb,1);
oggpack_buffer opb;
int mode;
+ if(ci==NULL || ci->modes<=0){
+ /* codec setup not properly intialized */
+ return(OV_EFAULT);
+ }
+
oggpack_readinit(&opb,op->packet,op->bytes);
/* Check the packet type */
return(OV_ENOTAUDIO);
}
- {
- int modebits=0;
- int v=ci->modes;
- while(v>1){
- modebits++;
- v>>=1;
- }
-
- /* read our mode and pre/post windowsize */
- mode=oggpack_read(&opb,modebits);
- }
- if(mode==-1)return(OV_EBADPACKET);
+ /* read our mode and pre/post windowsize */
+ mode=oggpack_read(&opb,ov_ilog(ci->modes-1));
+ if(mode==-1 || !ci->mode_param[mode])return(OV_EBADPACKET);
return(ci->blocksizes[ci->mode_param[mode]->blockflag]);
}
int i,j;
double *f;
double *amp;
-
+
if(argc<2)usage();
f=alloca(sizeof(*f)*(argc-1));
i=0;
while(argv[i+1]){
char *pos=strchr(argv[i+1],',');
-
+
f[i]=atof(argv[i+1]);
if(pos)
amp[i]=atof(pos+1)*32767.f;
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: simple programmatic interface for encoder mode setup
- last mod: $Id: vorbisenc.c 17028 2010-03-25 05:22:15Z xiphmont $
********************************************************************/
long channels,
long rate,
float quality){
- codec_setup_info *ci=vi->codec_setup;
- highlevel_encode_setup *hi=&ci->hi;
+ codec_setup_info *ci;
+ highlevel_encode_setup *hi;
+ if(rate<=0) return OV_EINVAL;
+
+ ci=vi->codec_setup;
+ hi=&ci->hi;
quality+=.0000001;
if(quality>=1.)quality=.9999;
long nominal_bitrate,
long min_bitrate){
- codec_setup_info *ci=vi->codec_setup;
- highlevel_encode_setup *hi=&ci->hi;
- double tnominal=nominal_bitrate;
+ codec_setup_info *ci;
+ highlevel_encode_setup *hi;
+ double tnominal;
+ if(rate<=0) return OV_EINVAL;
+
+ ci=vi->codec_setup;
+ hi=&ci->hi;
+ tnominal=nominal_bitrate;
if(nominal_bitrate<=0.){
if(max_bitrate>0.){
hi->req,
hi->managed,
&new_base);
- if(!hi->setup)return OV_EIMPL;
+ if(!new_template)return OV_EIMPL;
hi->setup=new_template;
hi->base_setting=new_base;
vorbis_encode_setup_setting(vi,vi->channels,vi->rate);
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: stdio-based convenience library for opening/seeking/decoding
- last mod: $Id: vorbisfile.c 19031 2013-12-03 19:20:50Z tterribe $
********************************************************************/
/* save a tiny smidge of verbosity to make the code more readable */
static int _seek_helper(OggVorbis_File *vf,ogg_int64_t offset){
if(vf->datasource){
- if(!(vf->callbacks.seek_func)||
- (vf->callbacks.seek_func)(vf->datasource, offset, SEEK_SET) == -1)
- return OV_EREAD;
- vf->offset=offset;
- ogg_sync_reset(&vf->oy);
+ /* only seek if the file position isn't already there */
+ if(vf->offset != offset){
+ if(!(vf->callbacks.seek_func)||
+ (vf->callbacks.seek_func)(vf->datasource, offset, SEEK_SET) == -1)
+ return OV_EREAD;
+ vf->offset=offset;
+ ogg_sync_reset(&vf->oy);
+ }
}else{
/* shouldn't happen unless someone writes a broken callback */
return OV_EFAULT;
}
}
-/* find the latest page beginning before the current stream cursor
- position. Much dirtier than the above as Ogg doesn't have any
- backward search linkage. no 'readp' as it will certainly have to
- read. */
+/* find the latest page beginning before the passed in position. Much
+ dirtier than the above as Ogg doesn't have any backward search
+ linkage. no 'readp' as it will certainly have to read. */
/* returns offset or OV_EREAD, OV_FAULT */
-static ogg_int64_t _get_prev_page(OggVorbis_File *vf,ogg_page *og){
- ogg_int64_t begin=vf->offset;
- ogg_int64_t end=begin;
+static ogg_int64_t _get_prev_page(OggVorbis_File *vf,ogg_int64_t begin,ogg_page *og){
+ ogg_int64_t end = begin;
ogg_int64_t ret;
ogg_int64_t offset=-1;
info of last page of the matching serial number instead of the very
last page. If no page of the specified serialno is seen, it will
return the info of last page and alter *serialno. */
-static ogg_int64_t _get_prev_page_serial(OggVorbis_File *vf,
+static ogg_int64_t _get_prev_page_serial(OggVorbis_File *vf, ogg_int64_t begin,
long *serial_list, int serial_n,
int *serialno, ogg_int64_t *granpos){
ogg_page og;
- ogg_int64_t begin=vf->offset;
ogg_int64_t end=begin;
ogg_int64_t ret;
}
}
}
+ /*We started from the beginning of the stream and found nothing.
+ This should be impossible unless the contents of the stream changed out
+ from under us after we read from it.*/
+ if(!begin&&vf->offset<0)return OV_EBADLINK;
}
/* we're not interested in the page... just the serialno and granpos. */
while((result=ogg_stream_packetout(&vf->os,&op))){
if(result>0){ /* ignore holes */
long thisblock=vorbis_packet_blocksize(vi,&op);
- if(lastblock!=-1)
- accumulated+=(lastblock+thisblock)>>2;
- lastblock=thisblock;
+ if(thisblock>=0){
+ if(lastblock!=-1)
+ accumulated+=(lastblock+thisblock)>>2;
+ lastblock=thisblock;
+ }
}
}
down to (or just started with) a single link. Now we need to
find the last vorbis page belonging to the first vorbis stream
for this link. */
-
+ searched = end;
while(endserial != serialno){
endserial = serialno;
- vf->offset=_get_prev_page_serial(vf,currentno_list,currentnos,&endserial,&endgran);
+ searched=_get_prev_page_serial(vf,searched,currentno_list,currentnos,&endserial,&endgran);
}
vf->links=m+1;
}else{
+ /* last page is not in the starting stream's serial number list,
+ so we have multiple links. Find where the stream that begins
+ our bisection ends. */
+
long *next_serialno_list=NULL;
int next_serialnos=0;
vorbis_info vi;
vorbis_comment vc;
+ int testserial = serialno+1;
/* the below guards against garbage seperating the last and
first pages of two links. */
bisect=(searched+endsearched)/2;
}
- if(bisect != vf->offset){
- ret=_seek_helper(vf,bisect);
- if(ret)return(ret);
- }
+ ret=_seek_helper(vf,bisect);
+ if(ret)return(ret);
last=_get_next_page(vf,&og,-1);
if(last==OV_EREAD)return(OV_EREAD);
}
/* Bisection point found */
-
/* for the time being, fetch end PCM offset the simple way */
- {
- int testserial = serialno+1;
- vf->offset = next;
- while(testserial != serialno){
- testserial = serialno;
- vf->offset=_get_prev_page_serial(vf,currentno_list,currentnos,&testserial,&searchgran);
- }
+ searched = next;
+ while(testserial != serialno){
+ testserial = serialno;
+ searched = _get_prev_page_serial(vf,searched,currentno_list,currentnos,&testserial,&searchgran);
}
- if(vf->offset!=next){
- ret=_seek_helper(vf,next);
- if(ret)return(ret);
- }
+ ret=_seek_helper(vf,next);
+ if(ret)return(ret);
ret=_fetch_headers(vf,&vi,&vc,&next_serialno_list,&next_serialnos,NULL);
if(ret)return(ret);
serialno = vf->os.serialno;
dataoffset = vf->offset;
- /* this will consume a page, however the next bistection always
+ /* this will consume a page, however the next bisection always
starts with a raw seek */
pcmoffset = _initial_pcmoffset(vf,&vi);
/* Get the offset of the last page of the physical bitstream, or, if
we're lucky the last vorbis page of this link as most OggVorbis
files will contain a single logical bitstream */
- end=_get_prev_page_serial(vf,vf->serialnos+2,vf->serialnos[1],&endserial,&endgran);
+ end=_get_prev_page_serial(vf,vf->end,vf->serialnos+2,vf->serialnos[1],&endserial,&endgran);
if(end<0)return(end);
/* now determine bitstream structure recursively */
- if(_bisect_forward_serialno(vf,0,dataoffset,vf->offset,endgran,endserial,
+ if(_bisect_forward_serialno(vf,0,dataoffset,end,endgran,endserial,
vf->serialnos+2,vf->serialnos[1],0)<0)return(OV_EREAD);
vf->offsets[0]=0;
int ov_fopen(const char *path,OggVorbis_File *vf){
int ret;
- FILE *f = fopen(path,"rbe");
+ FILE *f = fopen(path,"rb");
if(!f) return -1;
ret = ov_open(f,vf,NULL,0);
int ov_raw_seek(OggVorbis_File *vf,ogg_int64_t pos){
ogg_stream_state work_os;
- int ret;
if(vf->ready_state<OPENED)return(OV_EINVAL);
if(!vf->seekable)
vf->current_serialno); /* must set serialno */
vorbis_synthesis_restart(&vf->vd);
- ret=_seek_helper(vf,pos);
- if(ret)goto seek_error;
+ if(_seek_helper(vf,pos)) {
+ /* dump the machine so we're in a known state */
+ vf->pcm_offset=-1;
+ _decode_clear(vf);
+ return OV_EBADLINK;
+ }
/* we need to make sure the pcm_offset is set, but we don't want to
advance the raw cursor past good packets just to get to the first
vf->bittrack=0.f;
vf->samptrack=0.f;
return(0);
-
- seek_error:
- /* dump the machine so we're in a known state */
- vf->pcm_offset=-1;
- ogg_stream_clear(&work_os);
- _decode_clear(vf);
- return OV_EBADLINK;
}
/* Page granularity seek (faster than sample granularity because we
if(pos>=total)break;
}
- /* search within the logical bitstream for the page with the highest
- pcm_pos preceding (or equal to) pos. There is a danger here;
- missing pages or incorrect frame number information in the
- bitstream could make our task impossible. Account for that (it
- would be an error condition) */
+ /* Search within the logical bitstream for the page with the highest
+ pcm_pos preceding pos. If we're looking for a position on the
+ first page, bisection will halt without finding our position as
+ it's before the first explicit granulepos fencepost. That case is
+ handled separately below.
+
+ There is a danger here; missing pages or incorrect frame number
+ information in the bitstream could make our task impossible.
+ Account for that (it would be an error condition) */
+
+ /* new search algorithm originally by HB (Nicholas Vinen) */
- /* new search algorithm by HB (Nicholas Vinen) */
{
ogg_int64_t end=vf->offsets[link+1];
- ogg_int64_t begin=vf->offsets[link];
+ ogg_int64_t begin=vf->dataoffsets[link];
ogg_int64_t begintime = vf->pcmlengths[link*2];
ogg_int64_t endtime = vf->pcmlengths[link*2+1]+begintime;
ogg_int64_t target=pos-total+begintime;
- ogg_int64_t best=begin;
+ ogg_int64_t best=-1;
+ int got_page=0;
ogg_page og;
+
+ /* if we have only one page, there will be no bisection. Grab the page here */
+ if(begin==end){
+ result=_seek_helper(vf,begin);
+ if(result) goto seek_error;
+
+ result=_get_next_page(vf,&og,1);
+ if(result<0) goto seek_error;
+
+ got_page=1;
+ }
+
+ /* bisection loop */
while(begin<end){
ogg_int64_t bisect;
bisect=begin;
}
- if(bisect!=vf->offset){
- result=_seek_helper(vf,bisect);
- if(result) goto seek_error;
- }
+ result=_seek_helper(vf,bisect);
+ if(result) goto seek_error;
+ /* read loop within the bisection loop */
while(begin<end){
result=_get_next_page(vf,&og,end-vf->offset);
if(result==OV_EREAD) goto seek_error;
if(result<0){
+ /* there is no next page! */
if(bisect<=begin+1)
- end=begin; /* found it */
+ /* No bisection left to perform. We've either found the
+ best candidate already or failed. Exit loop. */
+ end=begin;
else{
+ /* We tried to load a fraction of the last page; back up a
+ bit and try to get the whole last page */
if(bisect==0) goto seek_error;
bisect-=CHUNKSIZE;
+
+ /* don't repeat/loop on a read we've already performed */
if(bisect<=begin)bisect=begin+1;
+
+ /* seek and cntinue bisection */
result=_seek_helper(vf,bisect);
if(result) goto seek_error;
}
}else{
ogg_int64_t granulepos;
+ got_page=1;
+ /* got a page. analyze it */
+ /* only consider pages from primary vorbis stream */
if(ogg_page_serialno(&og)!=vf->serialnos[link])
continue;
+ /* only consider pages with the granulepos set */
granulepos=ogg_page_granulepos(&og);
if(granulepos==-1)continue;
if(granulepos<target){
+ /* this page is a successful candidate! Set state */
+
best=result; /* raw offset of packet with granulepos */
begin=vf->offset; /* raw offset of next page */
begintime=granulepos;
+ /* if we're before our target but within a short distance,
+ don't bisect; read forward */
if(target-begintime>44100)break;
- bisect=begin; /* *not* begin + 1 */
+
+ bisect=begin; /* *not* begin + 1 as above */
}else{
- if(bisect<=begin+1)
- end=begin; /* found it */
- else{
- if(end==vf->offset){ /* we're pretty close - we'd be stuck in */
+
+ /* This is one of our pages, but the granpos is
+ post-target; it is not a bisection return
+ candidate. (The only way we'd use it is if it's the
+ first page in the stream; we handle that case later
+ outside the bisection) */
+ if(bisect<=begin+1){
+ /* No bisection left to perform. We've either found the
+ best candidate already or failed. Exit loop. */
+ end=begin;
+ }else{
+ if(end==vf->offset){
+ /* bisection read to the end; use the known page
+ boundary (result) to update bisection, back up a
+ little bit, and try again */
end=result;
- bisect-=CHUNKSIZE; /* an endless loop otherwise. */
+ bisect-=CHUNKSIZE;
if(bisect<=begin)bisect=begin+1;
result=_seek_helper(vf,bisect);
if(result) goto seek_error;
}else{
+ /* Normal bisection */
end=bisect;
endtime=granulepos;
break;
}
}
- /* found our page. seek to it, update pcm offset. Easier case than
- raw_seek, don't keep packets preceding granulepos. */
- {
+ /* Out of bisection: did it 'fail?' */
+ if(best == -1){
+
+ /* Check the 'looking for data in first page' special case;
+ bisection would 'fail' because our search target was before the
+ first PCM granule position fencepost. */
+
+ if(got_page &&
+ begin == vf->dataoffsets[link] &&
+ ogg_page_serialno(&og)==vf->serialnos[link]){
+
+ /* Yes, this is the beginning-of-stream case. We already have
+ our page, right at the beginning of PCM data. Set state
+ and return. */
+
+ vf->pcm_offset=total;
+
+ if(link!=vf->current_link){
+ /* Different link; dump entire decode machine */
+ _decode_clear(vf);
+
+ vf->current_link=link;
+ vf->current_serialno=vf->serialnos[link];
+ vf->ready_state=STREAMSET;
+
+ }else{
+ vorbis_synthesis_restart(&vf->vd);
+ }
+
+ ogg_stream_reset_serialno(&vf->os,vf->current_serialno);
+ ogg_stream_pagein(&vf->os,&og);
+
+ }else
+ goto seek_error;
+
+ }else{
+
+ /* Bisection found our page. seek to it, update pcm offset. Easier case than
+ raw_seek, don't keep packets preceding granulepos. */
+
ogg_page og;
ogg_packet op;
while(1){
result=ogg_stream_packetpeek(&vf->os,&op);
if(result==0){
- /* !!! the packet finishing this page originated on a
- preceding page. Keep fetching previous pages until we
- get one with a granulepos or without the 'continued' flag
- set. Then just use raw_seek for simplicity. */
-
- result=_seek_helper(vf,best);
- if(result<0) goto seek_error;
-
- while(1){
- result=_get_prev_page(vf,&og);
+ /* No packet returned; we exited the bisection with 'best'
+ pointing to a page with a granule position, so the packet
+ finishing this page ('best') originated on a preceding
+ page. Keep fetching previous pages until we get one with
+ a granulepos or without the 'continued' flag set. Then
+ just use raw_seek for simplicity. */
+ /* Do not rewind past the beginning of link data; if we do,
+ it's either a bug or a broken stream */
+ result=best;
+ while(result>vf->dataoffsets[link]){
+ result=_get_prev_page(vf,result,&og);
if(result<0) goto seek_error;
if(ogg_page_serialno(&og)==vf->current_serialno &&
(ogg_page_granulepos(&og)>-1 ||
!ogg_page_continued(&og))){
return ov_raw_seek(vf,result);
}
- vf->offset=result;
}
}
if(result<0){
long samples;
if(vf->ready_state<OPENED)return(OV_EINVAL);
+ if(word<=0)return(OV_EINVAL);
while(1){
if(vf->ready_state==INITSET){
long channels=ov_info(vf,-1)->channels;
long bytespersample=word * channels;
vorbis_fpu_control fpu;
+
+ if(channels<1||channels>255)return(OV_EINVAL);
if(samples>length/bytespersample)samples=length/bytespersample;
if(samples <= 0)
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: window functions
- last mod: $Id: window.c 19028 2013-12-02 23:23:39Z tterribe $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: window functions
- last mod: $Id: window.h 19028 2013-12-02 23:23:39Z tterribe $
********************************************************************/
--- /dev/null
+<manifest>
+ <request>
+ <domain name="_"/>
+ </request>
+</manifest>
Group: System Environment/Libraries
License: BSD
-URL: http://www.xiph.org/
+URL: https://xiph.org/
Vendor: Xiph.org Foundation <team@xiph.org>
-Source: http://downloads.xiph.org/releases/vorbis/%{name}-%{version}.tar.gz
+Source: https://downloads.xiph.org/releases/vorbis/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-root
# We're forced to use an epoch since both Red Hat and Ximian use it in their
+++ /dev/null
-#include <ogg/os_types.h>
-#include <sys/types.h>
-#include <string.h>
-#include <stdlib.h>
-
-char *strdup(const char *inStr)
-{
- char *outStr = NULL;
-
- if (inStr == NULL) {
- return NULL;
- }
-
- outStr = _ogg_malloc(strlen(inStr) + 1);
-
- if (outStr != NULL) {
- strcpy(outStr, inStr);
- }
-
- return outStr;
-}
+++ /dev/null
-#ifndef __SYS_TYPES_H__\r#define __SYS_TYPES_H__ 1\r\r#include <MacTypes.h>\r#include <alloca.h>\r#include <string.h>\r\rtypedef short int16_t;\rtypedef long int32_t;\rtypedef long long int64_t;\r\r#define vorbis_size32_t long\r\r\r#if defined(__cplusplus)\rextern "C" {\r#endif\r\r#pragma options align=power\r\rchar *strdup(const char *inStr);\r\r#pragma options align=reset\r\r#if defined(__cplusplus)\r}\r#endif\r\r#endif /* __SYS_TYPES_H__ */\r
\ No newline at end of file
+++ /dev/null
-### From "vorbis/codec.h"
-
-# Vorbis PRIMITIVES: general
-
-vorbis_info_init
-vorbis_info_clear
-vorbis_info_blocksize
-vorbis_comment_init
-vorbis_comment_add
-vorbis_comment_add_tag
-vorbis_comment_query
-vorbis_comment_query_count
-vorbis_comment_clear
-
-vorbis_block_init
-vorbis_block_clear
-vorbis_dsp_clear
-vorbis_granule_time
-
-# Vorbis PRIMITIVES: analysis/DSP layer
-
-vorbis_analysis_init
-vorbis_commentheader_out
-vorbis_analysis_headerout
-vorbis_analysis_buffer
-vorbis_analysis_wrote
-vorbis_analysis_blockout
-vorbis_analysis
-vorbis_bitrate_addblock
-vorbis_bitrate_flushpacket
-
-# Vorbis PRIMITIVES: synthesis layer
-
-vorbis_synthesis_headerin
-vorbis_synthesis_init
-vorbis_synthesis_restart
-vorbis_synthesis
-vorbis_synthesis_trackonly
-vorbis_synthesis_blockin
-vorbis_synthesis_pcmout
-vorbis_synthesis_lapout
-vorbis_synthesis_read
-vorbis_packet_blocksize
-vorbis_synthesis_halfrate
-vorbis_synthesis_halfrate_p
+++ /dev/null
-### From "vorbis/vorbisenc.h"
-
-vorbis_encode_init
-vorbis_encode_setup_managed
-vorbis_encode_setup_vbr
-vorbis_encode_init_vbr
-vorbis_encode_setup_init
-vorbis_encode_ctl
+++ /dev/null
-### From "vorbis/vorbisfile.h"
-
-ov_clear
-ov_open
-ov_open_callbacks
-
-ov_test
-ov_test_callbacks
-ov_test_open
-
-ov_bitrate
-ov_bitrate_instant
-ov_streams
-ov_seekable
-ov_serialnumber
-
-ov_raw_total
-ov_pcm_total
-ov_time_total
-
-ov_raw_seek
-ov_pcm_seek
-ov_pcm_seek_page
-ov_time_seek
-ov_time_seek_page
-
-ov_raw_seek_lap
-ov_pcm_seek_lap
-ov_pcm_seek_page_lap
-ov_time_seek_lap
-ov_time_seek_page_lap
-
-ov_raw_tell
-ov_pcm_tell
-ov_time_tell
-
-ov_info
-ov_comment
-
-ov_read
-ov_read_float
-
-ov_crosslap
-ov_halfrate
-ov_halfrate_p
\ No newline at end of file
+++ /dev/null
-libvorbis
- targettype 32bit provides "libvorbis-<targettype> = 1.3.2"
- targettype 64bit obsoletes "libvorbis-<targettype> < 1.3.2"
-libvorbisenc
-libvorbisfile
+++ /dev/null
-* Mon Mar 18 2013 Anas Nashif <anas.nashif@intel.com> upstream/1.3.3@3634c29
-- Fixed package groups
-
+++ /dev/null
-<manifest>
- <request>
- <domain name="_"/>
- </request>
-</manifest>
Name: libvorbis
-Version: 1.3.4
+Version: 1.3.7
Release: 0
License: BSD-2.0
Summary: The Vorbis General Audio Compression Codec
Url: http://www.vorbis.com/
Group: Multimedia/Audio
Source: %{name}-%{version}.tar.xz
-Source2: baselibs.conf
-Source1001: libvorbis.manifest
BuildRequires: fdupes
BuildRequires: libogg-devel
BuildRequires: libtool
%prep
%setup -q
-cp %{SOURCE1001} .
%build
# Fix optimization level
AUTOMAKE_OPTIONS = foreign
-INCLUDES = -I$(top_srcdir)/include @OGG_CFLAGS@
-
check_PROGRAMS = test
check: $(check_PROGRAMS)
./test$(EXEEXT)
+AM_CPPFLAGS = -I$(top_srcdir)/include @OGG_CFLAGS@
+
test_SOURCES = util.c util.h write_read.c write_read.h test.c
test_LDADD = ../lib/libvorbisenc.la ../lib/libvorbis.la @OGG_LIBS@ @VORBIS_LIBS@
+++ /dev/null
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-check_PROGRAMS = test$(EXEEXT)
-subdir = test
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am_test_OBJECTS = util.$(OBJEXT) write_read.$(OBJEXT) test.$(OBJEXT)
-test_OBJECTS = $(am_test_OBJECTS)
-test_DEPENDENCIES = ../lib/libvorbisenc.la ../lib/libvorbis.la
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(test_SOURCES)
-DIST_SOURCES = $(test_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = foreign
-INCLUDES = -I$(top_srcdir)/include @OGG_CFLAGS@
-test_SOURCES = util.c util.h write_read.c write_read.h test.c
-test_LDADD = ../lib/libvorbisenc.la ../lib/libvorbis.la @OGG_LIBS@ @VORBIS_LIBS@
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign test/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-checkPROGRAMS:
- @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES) $(EXTRA_test_DEPENDENCIES)
- @rm -f test$(EXEEXT)
- $(LINK) $(test_OBJECTS) $(test_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/write_read.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean \
- clean-checkPROGRAMS clean-generic clean-libtool ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am
-
-
-check: $(check_PROGRAMS)
- ./test$(EXEEXT)
-
-debug:
- $(MAKE) check CFLAGS="@DEBUG@"
-
-profile:
- $(MAKE) check CFLAGS="@PROFILE@"
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: vorbis coded test suite using vorbisfile
- last mod: $Id: test.c 19015 2013-11-12 04:13:28Z giles $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: utility functions for vorbis codec test suite.
- last mod: $Id: util.c 19015 2013-11-12 04:13:28Z giles $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: utility functions for vorbis codec test suite.
- last mod: $Id: util.h 19015 2013-11-12 04:13:28Z giles $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: utility functions for vorbis codec test suite.
- last mod: $Id: write_read.c 19015 2013-11-12 04:13:28Z giles $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: utility functions for vorbis codec test suite.
- last mod: $Id: write_read.h 19015 2013-11-12 04:13:28Z giles $
********************************************************************/
Requires.private: ogg
Conflicts:
Libs: -L${libdir} -lvorbis
-Libs.private: -lm
+Libs.private: @VORBIS_LIBS@
Cflags: -I${includedir}
## Process this file with automake to produce Makefile.in
-INCLUDES = -I../lib -I$(top_srcdir)/include @OGG_CFLAGS@
-
EXTRA_PROGRAMS = latticebuild latticetune huffbuild distribution
CLEANFILES = $(EXTRA_PROGRAMS)
+AM_CPPFLAGS = -I../lib -I$(top_srcdir)/include @OGG_CFLAGS@
AM_LDFLAGS = -static
LDADD = ../lib/libvorbis.la
+++ /dev/null
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-EXTRA_PROGRAMS = latticebuild$(EXEEXT) latticetune$(EXEEXT) \
- huffbuild$(EXEEXT) distribution$(EXEEXT)
-subdir = vq
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am_distribution_OBJECTS = distribution.$(OBJEXT) bookutil.$(OBJEXT)
-distribution_OBJECTS = $(am_distribution_OBJECTS)
-distribution_LDADD = $(LDADD)
-distribution_DEPENDENCIES = ../lib/libvorbis.la
-am_huffbuild_OBJECTS = huffbuild.$(OBJEXT) vqgen.$(OBJEXT) \
- bookutil.$(OBJEXT)
-huffbuild_OBJECTS = $(am_huffbuild_OBJECTS)
-huffbuild_LDADD = $(LDADD)
-huffbuild_DEPENDENCIES = ../lib/libvorbis.la
-am_latticebuild_OBJECTS = latticebuild.$(OBJEXT) vqgen.$(OBJEXT) \
- bookutil.$(OBJEXT)
-latticebuild_OBJECTS = $(am_latticebuild_OBJECTS)
-latticebuild_LDADD = $(LDADD)
-latticebuild_DEPENDENCIES = ../lib/libvorbis.la
-am_latticetune_OBJECTS = latticetune.$(OBJEXT) vqgen.$(OBJEXT) \
- bookutil.$(OBJEXT)
-latticetune_OBJECTS = $(am_latticetune_OBJECTS)
-latticetune_LDADD = $(LDADD)
-latticetune_DEPENDENCIES = ../lib/libvorbis.la
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(distribution_SOURCES) $(huffbuild_SOURCES) \
- $(latticebuild_SOURCES) $(latticetune_SOURCES)
-DIST_SOURCES = $(distribution_SOURCES) $(huffbuild_SOURCES) \
- $(latticebuild_SOURCES) $(latticetune_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-INCLUDES = -I../lib -I$(top_srcdir)/include @OGG_CFLAGS@
-CLEANFILES = $(EXTRA_PROGRAMS)
-AM_LDFLAGS = -static
-LDADD = ../lib/libvorbis.la
-latticebuild_SOURCES = latticebuild.c vqgen.c bookutil.c\
- vqgen.h bookutil.h localcodebook.h
-
-latticetune_SOURCES = latticetune.c vqgen.c bookutil.c\
- vqgen.h bookutil.h localcodebook.h
-
-huffbuild_SOURCES = huffbuild.c vqgen.c bookutil.c\
- vqgen.h bookutil.h localcodebook.h
-
-distribution_SOURCES = distribution.c bookutil.c\
- bookutil.h localcodebook.h
-
-vqs_files = 16.vqs 16u.vqs 44c-1.vqs 44c0.vqs 44c1.vqs 44c2.vqs \
- 44c3.vqs 44c4.vqs 44c5.vqs 44c6.vqs 44c7.vqs 44c8.vqs 44c9.vqs \
- 44u0.vqs 44u1.vqs 44u2.vqs 44u3.vqs 44u4.vqs 44u5.vqs 44u6.vqs \
- 44u7.vqs 44u8.vqs 44u9.vqs 8.vqs 8u.vqs floor_11.vqs floor_22.vqs \
- floor_44.vqs 44p-1.vqs 44p0.vqs 44p1.vqs 44p2.vqs 44p3.vqs 44p4.vqs \
- 44p5.vqs 44p6.vqs 44p7.vqs 44p8.vqs 44p9.vqs
-
-EXTRA_DIST = $(vqs_files) make_floor_books.pl make_residue_books.pl \
- metrics.c
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu vq/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu vq/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-distribution$(EXEEXT): $(distribution_OBJECTS) $(distribution_DEPENDENCIES) $(EXTRA_distribution_DEPENDENCIES)
- @rm -f distribution$(EXEEXT)
- $(LINK) $(distribution_OBJECTS) $(distribution_LDADD) $(LIBS)
-huffbuild$(EXEEXT): $(huffbuild_OBJECTS) $(huffbuild_DEPENDENCIES) $(EXTRA_huffbuild_DEPENDENCIES)
- @rm -f huffbuild$(EXEEXT)
- $(LINK) $(huffbuild_OBJECTS) $(huffbuild_LDADD) $(LIBS)
-latticebuild$(EXEEXT): $(latticebuild_OBJECTS) $(latticebuild_DEPENDENCIES) $(EXTRA_latticebuild_DEPENDENCIES)
- @rm -f latticebuild$(EXEEXT)
- $(LINK) $(latticebuild_OBJECTS) $(latticebuild_LDADD) $(LIBS)
-latticetune$(EXEEXT): $(latticetune_OBJECTS) $(latticetune_DEPENDENCIES) $(EXTRA_latticetune_DEPENDENCIES)
- @rm -f latticetune$(EXEEXT)
- $(LINK) $(latticetune_OBJECTS) $(latticetune_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bookutil.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/distribution.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/huffbuild.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/latticebuild.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/latticetune.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vqgen.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool ctags distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am
-
-
-debugvq:
- $(MAKE) vq CFLAGS="@DEBUG@"
-
-profilevq:
- $(MAKE) vq CFLAGS="@PROFILE@"
-
-vq:
- $(MAKE) $(EXTRA_PROGRAMS)
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2014 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: utility functions for loading .vqh and .vqd files
- last mod: $Id: bookutil.c 19057 2014-01-22 12:32:31Z xiphmont $
********************************************************************/
while(!gotline){
if(sofar+1>=lbufsize){
- if(!lbufsize){
+ if(!lbufsize){
lbufsize=1024;
linebuffer=_ogg_malloc(lbufsize);
}else{
}
}
}
-
+
if(linebuffer[0]=='#'){
sofar=0;
}else{
for(i=1;i<c->dim;i++)
if(get_line_value(in,a+i))
break;
-
+
if(i==c->dim){
float temp=a[c->dim-1];
for(i=0;i<c->dim;i++)a[i]-=sequence_base;
fprintf(stderr,"1: syntax in %s in line:\t %s",filename,line);
exit(1);
}
-
+
switch(c->maptype){
case 0:
quant_to_read=0;
quant_to_read=c->entries*c->dim;
break;
}
-
+
/* load the quantized entries */
find_seek_to(in,"static const long _vq_quantlist_");
reset_next_value();
fprintf(stderr,"out of data while reading codebook %s\n",filename);
exit(1);
}
-
+
/* load the lengthlist */
find_seek_to(in,"_lengthlist");
reset_next_value();
/* got it all */
fclose(in);
-
+
vorbis_book_init_encode(b,c);
b->valuelist=_book_unquantize(c,c->entries,NULL);
for(i=vals;i>1;i--){
int first=-1,second=-1;
long least=-1;
-
+
spinnit("building... ",i);
-
+
/* find the two nodes to join */
for(j=0;j<vals;j++)
if(least==-1 || hist[j]<=least){
fprintf(stderr,"huffman fault; no free branch\n");
exit(1);
}
-
+
/* join them */
least=hist[first]+hist[second];
for(j=0;j<vals;j++)
fprintf(stderr,"\rEliminating %d unused entries; %d entries remain\n",
vals-upper,upper);
}
-
+
build_tree_from_lengths(upper,newhist,lengthlist);
-
+
upper=0;
for(i=0;i<vals;i++)
if(hist[i]>0)
fprintf(out,"};\n\n");
/* tie it all together */
-
+
fprintf(out,"static const static_codebook %s = {\n",name);
-
+
fprintf(out,"\t%ld, %ld,\n",c->dim,c->entries);
fprintf(out,"\t(char *)_vq_lengthlist_%s,\n",name);
fprintf(out,"\t%d, %ld, %ld, %d, %d,\n",
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: utility functions for loading .vqh and .vqd files
- last mod: $Id: bookutil.h 13293 2007-07-24 00:09:47Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: utility for finding the distribution in a data set
- last mod: $Id: distribution.c 16037 2009-05-26 21:10:58Z xiphmont $
********************************************************************/
if(c->lengthlist[j]){
int indexdiv=1;
printf("%4d: ",j);
- for(k=0;k<b->dim;k++){
+ for(k=0;k<b->dim;k++){
int index= (j/indexdiv)%bins;
printf("%+3.1f,", c->quantlist[index]*_float32_unpack(c->q_delta)+
_float32_unpack(c->q_min));
long maxcount=0,i,j;
for(i=0;i<bins;i++)
if(countarray[i]>maxcount)maxcount=countarray[i];
-
+
for(i=0;i<bins;i++){
int ptr=sort[i]-c->quantlist;
int stars=rint(50./maxcount*countarray[ptr]);
/* do it the simple way; two pass. */
line=setup_line(in);
- while(line){
+ while(line){
float code;
char buf[80];
lines++;
sprintf(buf,"getting min/max (%.2f::%.2f). lines...",min,max);
if(!(lines&0xff))spinnit(buf,lines);
-
+
while(!flag && sscanf(line,"%f",&code)==1){
line=strchr(line,',');
min=max=code;
flag=1;
}
-
+
while(line && sscanf(line,"%f",&code)==1){
line=strchr(line,',');
if(line)line++;
if(code<min)min=code;
if(code>max)max=code;
}
-
+
line=setup_line(in);
}
-
+
if(bins<1){
if((int)(max-min)==min-max){
bins=max-min;
bins=25;
}
}
-
+
printf("\r \r");
printf("Minimum scalar value: %f\n",min);
printf("Maximum scalar value: %f\n",max);
if(argv[2]){
-
+
printf("\n counting hits into %ld bins...\n",bins+1);
countarray=calloc(bins+1,sizeof(long));
-
+
rewind(in);
line=setup_line(in);
- while(line){
+ while(line){
float code;
lines--;
if(!(lines&0xff))spinnit("counting distribution. lines so far...",lines);
-
+
while(line && sscanf(line,"%f",&code)==1){
line=strchr(line,',');
if(line)line++;
-
+
code-=min;
code/=(max-min);
code*=bins;
countarray[(int)rint(code)]++;
total++;
}
-
+
line=setup_line(in);
}
-
+
/* make a pretty graph */
{
long maxcount=0,i,j;
for(i=0;i<bins+1;i++)
if(countarray[i]>maxcount)maxcount=countarray[i];
-
+
printf("\r \r");
printf("Total scalars: %ld\n",total);
for(i=0;i<bins+1;i++){
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2014 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: hufftree builder
- last mod: $Id: huffbuild.c 19057 2014-01-22 12:32:31Z xiphmont $
********************************************************************/
static void usage(){
fprintf(stderr,
- "usage:\n"
+ "usage:\n"
"huffbuild <input>.vqd <begin,n,group>|<lorange-hirange> [noguard]\n"
" where begin,n,group is first scalar, \n"
" number of scalars of each in line,\n"
long v;
if(get_next_ivalue(file,&v))break;
if(v>maxval)maxval=v;
-
+
if(!(i++&0xff))spinnit("loading... ",i);
}
rewind(file);
long vals=pow(maxval,subn);
long *hist=_ogg_calloc(vals,sizeof(long));
long *lengths=_ogg_calloc(vals,sizeof(long));
-
+
for(j=loval;j<vals;j++)hist[j]=guard;
-
+
if(file){
reset_next_value();
i/=subn;
}
fclose(file);
}
-
+
/* we have the probabilities, build the tree */
fprintf(stderr,"Building tree for %ld entries\n",vals);
build_tree_from_lengths0(vals,hist,lengths);
exit(1);
}
}
-
+
/* first, the static vectors, then the book structure to tie it together. */
/* lengthlist */
fprintf(file,"static const char _huff_lengthlist_%s[] = {\n",base);
fprintf(file,"\n");
}
fprintf(file,"};\n\n");
-
+
/* the toplevel book */
fprintf(file,"static const static_codebook _huff_book_%s = {\n",base);
fprintf(file,"\t%d, %ld,\n",subn,vals);
fprintf(file,"\tNULL,\n");
fprintf(file,"\t0\n};\n\n");
-
+
fclose(file);
fprintf(stderr,"Done. \n\n");
}
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: utility main for building codebooks from lattice descriptions
- last mod: $Id: latticebuild.c 16037 2009-05-26 21:10:58Z xiphmont $
********************************************************************/
/* The purpose of this util is just to finish packaging the
description into a static codebook. It used to count hits for a
histogram, but I've divorced that out to add some flexibility (it
- currently generates an equal probability codebook)
+ currently generates an equal probability codebook)
command line:
latticebuild description.vql
<n> <dim> <multiplicitavep> <sequentialp>
<value_0> <value_1> <value_2> ... <value_n-1>
-
+
a threshmap (or pigeonmap) struct is generated by latticehint;
there are fun tricks one can do with the threshmap and cascades,
but the utils don't know them...
fprintf(stderr,"Could not open input file %s\n",filename);
exit(1);
}
-
+
ptr=strrchr(filename,'.');
if(ptr){
*ptr='\0';
}
}
-
+
/* read the description */
line=get_line(in);
if(sscanf(line,"%d %d %d %d",&quantvals,&dim,&addmul,&sequencep)!=4){
reset_next_value();
line=setup_line(in);
- for(j=0;j<quantvals;j++){
+ for(j=0;j<quantvals;j++){
char *temp;
if(!line || sscanf(line,"%lf",quantlist+j)!=1){
fprintf(stderr,"Ran out of data on line 2 of description file\n");
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: utility main for setting entropy encoding parameters
for lattice codebooks
- last mod: $Id: latticetune.c 16037 2009-05-26 21:10:58Z xiphmont $
********************************************************************/
b=codebook_load(filename);
c=(static_codebook *)(b->c);
-
+
ptr=strrchr(filename,'.');
if(ptr){
*ptr='\0';
if(!strrcmp_i(argv[0],"latticetune")){
long lines=0;
line=setup_line(in);
- while(line){
+ while(line){
long code;
lines++;
if(!(lines&0xfff))spinnit("codewords so far...",lines);
-
+
if(sscanf(line,"%ld",&code)==1)
hits[code]++;
char *pos=strchr(line,':');
if(pos){
long code=atol(line);
- long val=atol(pos+1);
+ long val=atol(pos+1);
hits[code]+=val;
}
build_tree_from_lengths0(entries,hits,lengths);
c->lengthlist=lengths;
- write_codebook(stdout,name,c);
+ write_codebook(stdout,name,c);
{
long bins=_book_maptype1_quantvals(c);
long i,k,base=c->lengthlist[0];
for(i=0;i<entries;i++)
if(c->lengthlist[i]>base)base=c->lengthlist[i];
-
+
for(j=0;j<entries;j++){
if(c->lengthlist[j]){
int indexdiv=1;
fprintf(stderr,"%4ld: ",j);
- for(k=0;k<c->dim;k++){
+ for(k=0;k<c->dim;k++){
int index= (j/indexdiv)%bins;
fprintf(stderr,"%+3.1f,", c->quantlist[index]*_float32_unpack(c->q_delta)+
_float32_unpack(c->q_min));
}
}
}
-
+
fprintf(stderr,"\r "
"\nDone.\n");
exit(0);
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: basic shared codebook operations
- last mod: $Id: localcodebook.h 16959 2010-03-10 16:03:11Z xiphmont $
********************************************************************/
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: function calls to collect codebook metrics
- last mod: $Id: metrics.c 16037 2009-05-26 21:10:58Z xiphmont $
********************************************************************/
/* collect the following metrics:
mean and mean squared amplitude
- mean and mean squared error
+ mean and mean squared error
mean and mean squared error (per sample) by entry
worst case fit by entry
entry cell size
total bits
total samples
(average bits per sample)*/
-
+
/* set up metrics */
void process_preprocess(codebook **bs,char *basename){
int i;
while(bs[books])books++;
-
+
if(books){
histogram=_ogg_calloc(books,sizeof(float *));
histogram_error=_ogg_calloc(books,sizeof(float *));
localmin=this;
}
}
-
+
if(min==-1 || localmin<min)min=localmin;
if(max==-1 || localmin>max)max=localmin;
mean+=sqrt(localmin);
total++;
}
}
-
+
fprintf(stderr,"\tminimum cell spacing (closest side): %g\n",sqrt(min));
fprintf(stderr,"\tmaximum cell spacing (closest side): %g\n",sqrt(max));
fprintf(stderr,"\tmean closest side spacing: %g\n",mean/total);
fprintf(stderr,"Could not open file %s for writing\n",buffer);
exit(1);
}
-
+
for(i=0;i<n;i++){
for(k=0;k<dim;k++){
fprintf(out,"%d, %g, %g\n",
}
}
fclose(out);
-
+
sprintf(buffer,"%s-%d-me.m",basename,book);
out=fopen(buffer,"w");
if(!out){
fprintf(stderr,"Could not open file %s for writing\n",buffer);
exit(1);
}
-
+
for(i=0;i<n;i++){
for(k=0;k<dim;k++){
fprintf(out,"%d, %g, %g\n",
fprintf(stderr,"Could not open file %s for writing\n",buffer);
exit(1);
}
-
+
for(i=0;i<n;i++){
for(k=0;k<dim;k++){
fprintf(out,"%d, %g, %g, %g\n",
fprintf(stderr,"Internal error: _best returned -1.\n");
exit(1);
}
-
- histogram[book][entry]++;
+
+ histogram[book][entry]++;
bits+=vorbis_book_codelen(b,entry);
-
+
for(j=0;j<dim;j++){
float error=a[j*step];
base=process_one(b,bi,a+i,dim,1,addmul[bi],base);
}
}
-
+
if((long)(count)%100)spinnit("working.... samples: ",count);
}
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
- function: train a VQ codebook
- last mod: $Id: vqgen.c 16037 2009-05-26 21:10:58Z xiphmont $
+ function: train a VQ codebook
********************************************************************/
#include "vqgen.h"
#include "bookutil.h"
-/* Codebook generation happens in two steps:
+/* Codebook generation happens in two steps:
1) Train the codebook with data collected from the encoder: We use
one of a few error metrics (which represent the distance between a
given data point and a candidate point in the training set) to
divide the training set up into cells representing roughly equal
- probability of occurring.
+ probability of occurring.
2) Generate the codebook and auxiliary data from the trained data set
*/
if(this>0){
if(v->assigned[k] && (localmin==-1 || this<localmin))
localmin=this;
- }else{
+ }else{
if(k<j){
dup++;
break;
unused++;
continue;
}
-
+
localmin=v->max[j]+localmin/2; /* this gives us rough diameter */
if(min==-1 || localmin<min)min=localmin;
if(max==-1 || localmin>max)max=localmin;
for(i=0;i<count;i++)
fprintf(cells,"%g\n",spacings[i]);
fclose(cells);
-#endif
+#endif
}
int j,k;
mindel=maxdel=_now(v,0)[0];
-
+
for(j=0;j<v->entries;j++){
float last=0.f;
for(k=0;k<v->elements;k++){
for(k=0;k<v->elements;k++){
float val=_now(v,j)[k];
float now=rint((val-last-mindel)/delta);
-
+
_now(v,j)[k]=now;
if(now<0){
/* be paranoid; this should be impossible */
memcpy(_point(v,v->points),p,sizeof(float)*v->elements);
if(v->aux)memcpy(_point(v,v->points)+v->elements,a,sizeof(float)*v->aux);
-
+
/* quantize to the density mesh if it's selected */
if(v->mindist>0.f){
/* quantize to the mesh */
sprintf(buff,"bias%d.m",v->it);
bias=fopen(buff,"w");
#endif
-
+
if(v->entries<2){
fprintf(stderr,"generation requires at least two entries\n");
float secondmetric=v->metric_func(v,_now(v,1),ppt)+v->bias[1];
long firstentry=0;
long secondentry=1;
-
+
if(!(i&0xff))spinnit("biasing... ",v->points+v->points+v->entries-i);
-
+
if(firstmetric>secondmetric){
float temp=firstmetric;
firstmetric=secondmetric;
firstentry=1;
secondentry=0;
}
-
+
for(j=2;j<v->entries;j++){
float thismetric=v->metric_func(v,_now(v,j),ppt)+v->bias[j];
if(thismetric<secondmetric){
}
}
}
-
+
j=firstentry;
for(j=0;j<v->entries;j++){
-
+
float thismetric,localmetric;
float *nearbiasptr=nearbias+desired2*j;
long k=nearcount[j];
-
+
localmetric=v->metric_func(v,_now(v,j),ppt);
/* 'thismetric' is to be the bias value necessary in the current
arrangement for entry j to capture point i */
/* use the primary entry as the threshhold */
thismetric=firstmetric-localmetric;
}
-
+
/* support the idea of 'minimum distance'... if we want the
cells in a codebook to be roughly some minimum size (as with
the low resolution residue books) */
-
+
/* a cute two-stage delayed sorting hack */
if(k<desired){
nearbiasptr[k]=thismetric;
spinnit("biasing... ",v->points+v->points+v->entries-i);
qsort(nearbiasptr,desired,sizeof(float),directdsort);
}
-
+
}else if(thismetric>nearbiasptr[desired-1]){
nearbiasptr[k]=thismetric;
k++;
nearcount[j]=k;
}
}
-
+
/* inflate/deflate */
-
+
for(i=0;i<v->entries;i++){
float *nearbiasptr=nearbias+desired2*i;
-
+
spinnit("biasing... ",v->points+v->entries-i);
-
+
/* due to the delayed sorting, we likely need to finish it off....*/
if(nearcount[i]>desired)
qsort(nearbiasptr,nearcount[i],sizeof(float),directdsort);
v->bias[i]=nearbiasptr[desired-1];
}
- }else{
+ }else{
memset(v->bias,0,v->entries*sizeof(float));
}
}
j=firstentry;
-
+
#ifdef NOISY
fprintf(cells,"%g %g\n%g %g\n\n",
_now(v,j)[0],_now(v,j)[1],
fprintf(stderr,": dist %g(%g) metric error=%g \n",
asserror,fdesired,meterror/v->points);
v->it++;
-
+
free(new);
free(nearcount);
free(nearbias);
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
- * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * by the Xiph.Org Foundation https://xiph.org/ *
* *
********************************************************************
function: build a VQ codebook
- last mod: $Id: vqgen.h 16037 2009-05-26 21:10:58Z xiphmont $
********************************************************************/
\r
Lets say you have libogg and libvorbis in the same directory:\r
\r
-libogg-1.1.3 \r
-libvorbis-1.2.0\r
+libogg-1.3.2 \r
+libvorbis-1.4.0\r
\r
Because there is no automatic library detection you have to,\r
either:\r
\r
-1. Rename libogg-1.1.3 to libogg\r
+1. Rename libogg-1.3.2 to libogg.\r
\r
2. Open libogg.props with a text editor (even notepad.exe\r
will suffice) and see if LIBOGG_VERSION is set to the correct\r
-version, in this case "1.1.3"\r
+version, in this case "1.3.2".\r
<?xml version="1.0" encoding="utf-8"?>\r
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
<PropertyGroup Label="UserMacros">\r
- <LIBOGG_VERSION>1.2.0</LIBOGG_VERSION>\r
+ <LIBOGG_VERSION>1.3.2</LIBOGG_VERSION>\r
</PropertyGroup>\r
<PropertyGroup>\r
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
</PropertyGroup>\r
<ItemDefinitionGroup>\r
<ClCompile>\r
- <AdditionalIncludeDirectories>..\..\..\..\libogg-$(LIBOGG_VERSION)\include;..\..\..\..\ogg\include;..\..\..\..\..\..\..\core\ogg\libogg\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <AdditionalIncludeDirectories>..\..\..\..\libogg-$(LIBOGG_VERSION)\include;..\..\..\..\libogg\include;..\..\..\..\..\..\..\core\ogg\libogg\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
</ClCompile>\r
<Link>\r
- <AdditionalLibraryDirectories>..\..\..\..\libogg-$(LIBOGG_VERSION)\win32\VS2010\$(PlatformName)\$(ConfigurationName);..\..\..\..\ogg\win32\VS2010\$(PlatformName)\$(ConfigurationName);..\..\..\..\..\..\..\core\ogg\libogg\win32\VS2010\$(PlatformName)\$(ConfigurationName)</AdditionalLibraryDirectories>\r
+ <AdditionalLibraryDirectories>..\..\..\..\libogg-$(LIBOGG_VERSION)\win32\VS2015\$(PlatformName)\$(ConfigurationName);..\..\..\..\libogg\win32\VS2015\$(PlatformName)\$(ConfigurationName);..\..\..\..\..\..\..\core\ogg\libogg\win32\VS2015\$(PlatformName)\$(ConfigurationName)</AdditionalLibraryDirectories>\r
</Link>\r
</ItemDefinitionGroup>\r
<ItemGroup>\r
<Value>$(LIBOGG_VERSION)</Value>\r
</BuildMacro>\r
</ItemGroup>\r
-</Project>
\ No newline at end of file
+</Project>\r
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
<ImportGroup Label="ExtensionTargets">\r
</ImportGroup>\r
-</Project>
\ No newline at end of file
+</Project>\r
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
<ImportGroup Label="ExtensionTargets">\r
</ImportGroup>\r
-</Project>
\ No newline at end of file
+</Project>\r
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
<ImportGroup Label="ExtensionTargets">\r
</ImportGroup>\r
-</Project>
\ No newline at end of file
+</Project>\r
<CallingConvention>Cdecl</CallingConvention>\r
</ClCompile>\r
<Link>\r
- <AdditionalDependencies>libogg_static.lib;libvorbis_static.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>libogg.lib;libvorbis_static.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
<OutputFile>$(OutDir)vorbisdec_static.exe</OutputFile>\r
<AdditionalLibraryDirectories>..\..\..\..\libogg\win32\VS2010\$(Platform)\$(Configuration);..\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
<GenerateDebugInformation>true</GenerateDebugInformation>\r
<CallingConvention>Cdecl</CallingConvention>\r
</ClCompile>\r
<Link>\r
- <AdditionalDependencies>libogg_static.lib;libvorbis_static.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>libogg.lib;libvorbis_static.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
<OutputFile>$(OutDir)vorbisdec_static.exe</OutputFile>\r
<AdditionalLibraryDirectories>..\..\..\..\libogg\win32\VS2010\$(Platform)\$(Configuration);..\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
<GenerateDebugInformation>true</GenerateDebugInformation>\r
<CallingConvention>Cdecl</CallingConvention>\r
</ClCompile>\r
<Link>\r
- <AdditionalDependencies>libogg_static.lib;libvorbis_static.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>libogg.lib;libvorbis_static.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
<OutputFile>$(OutDir)vorbisdec_static.exe</OutputFile>\r
<AdditionalLibraryDirectories>..\..\..\..\libogg\win32\VS2010\$(Platform)\$(Configuration);..\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
<GenerateDebugInformation>false</GenerateDebugInformation>\r
<CallingConvention>Cdecl</CallingConvention>\r
</ClCompile>\r
<Link>\r
- <AdditionalDependencies>libogg_static.lib;libvorbis_static.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>libogg.lib;libvorbis_static.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
<OutputFile>$(OutDir)vorbisdec_static.exe</OutputFile>\r
<AdditionalLibraryDirectories>..\..\..\..\libogg\win32\VS2010\$(Platform)\$(Configuration);..\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
<GenerateDebugInformation>false</GenerateDebugInformation>\r
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
<ImportGroup Label="ExtensionTargets">\r
</ImportGroup>\r
-</Project>
\ No newline at end of file
+</Project>\r
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
<ImportGroup Label="ExtensionTargets">\r
</ImportGroup>\r
-</Project>
\ No newline at end of file
+</Project>\r
<CallingConvention>Cdecl</CallingConvention>\r
</ClCompile>\r
<Link>\r
- <AdditionalDependencies>libogg_static.lib;libvorbis_static.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>libogg.lib;libvorbis_static.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
<OutputFile>$(OutDir)vorbisenc_static.exe</OutputFile>\r
<AdditionalLibraryDirectories>..\..\..\..\libogg\win32\VS2010\$(Platform)\$(Configuration);..\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
<GenerateDebugInformation>true</GenerateDebugInformation>\r
<CallingConvention>Cdecl</CallingConvention>\r
</ClCompile>\r
<Link>\r
- <AdditionalDependencies>libogg_static.lib;libvorbis_static.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>libogg.lib;libvorbis_static.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
<OutputFile>$(OutDir)vorbisenc_static.exe</OutputFile>\r
<AdditionalLibraryDirectories>..\..\..\..\libogg\win32\VS2010\$(Platform)\$(Configuration);..\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
<GenerateDebugInformation>true</GenerateDebugInformation>\r
<CallingConvention>Cdecl</CallingConvention>\r
</ClCompile>\r
<Link>\r
- <AdditionalDependencies>libogg_static.lib;libvorbis_static.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>libogg.lib;libvorbis_static.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
<OutputFile>$(OutDir)vorbisenc_static.exe</OutputFile>\r
<AdditionalLibraryDirectories>..\..\..\..\libogg\win32\VS2010\$(Platform)\$(Configuration);..\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
<GenerateDebugInformation>false</GenerateDebugInformation>\r
<CallingConvention>Cdecl</CallingConvention>\r
</ClCompile>\r
<Link>\r
- <AdditionalDependencies>libogg_static.lib;libvorbis_static.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>libogg.lib;libvorbis_static.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
<OutputFile>$(OutDir)vorbisenc_static.exe</OutputFile>\r
<AdditionalLibraryDirectories>..\..\..\..\libogg\win32\VS2010\$(Platform)\$(Configuration);..\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
<GenerateDebugInformation>false</GenerateDebugInformation>\r
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
<ImportGroup Label="ExtensionTargets">\r
</ImportGroup>\r
-</Project>
\ No newline at end of file
+</Project>\r
-;
-; $Id: vorbis.def 16335 2009-07-25 22:52:38Z cristianadam $
+; vorbis.def
;
LIBRARY
EXPORTS
-;
-; $Id: vorbisenc.def 7187 2004-07-20 07:24:27Z xiphmont $
+; vorbisenc.def
;
LIBRARY
-;
; vorbisfile.def
;
-; last modified: $Id: vorbisfile.def 15566 2008-12-08 09:07:12Z conrad $
-;
LIBRARY
EXPORTS
ov_clear