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

📄 index.html

📁 Tixys source code, include G.711, G.726, IMA-ADPCM etc.
💻 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 distibuted 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 arithmatic.
	</UL>
<LI><A HREF="#Forth">Forth</A>
	 - ANS Forth virtual machine.
<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 architecures.
</P>

<H3><A NAME="Fixed-Point Maths">Fixed-Point Maths</A></H3>
<P>
32 bit fixed-point maths implementation, including multiplication, division,
square-root, trigometric 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.
<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>
<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.
<P>
This code has been placed in the Public Domain.
<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>
</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>
<LI><A HREF="forth/search.f">forth/search.f</A>
</UL>

<HR>

<H2><A NAME="Changes">Changes</A></H2>
<P>
2005-08-20
<UL>
<LI>Added an implementation of an ANS <A HREF="#Forth">Forth</A> virtual machine.
</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 + -