add source code that does not have location annotations.
[IRC.git] / Robust / src / Benchmarks / SSJava / MP3Decoder / LayerIIIDecoder.java
index 3936ca16d5e2505fbc0c68942929e331ca864739..a5546321ece1b529c4a4a9b7f8251cc2eb6cd601 100644 (file)
@@ -32,8 +32,6 @@
  *----------------------------------------------------------------------
  */
 
-
-
 /**
  * Class Implementing Layer 3 Decoder.
  * 
@@ -487,6 +485,9 @@ final class LayerIIIDecoder implements FrameDecoder {
     SSJAVA.arrayinit(scalefac_buffer, 0);
     SSJAVA.arrayinit(nonzero, 576);
     SSJAVA.arrayinit(new_slen, 0);
+
+    SSJAVA.arrayinit(raw_full, 2, SBLIMIT * SSLIMIT, 0);
+    SSJAVA.arrayinit(rawout, 0);
     CheckSumHuff = 0;
     // prevblck = new float[2][SBLIMIT * SSLIMIT];
     si = new III_side_info_t();
@@ -514,15 +515,11 @@ final class LayerIIIDecoder implements FrameDecoder {
     @LOC("THIS,LayerIIIDecoder.HD1") int version = header.version();
 
     // additional codes for the definitely written property
-    filter_pos = (filter_pos + 4) & 0xf;
+    filter_pos = (header.getIdx() * 4) & 0xf;
     filter1.vidx = 1;
     filter2.vidx = 1;
     filter1.actual_write_pos = filter_pos;
     filter2.actual_write_pos = filter_pos;
-    //
-
-    // System.out.println("filter1="+filter1.vidx+" "+filter1.actual_write_pos);
-    // System.out.println("filter1="+filter2.vidx+" "+filter2.actual_write_pos);
 
     // here 'gr' and 'max_gr' should be higher than 'ch','channels', and more
     for (gr = 0; gr < max_gr; gr++) { // two granules per channel
@@ -624,10 +621,12 @@ final class LayerIIIDecoder implements FrameDecoder {
       } // channels
 
       // TODO
-      // init prev
-      SSJAVA.arrayinit(prevblck, 2, SBLIMIT * SSLIMIT, 0);
-      // copy from raw_full to prev
-      SSJAVA.arraycopy(prevblck, raw_full, 2, SBLIMIT * SSLIMIT);
+      if (gr < max_gr - 1) {
+        // init prev
+        SSJAVA.arrayinit(prevblck, 2, SBLIMIT * SSLIMIT, 0);
+        // copy from raw_full to prev
+        SSJAVA.arraycopy(prevblck, raw_full, 2, SBLIMIT * SSLIMIT);
+      }
       // for (int chidx = 0; chidx < 2; chidx++) {
       // for (int sidx = 0; sidx < SBLIMIT * SSLIMIT; sidx++) {
       // prevblck[chidx][sidx] = raw_full[chidx][sidx];
@@ -637,6 +636,12 @@ final class LayerIIIDecoder implements FrameDecoder {
       // filter1.actual_write_pos);
     } // granule
 
+    // TODO
+    // init prev
+    SSJAVA.arrayinit(prevblck, 2, SBLIMIT * SSLIMIT, 0);
+    // copy from raw_full to prev
+    SSJAVA.arraycopy(prevblck, raw_full, 2, SBLIMIT * SSLIMIT);
+
     // System.out.println("#END FRAME actual_write_pos=" +
     // filter1.actual_write_pos);
 
@@ -646,7 +651,7 @@ final class LayerIIIDecoder implements FrameDecoder {
     // System.out.println("Counter = ................................."+counter);
     // if (counter < 609)
     // {
-    counter++; // count should be loc*
+    // counter++; // count should be loc*
     // buffer.write_buffer(1); // buffer!!!
     // }
     // else if (counter == 609)
@@ -699,8 +704,7 @@ final class LayerIIIDecoder implements FrameDecoder {
           si.ch[ch].gr[gr].big_values = sib.get_bits(9);
           si.ch[ch].gr[gr].global_gain = sib.get_bits(8);
           si.ch[ch].gr[gr].scalefac_compress = sib.get_bits(4);
-          @LOC("THIS,LayerIIIDecoder.SI,III_side_info_t.TEMP") int cond =
-              sib.get_bits(1);
+          @LOC("THIS,LayerIIIDecoder.SI,III_side_info_t.TEMP") int cond = sib.get_bits(1);
           // si.ch[ch].gr[gr].window_switching_flag = sib.get_bits(1);
           // if ((si.ch[ch].gr[gr].window_switching_flag) != 0) {
           if (cond != 0) {
@@ -758,8 +762,7 @@ final class LayerIIIDecoder implements FrameDecoder {
         si.ch[ch].gr[0].global_gain = sib.get_bits(8);
         si.ch[ch].gr[0].scalefac_compress = sib.get_bits(9);
 
-        @LOC("THIS,LayerIIIDecoder.SI,III_side_info_t.TEMP") int cond =
-            sib.get_bits(1);
+        @LOC("THIS,LayerIIIDecoder.SI,III_side_info_t.TEMP") int cond = sib.get_bits(1);
         // si.ch[ch].gr[0].window_switching_flag = sib.get_bits(1);
         // if ((si.ch[ch].gr[0].window_switching_flag) != 0) {
         if (cond != 0) {
@@ -1817,7 +1820,6 @@ final class LayerIIIDecoder implements FrameDecoder {
         && !(si.ch[ch].gr[gr].mixed_block_flag != 0))
       return;
 
-     
     if ((si.ch[ch].gr[gr].window_switching_flag != 0) && (si.ch[ch].gr[gr].mixed_block_flag != 0)
         && (si.ch[ch].gr[gr].block_type == 2)) {
       sb18lim = 18;
@@ -2391,7 +2393,6 @@ final class LayerIIIDecoder implements FrameDecoder {
   // This may be adjusted for performance without any problems.
   // public static final int POW_TABLE_LIMIT=512;
 
-
   private static final int slen[][] = { { 0, 0, 0, 0, 3, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4 },
       { 0, 1, 2, 3, 0, 1, 2, 3, 1, 2, 3, 1, 2, 3, 2, 3 } };
 
@@ -2842,134 +2843,131 @@ final class LayerIIIDecoder implements FrameDecoder {
 
 }
 
+/************************************************************/
+/* L3TABLE */
+/************************************************************/
 
+@LATTICE("N<VAR")
+class SBI {
+  @LOC("VAR")
+  public int[] l;
+  @LOC("VAR")
+  public int[] s;
 
+  public SBI() {
+    l = new int[23];
+    s = new int[14];
+  }
 
-  /************************************************************/
-  /* L3TABLE */
-  /************************************************************/
-
-  @LATTICE("N<VAR")
-   class SBI {
-    @LOC("VAR")
-    public int[] l;
-    @LOC("VAR")
-    public int[] s;
+  @LATTICE("THIS<IN,THISLOC=THIS")
+  public SBI(@DELEGATE @LOC("IN") int[] thel, @DELEGATE @LOC("IN") int[] thes) {
+    l = thel;
+    s = thes;
+  }
+}
 
-    public SBI() {
-      l = new int[23];
-      s = new int[14];
-    }
+@LATTICE("V,V*")
+class gr_info_s {
+  @LOC("V")
+  public int part2_3_length = 0;
+  @LOC("V")
+  public int big_values = 0;
+  @LOC("V")
+  public int global_gain = 0;
+  @LOC("V")
+  public int scalefac_compress = 0;
+  @LOC("V")
+  public int window_switching_flag = 0;
+  @LOC("V")
+  public int block_type = 0;
+  @LOC("V")
+  public int mixed_block_flag = 0;
+  @LOC("V")
+  public int[] table_select;
+  @LOC("V")
+  public int[] subblock_gain;
+  @LOC("V")
+  public int region0_count = 0;
+  @LOC("V")
+  public int region1_count = 0;
+  @LOC("V")
+  public int preflag = 0;
+  @LOC("V")
+  public int scalefac_scale = 0;
+  @LOC("V")
+  public int count1table_select = 0;
 
-    @LATTICE("THIS<IN,THISLOC=THIS")
-    public SBI(@DELEGATE @LOC("IN") int[] thel, @DELEGATE @LOC("IN") int[] thes) {
-      l = thel;
-      s = thes;
-    }
+  /**
+   * Dummy Constructor
+   */
+  public gr_info_s() {
+    table_select = new int[3];
+    subblock_gain = new int[3];
   }
+}
 
-  @LATTICE("V,V*")
-   class gr_info_s {
-    @LOC("V")
-    public int part2_3_length = 0;
-    @LOC("V")
-    public int big_values = 0;
-    @LOC("V")
-    public int global_gain = 0;
-    @LOC("V")
-    public int scalefac_compress = 0;
-    @LOC("V")
-    public int window_switching_flag = 0;
-    @LOC("V")
-    public int block_type = 0;
-    @LOC("V")
-    public int mixed_block_flag = 0;
-    @LOC("V")
-    public int[] table_select;
-    @LOC("V")
-    public int[] subblock_gain;
-    @LOC("V")
-    public int region0_count = 0;
-    @LOC("V")
-    public int region1_count = 0;
-    @LOC("V")
-    public int preflag = 0;
-    @LOC("V")
-    public int scalefac_scale = 0;
-    @LOC("V")
-    public int count1table_select = 0;
-
-    /**
-     * Dummy Constructor
-     */
-    public gr_info_s() {
-      table_select = new int[3];
-      subblock_gain = new int[3];
-    }
-  }
+@LATTICE("GR2<GR1,GR1<GR,GR2*")
+class temporaire {
+  @LOC("GR")
+  public int[] scfsi;
+  @LOC("GR")
+  public gr_info_s[] gr;
 
-  @LATTICE("GR2<GR1,GR1<GR,GR2*")
-   class temporaire {
-    @LOC("GR")
-    public int[] scfsi;
-    @LOC("GR")
-    public gr_info_s[] gr;
-
-    /**
-     * Dummy Constructor
-     */
-    public temporaire() {
-      scfsi = new int[4];
-      gr = new gr_info_s[2];
-      gr[0] = new gr_info_s();
-      gr[1] = new gr_info_s();
-    }
+  /**
+   * Dummy Constructor
+   */
+  public temporaire() {
+    scfsi = new int[4];
+    gr = new gr_info_s[2];
+    gr[0] = new gr_info_s();
+    gr[1] = new gr_info_s();
   }
+}
 
-  @LATTICE("CH<TEMP,TEMP*")
-   class III_side_info_t {
-
-    @LOC("CH")
-    public int main_data_begin = 0;
-    @LOC("CH")
-    public int private_bits = 0;
-    @LOC("CH")
-    public temporaire[] ch;
-
-    /**
-     * Dummy Constructor
-     */
-    public III_side_info_t() {
-      ch = new temporaire[2];
-      ch[0] = new temporaire();
-      ch[1] = new temporaire();
-    }
+@LATTICE("CH<TEMP,TEMP*")
+class III_side_info_t {
+
+  @LOC("CH")
+  public int main_data_begin = 0;
+  @LOC("CH")
+  public int private_bits = 0;
+  @LOC("CH")
+  public temporaire[] ch;
+
+  /**
+   * Dummy Constructor
+   */
+  public III_side_info_t() {
+    ch = new temporaire[2];
+    ch[0] = new temporaire();
+    ch[1] = new temporaire();
   }
+}
 
-  @LATTICE("N<VAR")
-   class temporaire2 {
-    @LOC("VAR")
-    public int[] l; /* [cb] */
-    @LOC("VAR")
-    public int[][] s; /* [window][cb] */
-
-    /**
-     * Dummy Constructor
-     */
-    public temporaire2() {
-      l = new int[23];
-      s = new int[3][13];
-    }
+@LATTICE("N<VAR")
+class temporaire2 {
+  @LOC("VAR")
+  public int[] l; /* [cb] */
+  @LOC("VAR")
+  public int[][] s; /* [window][cb] */
+
+  /**
+   * Dummy Constructor
+   */
+  public temporaire2() {
+    l = new int[23];
+    s = new int[3][13];
   }
+}
 
-  // class III_scalefac_t
-  // {
-  // public temporaire2[] tab;
-  // /**
-  // * Dummy Constructor
-  // */
-  // public III_scalefac_t()
-  // {
-  // tab = new temporaire2[2];
-  // }
-  // }
+// class III_scalefac_t
+// {
+// public temporaire2[] tab;
+// /**
+// * Dummy Constructor
+// */
+// public III_scalefac_t()
+// {
+// tab = new temporaire2[2];
+// }
+// }