minor change in S/W section
[flac.git] / doc / developers.html
index 3af524f..7bcf0eb 100644 (file)
@@ -1,4 +1,10 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!-- Copyright (c)  2000,2001  Josh Coalson -->
+<!-- Permission is granted to copy, distribute and/or modify this document -->
+<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
+<!-- or any later version published by the Free Software Foundation; -->
+<!-- with no invariant sections. -->
+<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
 <HTML>
 <HEAD>
        <TITLE>FLAC - developers</TITLE>
@@ -27,6 +33,7 @@
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="features.html">features</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="goals.html">goals</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="format.html">format</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
+                                       <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="id.html">id</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="comparison.html">comparison</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="documentation.html">documentation</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
                                        <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;developers&nbsp;&nbsp;</TD>
@@ -48,7 +55,7 @@
        <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
        <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
                <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
-               <B><FONT SIZE="+2">developers</FONT></B>
+               <B><FONT SIZE="+2">FLAC developers</FONT></B>
                </FONT></TD></TR>
        </TABLE>
        <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
        <P>
        <UL>
                <LI>
-                       Converging on the <A HREF="format.html">bitstream format</A>.  This is probably the single most important issue.
+                       Testing.  Since FLAC is still beta this is number 1.  If you are a lossless encoder you have to be absolutely lossless for all input.  The test suite has patterns that are designed to strain the encoder to the limit but more test cases would definitely help.
                </LI>
                <LI>
-                       Testing.  This is a close second, since if you are a lossless encoder you have to be absolutely lossless for all input.  The test suite has patterns that are designed to strain the encoder to the limit but more test cases would definitely help.
-               </LI>
-               <LI>
-                       Makefile fixups and code changes to work on more platforms.  Both libFLAC and flac are ANSI C and use only the standard C library and math library, meaning ports should not be that difficult.  Currently there is a GNU make system and makefiles for MSVC.
-               </LI>
-               <LI>
-                       More input plugins.  Currently there are plugins for XMMS and Winamp.  More is better!
-               </LI>
-               <LI>
-                       Speeding up the encoding.  Encoding speed at average compression is a little slower than I would like.  Improvements to the reference encoder that don't drastically obfuscate the code would be welcome.
+                       More input plugins.  Currently there are plugins for XMMS and Winamp; Freeamp is in the works.  More is better!
                </LI>
        </UL>
        </P>
        <P>
        <UL>
                <LI>
-                       Improving the compression methods.  Some suggestions: on the entropy coding side, try context-modeling the Rice paramter, using general Golomb coding and Huffman coding.  On the prediction side, try some other methods for determining the LP coefficients (covariance method, Marple, Burg), or explore other kinds of modeling.
-               </LI>
-               <LI>
-                       A faster seek algorithm in the file decoder.
-               </LI>
-               <LI>
-                       A stream analyzer that gives useful statistics for tuning or testing new algorithms.
+                       Improving the compression methods.
                </LI>
                <LI>
                        Fix the MSVC makefiles to make libFLAC.dll (instead of just the .lib).
                </LI>
                <LI>
-                       Clean up the Winamp2 plugin and/or write a Winamp3 one.
-               </LI>
-               <LI>
                        Configurable ID3V1 support and ID3V2 support in the plugins.
                </LI>
                <LI>
-                       Support more input types than just WAVE and raw in flac.
-               </LI>
-               <LI>
-                       Expand the test suite.
+                       Support more input types than just WAVE and raw in <TT><B>flac</B></TT>.
                </LI>
                <LI>
                        A better logo!  Gimp jedi I'm not...
 </TABLE>
 
 
+<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
+<TR><TD>
+       <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
+       <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
+               <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
+               <B><FONT SIZE="+2">third-party developers</FONT></B>
+               </FONT></TD></TR>
+       </TABLE>
+       <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
+       <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
+       <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
+       <P>
+               FLAC is open to third-party developers who want to add support for FLAC into their programs.  All the necessary functionality is contained the library libFLAC which is licensed under the <A HREF="http://www.gnu.org/copyleft/lesser.html">LGPL</A>.  The relevant documentation here is:
+               <UL>
+                       <LI>The <A HREF="documentation.html#libFLAC">libFLAC API documentation</A></LI>
+                       <LI>The <A HREF="format.html">formal description</A> of the FLAC format.</LI>
+                       <LI>The <A HREF="id.html">ID registration page</A> for registering an ID if you need to write custom metadata.</LI>
+               </UL>
+       </P>
+       <P>
+               There also are several examples in the FLAC code base of the use of libFLAC that may also be helpful.  Visit the <A HREF="download.html">download page</A> for instructions on how to get the source.
+       </P>
+       </FONT>
+       </TD></TR>
+       </TABLE>
+       <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
+</TD></TR>
+</TABLE>
+
+
 </CENTER>
 
+<P>&nbsp;Copyright (c) 2000,2001 Josh Coalson</P>
+
 </BODY>
 </HTML>