Commit 8393f52f authored by j's avatar j
Browse files

merge changes from /tags/vorbis/libvorbis-1.1.0/

svn path=/branches/vorbis-aotuv/; revision=12025
parent a3723aee
libvorbis 1.1.0 (2004-09-22) -- "Xiph.Org libVorbis I 20040629"
* merges tuning improvements from Aoyumi's aoTuV with fixups
* new managed bitrate (CBR) mode support
* new vorbis_encoder_ctl() interface
* extensive documentation updates
* application/ogg mimetype is now official
* autotools cleanup from Thomas Vander Stichele
* SymbianOS build support from Colin Ward at CSIRO
* various bugfixes
* various packaging improvements
libvorbis 1.0.1 (2003-11-17) -- "Xiph.Org libVorbis I 20030909"
* numerous bug fixes
* specification corrections
* new crosslap and halfrate APIs for game use
* packaging and build updates
libvorbis 1.0.0 (2002-07-19) -- "Xiph.Org libVorbis I 20020717"
* first stable release
Copyright (c) 2002, Xiph.org Foundation
Copyright (c) 2002-2004 Xiph.org Foundation
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
......
Note that these instructions are *not* necessary for distribution
tarballs; they have separate configure/build instructions.
Building this package from CVS is mainly intended for developers.
General users should obtain official distribution packages; both
source and binary distributions are available at
http://www.vorbis.com/.
-----
These are *brief* instructions on how to build this package from CVS.
Yes, there are details left out.
There are generally four steps necessary when building from CVS (i.e.,
a developer's copy):
1. cvs checkout of the sources, or cvs update. RTFM from your
favorite flavor of CVS documentation; information on the xiph.org
CVS repository can be found at http://www.xiph.org/cvs.html.
2. [re-]generate files such as "configure" and "Makefile.in" with the
GNU autoconf/automake tools. Run the "autogen.sh" script to
perform this step.
*** IF YOU ARE NOT BUILDING WITH GNU MAKE *AND* GCC: you must set
the AUTOMAKE_FLAGS environment variable to "--include-deps"
before running autogen.sh. For example:
csh% setenv AUTOMAKE_FLAGS --include-deps
csh% ./autogen.sh
or
sh% AUTOMAKE_FLAGS=--include-deps ./autogen.sh
3. Run configure. There are several options available; see
"./configure --help" for more information.
4. Run "make" to build the source.
In general, steps 2 and 3 need to be re-run every time any of the
following files are modified (either manually or by a cvs update):
configure.in
acinclude.m4
Running "make clean" after running steps 2 and 3 is generally also
advisable before running step 4. It isn't *always* necessary, but
unless you understand the workings of autoconf/automake, it's safest
to just do it.
......@@ -10,12 +10,20 @@ m4data_DATA = vorbis.m4
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = vorbis.pc vorbisenc.pc vorbisfile.pc
EXTRA_DIST = HACKING todo.txt macos macosx autogen.sh libvorbis.spec \
vorbis.m4 vorbis.pc.in vorbisenc.pc.in vorbisfile.pc.in
EXTRA_DIST = todo.txt macos macosx 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
DISTCHECK_CONFIGURE_FLAGS = --enable-docs
dist-hook:
rm -rf `find $(distdir)/macos -name CVS`
rm -rf `find $(distdir)/macos -name .svn`
rm -rf `find $(distdir)/macosx -name CVS`
rm -rf `find $(distdir)/macosx -name .svn`
debug:
$(MAKE) all CFLAGS="@DEBUG@"
......
......@@ -5,36 +5,44 @@
* 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-2002 *
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2004 *
* by the Xiph.org Foundation, http://www.xiph.org/ *
* *
********************************************************************
NEW AND IMPORTANT:
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.
If you're used to the source distribution from the first two beta
releases, things are now rearranged a bit. Specifically, the
'vorbis' CVS module contains only the libvorbis, libvorbisfile, and
libvorbisenc libraries. Because Ogg bitstreams are to be used by other
Ogg codecs, Ogg framing and streaming functionality is now in libogg
(the 'ogg' CVS module). Vorbis utilities are in 'vorbis-tools' and various
player plugins are in 'vorbis-plugins'. For now, you'll need to check
out these other modules seperately. (Note: the xmms plugin is in the xmms
CVS tree in xmms/Input/vorbis.)
This package contains:
Secondly, the Ogg/Vorbis build systems now use automake. Instead of
'./configure; make', the proper build sequence (in each module) is
'./autogen.sh; make'.
* libvorbis, a BSD-style license software implementation of
the Vorbis specification by the Xiph.Org Foundation
(http://www.xiph.org/)
You will also need the newest versions of autoconf, automake, and libtool
in order to compile vorbis from CVS. configure scripts are provided for you
in tarball distributions.
* 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 and documentation on
the Ogg Vorbis audio coding format.
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:
......@@ -59,32 +67,6 @@ Directory:
./vq Internal utilities for training/building new LSP/residue
and auxiliary codebooks.
WHAT IS 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 royalty or
patent concerns.
This package contains:
.) libvorbis, a BSD-style license software implementation of
the Vorbis specification by the Xiph.Org Foundation (http://www.xiph.org/)
.) libvorbisfile, a BSD-style license convenience library
built on Vorbis designed to simplify common uses and a number of GPL
example programs
.) libvorbisenc, a BSD-style license library that provides a simple,
programmatic encoding setup interface
.) example code making use of libogg, libvorbis, libvorbisfile and
libvorbisenc
CONTACT:
The Ogg homepage is located at 'http://www.xiph.org/ogg/'.
......@@ -92,14 +74,21 @@ Vorbis's homepage is located at 'http://www.xiph.org/ogg/vorbis/'.
Up to date technical documents, contact information, source code and
pre-built utilities may be found there.
BUILDING FROM CVS:
BUILDING FROM TRUNK:
Development source is under subversion revision control at
http://svn.xiph.org/trunk/vorbis/. You will also need the
newest versions of autoconf, automake, and libtool in order
to compile vorbis from development source. A configure script
is provided for you in the source tarball distributions.
./autogen.sh
make
[update or checkout latest source]
./autogen.sh
make
and as root if desired:
make install
make install
This will install the vorbis libraries (static and shared) into
/usr/local/lib, includes into /usr/local/include and API manpages
......@@ -107,23 +96,23 @@ This will install the vorbis libraries (static and shared) into
BUILDING FROM TARBALL DISTRIBUTIONS:
./configure
make
./configure
make
and optionally (as root):
make install
make install
BUILDING RPMS:
after normal configuring:
make dist
rpm -ta libvorbis-<version>.tar.gz
make dist
rpm -ta libvorbis-<version>.tar.gz
BUILDING ON MACOS 9:
Vorbis on MacOS 9 is built using CodeWarrior 5.3. To build it, first
verify that the Ogg libraries are already built following the
Vorbis on MacOS 9 is built using Metroworks CodeWarrior. To build it,
first verify that the Ogg libraries are already built following the
instructions in the Ogg module README. Open vorbis/mac/libvorbis.mcp,
switch to the "Targets" pane, select everything, and make the project.
Do the same thing to build libvorbisenc.mcp, and libvorbisfile.mcp (in
......@@ -138,3 +127,4 @@ be found in the "access paths" pane in your project settings. Now
simply add the shared libraries you need to your project (OggLib and
VorbisLib at least) and #include "ogg/ogg.h" and "vorbis/codec.h"
wherever you need to access Ogg and Vorbis functionality.
......@@ -8,7 +8,7 @@
dnl XIPH_PATH_OGG([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
dnl Test for libogg, and define OGG_CFLAGS and OGG_LIBS
dnl
AC_DEFUN(XIPH_PATH_OGG,
AC_DEFUN([XIPH_PATH_OGG],
[dnl
dnl Get the cflags and libraries
dnl
......
aoTuV beta2 release note
"aoTuV" tunes up libvorbis 1.0.1 uniquely.
A license is taken as "BSD-style license" as well as original libvorbis.
# NOTICE #
On the frequency of 26kHz or more, q-2(nominal 40kbps/44.1-48kHz) can be used. A part of Nominal bitrate has changed.
Use of bitrate management mode is not recommended. (In the future, psy.c and mapping0.c will need to be improved. ) Please specify this, when you compile this code and you distribute a binary. If you want to improve this portion, I welcome. iFor the moment, there is no schedule for which I improve this problem. )
aoTuV based on <Xiph.Org libvorbis 1.0.1>
Copyright (c) 2002,2003 Xiph.Org Foundation
Copyright (c) 2003,2004 Aoyumi
AUTHOR : aoyumi <aoyumi@inter7.jp>
\ No newline at end of file
......@@ -61,15 +61,15 @@ fi
echo "Generating configuration files for $package, please wait...."
echo " aclocal $ACLOCAL_FLAGS"
aclocal $ACLOCAL_FLAGS
#echo " autoheader"
#autoheader
aclocal $ACLOCAL_FLAGS || exit 1
echo " autoheader"
autoheader || exit 1
echo " $LIBTOOLIZE --automake"
$LIBTOOLIZE --automake
$LIBTOOLIZE --automake || exit 1
echo " automake --add-missing $AUTOMAKE_FLAGS"
automake --add-missing $AUTOMAKE_FLAGS
automake --add-missing $AUTOMAKE_FLAGS || exit 1
echo " autoconf"
autoconf
autoconf || exit 1
cd $olddir
$srcdir/configure "$@" && echo
......@@ -5,7 +5,13 @@ dnl Initialization and Versioning
dnl ------------------------------------------------
AC_INIT(lib/mdct.c)
AM_INIT_AUTOMAKE(libvorbis,1.0.1)
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
AM_CONFIG_HEADER([config.h])
AM_INIT_AUTOMAKE(libvorbis,1.1.0)
AM_MAINTAINER_MODE
dnl Library versioning
......@@ -44,7 +50,7 @@ AM_PROG_LIBTOOL
dnl docbook xml transform and processing tools
AC_ARG_ENABLE(docs,
[ --enable-docs build the documentation],
[ --enable-docs build the documentation],
[case "${enableval}" in
yes) build_docs=true;;
no) build_docs=false;;
......@@ -57,7 +63,7 @@ if test x$build_docs = xtrue; then
AC_CHECK_PROGS([PDFXMLTEX], pdfxmltex, [/bin/false])
if test "x$XSLTPROC" = "x/bin/false" || test "x$PDFXMLTEX" = "x/bin/false"; then
build_docs=false
AC_MSG_WARN([Documentation will not be built])
AC_MSG_WARN([Documentation will not be built!])
fi
fi
......@@ -67,8 +73,6 @@ dnl --------------------------------------------------
dnl Set build flags based on environment
dnl --------------------------------------------------
AC_CANONICAL_HOST
dnl Set some target options
cflags_save="$CFLAGS"
......@@ -182,12 +186,26 @@ dnl --------------------------------------------------
dnl Check for libraries
dnl --------------------------------------------------
AC_CHECK_LIB(m, cos, LIBS="-lm", LIBS="")
AC_CHECK_LIB(m, cos, VORBIS_LIBS="-lm", VORBIS_LIBS="")
AC_CHECK_LIB(pthread, pthread_create, pthread_lib="-lpthread", :)
XIPH_PATH_OGG(, AC_MSG_ERROR(must have Ogg installed!))
LIBS="$LIBS $OGG_LIBS"
AC_CHECK_FUNC(oggpack_writealign, , AC_MSG_ERROR(Ogg >= 1.0 required !))
HAVE_OGG=no
dnl first check through pkg-config
dnl check for pkg-config itself so we don't try the m4 macro without pkg-config
AC_CHECK_PROG(HAVE_PKG_CONFIG, pkg-config, yes)
if test "x$HAVE_PKG_CONFIG" = "xyes"
then
PKG_CHECK_MODULES(OGG, ogg >= 1.0, HAVE_OGG=yes, HAVE_OGG=no)
fi
if test "x$HAVE_OGG" = "xno"
then
dnl fall back to the old school test
XIPH_PATH_OGG(, AC_MSG_ERROR(must have Ogg installed!))
libs_save=$LIBS
LIBS="$OGG_LIBS $VORBIS_LIBS"
AC_CHECK_FUNC(oggpack_writealign, , AC_MSG_ERROR(Ogg >= 1.0 required !))
LIBS=$libs_save
fi
dnl --------------------------------------------------
dnl Check for library functions
......@@ -200,9 +218,30 @@ dnl --------------------------------------------------
dnl Do substitutions
dnl --------------------------------------------------
AC_SUBST(LIBS)
AC_SUBST(VORBIS_LIBS)
AC_SUBST(DEBUG)
AC_SUBST(PROFILE)
AC_SUBST(pthread_lib)
AC_OUTPUT(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 include/Makefile include/vorbis/Makefile examples/Makefile win32/Makefile debian/Makefile vq/Makefile vorbis.pc vorbisenc.pc vorbisfile.pc)
AC_OUTPUT([
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
include/Makefile include/vorbis/Makefile
examples/Makefile
win32/Makefile
debian/Makefile
vq/Makefile
libvorbis.spec
vorbis.pc
vorbisenc.pc
vorbisfile.pc
vorbis-uninstalled.pc
vorbisenc-uninstalled.pc
vorbisfile-uninstalled.pc
])
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS = foreign
EXTRA_DIST = changelog control copyright libvorbis-dev.docs \
libvorbis-dev.examples libvorbis-dev.install libvorbis0a.install \
libvorbisenc2.install libvorbisfile3.install rules
## Process this with automake to create Makefile.in
AUTOMAKE_OPTIONS = foreign
SUBDIRS = vorbisfile vorbisenc
docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)
static_docs = components.png \
draft-kerr-avt-vorbis-rtp-02.txt \
### all of the static docs, commited to SVN and included as is
static_docs = \
draft-kerr-avt-vorbis-rtp-03.txt \
eightphase.png \
evenlsp.png \
floor1-1.png \
floor1-2.png \
floor1-3.png \
floor1-4.png \
floor1_inverse_dB_table.html \
floorval.png \
fourphase.png \
framing.html \
helper.html \
hufftree-under.png \
hufftree.png \
index.html \
lspmap.png \
oddlsp.png \
oggstream.html \
programming.html \
residue-pack.png \
residue2.png \
squarepolar.png \
stereo.html \
stream.png \
......@@ -39,20 +30,38 @@ static_docs = components.png \
vorbisword2.png \
wait.png \
white-ogg.png \
white-xifish.png
### FIXME: bits needed by the spec which lives in xml
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 \
white-xifish.png \
window1.png \
window2.png
SPEC_PDF = xifish.pdf
# FIXME: also needed here
# white-xifish.png
built_docs = Vorbis_I_spec.html Vorbis_I_spec.pdf
# conditionally make the generated documentation
if BUILD_DOCS
doc_DATA = $(static_docs) $(built_docs)
doc_DATA = $(static_docs) $(SPEC_PNG) $(built_docs)
else
doc_DATA = $(static_docs)
doc_DATA = $(static_docs) $(SPEC_PNG)
endif
EXTRA_DIST = $(static_docs) $(built_docs)
EXTRA_DIST = $(static_docs) $(doc_sources) \
$(SPEC_PNG) $(SPEC_PDF) $(built_docs)
doc_sources = xml/Vorbis_I_spec.xml \
xml/01-introduction.xml \
......@@ -72,23 +81,53 @@ doc_sources = xml/Vorbis_I_spec.xml \
xml/spec-fo.xsl \
xml/spec-html.xsl
nobase_EXTRA_DIST = $(doc_sources)
# these are expensive; only remove if we have to
MAINTAINERCLEANFILES = $(built_docs)
DISTCLEANFILES = $(built_docs)
CLEANFILES = Vorbis_I_spec.fo spec.aux spec.log spec.out
# rules for temporary build dir for spec
BUILDDIR = build
# how to copy images to build dir
SPEC_PNG_BUILD = $(foreach file, $(SPEC_PNG), $(BUILDDIR)/$(file))
SPEC_PDF_BUILD = $(foreach file, $(SPEC_PDF), $(BUILDDIR)/$(file))
$(BUILDDIR)/%: $(srcdir)/%
@echo "Copying $< to $@"
@mkdir -p $(BUILDDIR)
@cp $< $@
# how to copy the xml to build dir; cheat by only targeting the main one
$(BUILDDIR)/Vorbis_I_spec.xml: $(doc_sources)
@mkdir -p $(BUILDDIR)
@for file in $(doc_sources); do cp $(srcdir)/$$file $(BUILDDIR); done
# translate the draft rtp.txt to .xml in the BUILDDIR
$(BUILDDIR)/draft-rtp.xml: draft-kerr-avt-vorbis-rtp-03.txt
cat $< | sed 's/ //g' > $@
# cat $< | sed 's/ //g' | sed 's/</\&lt;/g' | sed 's/>/\&gt;/g' > $@
# explicit rules for generating docs
Vorbis_I_spec.html:
xsltproc --xinclude --output $@ $(srcdir)/xml/spec-html.xsl $(srcdir)/xml/Vorbis_I_spec.xml
if BUILD_DOCS
Vorbis_I_spec.html: $(SPEC_PNG_BUILD) $(BUILDDIR)/Vorbis_I_spec.xml
cd build; xsltproc --xinclude --output Vorbis_I_spec.html spec-html.xsl Vorbis_I_spec.xml && mv $@ ..
Vorbis_I_spec.fo:
xsltproc --xinclude --output $@ $(srcdir)/xml/spec-fo.xsl $(srcdir)/xml/Vorbis_I_spec.xml
Vorbis_I_spec.fo: $(BUILDDIR)/Vorbis_I_spec.xml
cd build; xsltproc --xinclude --output $@ spec-fo.xsl Vorbis_I_spec.xml && mv $@ ..
Vorbis_I_spec.pdf: Vorbis_I_spec.fo
cp $< spec.fo # work around a passivetex bug
pdfxmltex --interaction nonstopmode spec.fo
pdfxmltex --interaction nonstopmode spec.fo
rm spec.fo
mv spec.pdf $@
Vorbis_I_spec.pdf: Vorbis_I_spec.fo $(SPEC_PNG_BUILD) $(SPEC_PDF_BUILD)
cp $< build/spec.fo # work around a passivetex bug
cd build; pdfxmltex --interaction nonstopmode spec.fo
cd build; pdfxmltex --interaction nonstopmode spec.fo
rm build/spec.fo
mv build/spec.pdf $@
else
Vorbis_I_spec.html: NO_DOCS_ERROR
Vorbis_I_spec.pdf: NO_DOCS_ERROR
NO_DOCS_ERROR:
@echo
@echo "*** Documentation has not been built! ***"
@echo "Try re-running after passing --enable-docs to configure."
@echo
endif
# clean up build dir
clean-local:
-$(RM) -r $(BUILDDIR)
......@@ -87,7 +87,7 @@ to the end of the field.
<h3>Field names</h3>
Below is a proposed, minimal list of standard filed names with a
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.<p>
......
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS = foreign
docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/vorbisenc
doc_DATA = index.html overview.html reference.html style.css\
......
<html>
<head>
<title>libvorbisenc - Documentation</title>
<link rel=stylesheet href="style.css" type="text/css">
</head>
<body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
<table border=0 width=100%>
<tr>
<td><p class=tiny>libvorbisenc documentation</p></td>
<td align=right><p class=tiny>libvorbisenc release 1.1 - 20040709</p></td>
</tr>
</table>
<h1>Libvorbisenc API changes 1.0 through 1.1</h1>
This document describes API additions to libvorbisenc between release
1.0 and 1.1.
<h2>1.0.1</h2>
The programming API and binary application ABI are unchanged and fully
forward/backward compatible between release 1.0 and 1.0.1. Libvorbis,
libvorbisenc and libvorbisfile must match versions amongst themselves,
however.
<h2>1.1</h2>
The binary ABI from release 1.0.1 to 1.1 is backward compatible;
applications linked against libvorbis/libvorbisenc 1.0 and 1.0.1 will
continue to function correctly when upgrading the libvorbis and
libvorbisenc dynamic libraries without re-linking. <p>
Release 1.1 adds several possible requests to the libvorbisenc <a
href="vorbis_encode_ctl.html">vorbis_encode_ctl()</a> call in order to
reflect the shift to <a href="overview.html#BBR">bit-reservoir style
bitrate management</a>. In addition, several <a
href="vorbis_encode_ctl.html">vorbis_encode_ctl()</a> requests are
deprecated (but functional) as they are redered semantically obsolete
by the <a href="overview.html#BBR">new bitrate management</a>.<p>
<h3>Deprecated in 1.1</h3>
These calls are still available to older codebases to preserve
compatability; the fields of the <a
href="ovectl_ratemanage_arg.html">ovectl_ratemanage_arg</a> argument
are mapped as closely as possible to the fields of the new <a
href="ovectl_ratemanage2_arg.html">ovectl_ratemanage2_arg</a>
structure.
<dl>
<dt><a href="vorbis_encode_ctl.html#OV_ECTL_RATEMANAGE_GET">OV_ECTL_RATEMANAGE_GET</a>:<dd> Use <a
href="vorbis_encode_ctl.html#OV_ECTL_RATEMANAGE2_GET">OV_ECTL_RATEMANAGE2_GET</a>
instead.
<dt><a href="vorbis_encode_ctl.html#OV_ECTL_RATEMANAGE_SET">OV_ECTL_RATEMANAGE_SET</a>:<dd> Use <a
href="vorbis_encode_ctl.html#OV_ECTL_RATEMANAGE2_SET">OV_ECTL_RATEMANAGE2_SET</a>