⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index.html

📁 这个是关于G.726算法的源程序
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<LINK HREF="../tixy.css" REL="stylesheet" TYPE="text/css">
<LINK REL="start" HREF="../index.html">

<TITLE>Tixy's Source Code</TITLE>

<UL class="navbart">
<LI><A HREF="../index.html">Home</A>
</UL>
<HR class="navbart">

<H1>Tixy's Source Code</H1>

<P class="subtitle">
C++ and Forth source code.
<P>
The <A HREF="#Forth">Forth code</A> (and the VM implementation in C++) are Public Domain;
they may be used, modified and distributed in any manner, without any restriction.
Other code is provided under the terms of the <A HREF="gpl.txt">GNU General Public License</A>.
(See <A HREF="http://www.gnu.org/licenses/licenses.html">GNU Licenses</A> for more information.)
<P>
The code has only been tested on 32bit little-endian targets but has been designed to be
word size and endian agnostic; please let me know if it doesn't work on your system.
<P>
C++ source is commented using <A HREF="http://www.doxygen.org">Doxygen</A> style comments
and is formatted with tab stops every four characters.
<P>
Send any comments to "tixy" at "clara" dot "net"
</P>

<H2>Contents</H2>
<UL>
<LI><A HREF="#Common">Common</A>
	 - Source files common to all code
<LI><A HREF="#Audio Codecs">Audio Codecs</A>
	<UL>
	<LI><A HREF="#G711">G711</A>
		 - An implementation of ITU-T (formerly CCITT) Recommendation G711
		"Pulse Code Modulation (PCM) of Voice Frequencies"
	<LI><A HREF="#G726">G726</A>
		 - An implementation of ITU-T (formerly CCITT) Recommendation G726
		"40, 32, 24, 16 kbit/s Adaptive Differential Pulse Code Modulation (ADPCM)"
	<LI><A HREF="#IMA ADPCM">IMA ADPCM</A>
		 - An implementation of the IMA ADPCM audio coding algorithm.
	</UL>
<LI><A HREF="#Maths">Maths</A>
	<UL>
	<LI><A HREF="#Fixed-Point Maths">Fixed-Point Maths</A>
		 - 32 bit fixed-point maths functions.
	<LI><A HREF="#3D Vectors">3D Vectors</A>
		 - 3D vector maths using fixed-point arithmetic.
	</UL>
<LI><A HREF="#Forth">Forth</A>
	<UL>
	<LI><A HREF="#Forth VM">ANS Forth VM</A>
		 - ANS Forth virtual machine.
	<LI><A HREF="#ARM Assembler">ARM Assembler and Disassembler</A>
		 - ARM Assembler and Disassembler written in Forth.
	</UL>
<LI><A HREF="documentation/modules.html">Documentation</A>
	 - Doxygen generated documentation.
<LI><A HREF="tixys-source.zip">Download</A>
	 - All source and documentation in a zip file.
<LI><A HREF="#Changes">Changes</A>
	 - Change History
</UL>

<HR>

<H2><A NAME="Common">Common</A></H2>
<P>
All C++ code below requires this header file which provides type definitions and helper macros which aren't part of standard C++.
<UL>
<LI><A HREF="common/common.h">common/common.h</A>
<LI><A HREF="documentation/common_8h.html">Documentation</A>
</UL>

<HR>

<H2><A NAME="Audio Codecs">Audio Codecs</A></H2>

<H3><A NAME="G711">G711</A></H3>
<P>
An implementation of ITU-T (formerly CCITT) Recommendation G711
"Pulse Code Modulation (PCM) of Voice Frequencies"
<P>
<UL>
<LI><A HREF="audio/G711.h">audio/G711.h</A>
<LI><A HREF="audio/G711.cpp">audio/G711.cpp</A>
<LI><A HREF="documentation/classG711.html">Documentation</A>
</UL>

<H3><A NAME="G726">G726</A></H3>
<P>
An implementation of ITU-T (formerly CCITT) Recommendation G726
"40, 32, 24, 16 kbit/s Adaptive Differential Pulse Code Modulation (ADPCM)"
<P>
This code optionally contains two deliberate bugs in the <CODE>COMPRESS</CODE> function
which were added so the code passes the G726 test sequences. It seems that
the standard implementation in G191 also contains these bugs.
<P>
<UL>
<LI><A HREF="audio/G726.h">audio/G726.h</A>
<LI><A HREF="audio/G726.cpp">audio/G726.cpp</A>
<LI><A HREF="documentation/classG726.html">Documentation</A>
</UL>
<P>
Also requires source for <A HREF="#G711">G711</A>

<H3><A NAME="IMA ADPCM">IMA ADPCM</A></H3>
<P>
An implementation of the IMA ADPCM audio coding algorithm.
<P>
<UL>
<LI><A HREF="audio/IMA_ADPCM.h">audio/IMA_ADPCM.h</A>
<LI><A HREF="audio/IMA_ADPCM.cpp">audio/IMA_ADPCM.cpp</A>
<LI><A HREF="documentation/classIMA__ADPCM.html">Documentation</A>
</UL>

<HR>

<H2><A NAME="Maths">Maths</A></H2>
<P>
This code is targeted at CPUs without hardware support for division or floating point.
It has been optimised for ARM CPUs but should be suitable for other RISC architectures.
</P>

<H3><A NAME="Fixed-Point Maths">Fixed-Point Maths</A></H3>
<P>
32 bit fixed-point maths implementation, including multiplication, division,
square-root, trigonometric and logarithm functions.
<UL>
<LI><A HREF="maths/fix.h">maths/fix.h</A>
<LI><A HREF="maths/fix.cpp">maths/fix.cpp</A>
<LI><A HREF="documentation/group__fix.html">Documentation</A>
</UL>

<H3><A NAME="3D Vectors">3D Vectors</A></H3>
<P>
Routines for handling 3 dimensional points, vectors and matrices.
This uses the <A HREF="#Fixed-Point Maths">Fixed-Point Maths</A> routines above.
<UL>
<LI><A HREF="maths/vector3.h">maths/vector3.h</A>
<LI><A HREF="maths/vector3.cpp">maths/vector3.cpp</A>
<LI><A HREF="documentation/group__vector3.html">Documentation</A>
</UL>

<HR>
<H2><A NAME="Forth">Forth</A></H2>
<P>
All code in this Forth section has been placed in the Public Domain.
</P>

<H3><A NAME="Forth VM">Forth VM</A></H3>
<P>
<A HREF="ftp://ftp.uu.net/vendor/minerva/uathena.htm">ANS Forth</A> virtual machine
written in C++. This is a token threaded implementation which contains the ANS Core
words plus a few extra words from other word sets. It doesn't make use of any C library
functions, and so should compile to stand-alone code suitable for embedding in other programs.
<UL>
<LI><A HREF="forth/forth.h">forth/forth.h</A>
<LI><A HREF="forth/forth.cpp">forth/forth.cpp</A>
<LI><A HREF="documentation/group__forth.html">Documentation</A>
<LI><A HREF="forth/test/forthtest.cpp">forth/test/forthtest.cpp</A>
	- Test code which also provides console i/o and source file inclusion by using C standard library functions.
</UL>
<P>
Forth source code is also available to implement additional ANS wordsets...
<UL>
<LI><A HREF="forth/core-ext.f">forth/core-ext.f</A>
	- Implementation of missing CORE EXTENSION words.
<LI><A HREF="forth/search.f">forth/search.f</A>
	- Implementation of SEARCH-ORDER and SEARCH-ORDER EXTENSION words.
<LI><A HREF="forth/programming-tools.f">forth/programming-tools.f</A>
	- Implementation of PROGRAMMING-TOOLS words. (Doesn't include <code>SEE</code>.)
<LI><A HREF="forth/test/core.f">forth/test/core.f</A>
	- Test code for CORE wordset.
<LI><A HREF="forth/test/core-ext.f">forth/test/core-ext.f</A>
	- Test code for CORE EXTENSION wordset.
<LI><A HREF="forth/test/search.f">forth/test/search.f</A>
	- Test code for SEARCH-ORDER wordset.
<LI><A HREF="forth/test/search-ext.f">forth/test/search-ext.f</A>
	- Test code for SEARCH-ORDER EXTENSION wordset.
</UL>

<H3><A NAME="ARM Assembler">ARM Assembler and Disassembler</A></H3>
<P>
ARM Assembler and Disassembler written in Forth. These support all ARM architectures up to and including Version 6.
<P>
The assembler syntax closely follows standard ARM format and includes support for labels.
<UL>
<LI><A HREF="forth/arm-asm.f">forth/arm-asm.f</A>
<LI><A HREF="forth/arm-disasm.f">forth/arm-disasm.f</A>
<LI><A HREF="forth/test/arm-asm-disasm-test.f">forth/test/arm-asm-disasm-test.f</A>
	- Test code assembler and disassembler.
</UL>

<HR>

<H2><A NAME="Changes">Changes</A></H2>
<P>
2005-12-27
<UL>
<LI>Added test code for Forth programs.
<LI>Added <A HREF="forth/programming-tools.f">Programming-Tools wordlist</A> to Forth code.
<LI>Fixed bugs in <A HREF="#Forth VM">Forth virtual machine</A> which manifested when <code>sizeof(CELL)</code> was greater than <code>sizeof(CELL*)</code>.
<LI>Fixed a bug in the implementation of <code>C"</code> (<A HREF="forth/core-ext.f">forth/core-ext.f</A>) which manifested when the size of a <code>CHAR</code> was not one address unit.
<LI>Fixed a bug with the <code>L:</code> word in the <A HREF="forth/arm-asm.f">ARM Assembler</A>.
</UL>
<P>
2005-12-26
<UL>
<LI>Added an <A HREF="#ARM Assembler">ARM Assembler and Disassembler</A> written in Forth.
<LI>Documentation for C++ code now generated with Doxygen version 1.4.4.
</UL>
<P>
2005-08-20
<UL>
<LI>Added an implementation of an ANS <A HREF="#Forth VM">Forth virtual machine</A>.
</UL>
<P>
2005-03-02
<UL>
<LI>Made <CODE><A HREF="documentation/classVector3.html">Vector3</A>::Normal</CODE> faster.
</UL>
<P>
2005-03-01
<UL>
<LI>Modified <CODE><A HREF="documentation/classVector3.html">Vector3</A>::Normal</CODE>
	so that it copes with vectors of any magnitude.
<LI>Tidied up documentation for <CODE><A HREF="documentation/classVector3.html">Vector3</A></CODE>.
</UL>
<P>
2005-02-27
<UL>
<LI>Added <A HREF="#3D Vectors">3D Vectors</A> code.
</UL>
<P>
2005-02-26
<UL>
<LI>Added pseudo-random number generator function <CODE><A HREF="documentation/classFix.html">Fix</A>::Random()</CODE>
	to <A HREF="#Fixed-Point Maths">Fixed-Point Maths</A> routines.
</UL>
<P>
2005-02-18
<UL>
<LI>Updated <A HREF="#Common">Common</A> headers plus other small syntactic changes so that
	all code compiles cleanly for Symbian OS.
</UL>
<P>
2005-02-13
<UL>
<LI>Updated <A HREF="#G726">G726</A> and <A HREF="#IMA ADPCM">IMA ADPCM</A>
	audio codecs to include functions for encoding and decoding multiple samples in one go.
	(Plus a few other minor tweaks.)
</UL>
<P>
2005-02-08
<UL>
<LI>Added <A HREF="#IMA ADPCM">IMA ADPCM</A> code.
<LI>Added a single <A HREF="tixys-source.zip">zip file</A> with all code and docs.
</UL>
<P>
2005-02-07
<UL>
<LI>Fixed bug in <A HREF="#Fixed-Point Maths">Fixed-Point Maths</A> which caused
<CODE><A HREF="documentation/classFix.html">Fix</A>::Sqrt(0)</CODE> to return <CODE>0x0000.0001</CODE>.
<LI>Updated in-source comments and produced <A HREF="documentation/modules.html">Doxygen generated documentation</A>.
</UL>

<HR class="navbarb">
<UL class="navbarb">
<LI><A HREF="../index.html">Home</A>
</UL>

<P class="valid"><A HREF="http://validator.w3.org/check?uri=referer">
<IMG SRC="../valid-html401.png" ALT="Valid HTML 4.01 Strict" HEIGHT="31" WIDTH="88">
</A></P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -