ebe655592fdddc105abe75fc53daa28ec3d5914e
[platform/upstream/flac.git] / doc / developers.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2 <HTML>
3 <HEAD>
4         <TITLE>FLAC - developers</TITLE>
5 </HEAD>
6
7 <BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
8
9 <TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
10         <TR>
11                 <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo.jpg" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
12         </TR>
13 </TABLE>
14
15 <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
16
17 <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
18
19 <TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
20         <TR>
21                 <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
22                         <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
23                                 <TR>
24                                         <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="index.html">home</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
25                                         <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="news.html">news</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
26                                         <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="download.html">download</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
27                                         <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>
28                                         <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>
29                                         <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>
30                                         <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>
31                                         <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>
32                                         <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>
33                                         <TD           BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;developers&nbsp;&nbsp;</TD>
34                                 </TR>
35                         </TABLE>
36                 </TD>
37         </TR>
38 </TABLE>
39
40 <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
41
42 <CENTER>
43
44 <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
45
46
47 <TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
48 <TR><TD>
49         <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>
50         <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
51                 <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
52                 <B><FONT SIZE="+2">developers</FONT></B>
53                 </FONT></TD></TR>
54         </TABLE>
55         <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>
56         <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
57         <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
58         <P>
59                 FLAC is an open source project and we are happy to enlist the help of anyone who wants to contribute.  You can do this to a limited extent through the <A HREF="http://sourceforge.net/mail/?group_id=13478">mailing list</A> but if you have major changes to make to the code it's best to <A HREF="http://sourceforge.net/project/memberlist.php?group_id=13478">sign up as a developer</A>.  In either case, make sure to check out the <A HREF="goals.html">FLAC goals</A> first; there are some thing the we <B>don't</B> want added to FLAC, like copy protection and lossy compression.
60         </P>
61         <P>
62                 There are several areas that are especially important:
63         </P>
64         <P>
65         <UL>
66                 <LI>
67                         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.
68                 </LI>
69                 <LI>
70                         More input plugins.  Currently there are plugins for XMMS and Winamp.  More is better!
71                 </LI>
72                 <LI>
73                         Speeding up the encoding.  Encoding speed at average compression is still a little slower than I would like.  Improvements to the reference encoder that don't drastically obfuscate the code would be welcome.
74                 </LI>
75         </UL>
76         </P>
77         <P>
78                 Some other "nice-to-haves":
79         </P>
80         <P>
81         <UL>
82                 <LI>
83                         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.
84                 </LI>
85                 <LI>
86                         A faster seek algorithm in the file decoder.
87                 </LI>
88                 <LI>
89                         Fix the MSVC makefiles to make libFLAC.dll (instead of just the .lib).
90                 </LI>
91                 <LI>
92                         Configurable ID3V1 support and ID3V2 support in the plugins.
93                 </LI>
94                 <LI>
95                         Support more input types than just WAVE and raw in flac.
96                 </LI>
97                 <LI>
98                         A better logo!  Gimp jedi I'm not...
99                 </LI>
100         </UL>
101         </P>
102         </FONT>
103         </TD></TR>
104         </TABLE>
105         <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>
106 </TD></TR>
107 </TABLE>
108
109
110 </CENTER>
111
112 </BODY>
113 </HTML>