* @version 0.0.7 12/12/99\r
* @since 0.0.5\r
*/\r
-@LATTICE("ST,DE<OUT,DE<FIL,DE<LA,O,EQ,PA,INIT,DE*")\r
+@LATTICE("OUT<DE,DE<FILTER,FILTER<FACTORS,FACTORS<EQ,EQ<PARAM,PARAM<INIT")\r
+@METHODDEFAULT("THIS,THISLOC=THIS,RETURNLOC=THIS")\r
public class Decoder implements DecoderErrors {\r
+\r
static private final Params DEFAULT_PARAMS = new Params();\r
\r
/**\r
// @LOC("DE")\r
// private LayerIDecoder l1decoder;\r
\r
- @LOC("O")\r
+ @LOC("OUT")\r
private int outputFrequency;\r
- @LOC("O")\r
+ @LOC("OUT")\r
private int outputChannels;\r
\r
@LOC("EQ")\r
private Equalizer equalizer = new Equalizer();\r
\r
- @LOC("PA")\r
+ @LOC("PARAM")\r
private Params params;\r
\r
@LOC("INIT")\r
* \r
* @return A SampleBuffer containing the decoded samples.\r
*/\r
- @LATTICE("O<DE,DE<TH,TH<IN,THISLOC=TH")\r
- @RETURNLOC("O")\r
- public Obuffer decodeFrame(@LOC("IN") Header header) throws DecoderException {\r
+ @LATTICE("THIS<VAR,THISLOC=THIS,VAR*")\r
+ public void decodeFrame(@LOC("VAR") Header header) throws DecoderException {\r
\r
if (!initialized) {\r
- float scalefactor = 32700.0f;\r
+ @LOC("VAR") float scalefactor = 32700.0f;\r
\r
- int mode = header.mode();\r
- int layer = header.layer();\r
- int channels = mode == Header.SINGLE_CHANNEL ? 1 : 2;\r
+ @LOC("VAR") int mode = header.mode();\r
+ @LOC("VAR") int layer = header.layer();\r
+ @LOC("VAR") int channels = mode == Header.SINGLE_CHANNEL ? 1 : 2;\r
\r
// set up output buffer if not set up by client.\r
// if (output == null)\r
// output = new SampleBuffer(header.frequency(), channels);\r
SampleBufferWrapper.init(header.frequency(), channels);\r
\r
- float[] factors = equalizer.getBandFactors();\r
- SynthesisFilter filter1 = new SynthesisFilter(0, scalefactor, factors);\r
+ @LOC("THIS,Decoder.FACTORS") float[] factors = equalizer.getBandFactors();\r
+ @LOC("THIS,Decoder.FILTER") SynthesisFilter filter1 =\r
+ new SynthesisFilter(0, scalefactor, factors);\r
\r
// REVIEW: allow mono output for stereo\r
- SynthesisFilter filter2 = null;\r
+ @LOC("THIS,Decoder.FILTER") SynthesisFilter filter2 = null;\r
if (channels == 2) {\r
filter2 = new SynthesisFilter(1, scalefactor, factors);\r
}\r
initialized = true;\r
}\r
\r
- @LOC("TH") int layer = header.layer();\r
-\r
SampleBufferWrapper.getOutput().clear_buffer();\r
- // output.clear_buffer();\r
-\r
- // @LOC("DE,Decoder.DE") FrameDecoder decoder = retrieveDecoder(header,\r
- // stream, layer);\r
- // decoder.decodeFrame();\r
-\r
l3decoder.decodeFrame(header);\r
-\r
SampleBufferWrapper.getOutput().write_buffer(1);\r
- // output.write_buffer(1);\r
\r
- // return output;\r
}\r
\r
/**\r