Changeset 1749


Ignore:
Timestamp:
11/06/06 09:24:31 (13 years ago)
Author:
melissa
Message:
  • Fixed a bug in RandomAccessStream
  • Tweaked native QuickTime reader to use RandomAccessStream
  • Tweaked AVI reader to handle RGB movies more efficiently
Location:
trunk/loci/formats
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/formats/RandomAccessStream.java

    r1721 r1749  
    389389    } 
    390390 
     391    if (dis != null) { 
     392      while (fp > (length() - dis.available())) { 
     393        dis.skipBytes((int) (fp - (length() - dis.available()))); 
     394      } 
     395    }   
     396 
    391397    if (dis != null && raf != null && 
    392398      afp + toRead < MAX_OVERHEAD && afp + toRead < raf.length()) 
  • trunk/loci/formats/in/AVIReader.java

    r1673 r1749  
    144144      } 
    145145      else { 
    146         byte b, g, r; 
     146        byte[] b = new byte[dwWidth * 3]; 
     147        in.read(b); 
    147148        for (int j=0; j<dwWidth; j++) { 
    148           b = (byte) in.read(); 
    149           g = (byte) in.read(); 
    150           r = (byte) in.read(); 
    151           rawData[rawOffset + j*3] = r; 
    152           rawData[rawOffset + j*3 + 1] = g; 
    153           rawData[rawOffset + j*3 + 2] = b; 
     149          rawData[rawOffset + j*3 + 2] = b[j*3]; 
     150          rawData[rawOffset + j*3 + 1] = b[j*3 + 1]; 
     151          rawData[rawOffset + j*3] = b[j*3 + 2]; 
    154152        } 
    155153      } 
  • trunk/loci/formats/in/QTReader.java

    r1718 r1749  
    177177 
    178178  /** Current file. */ 
    179   private RandomAccessFile in; 
     179  private RandomAccessStream in; 
    180180 
    181181  /** Flag indicating whether the current file is little endian. */ 
     
    558558  protected void initFile(String id) throws FormatException, IOException { 
    559559    super.initFile(id); 
    560     in = new RandomAccessFile(id, "r"); 
     560    in = new RandomAccessStream(id); 
    561561 
    562562    spork = true; 
     
    619619      File f = new File(getMappedId(base + ".qtr")); 
    620620      if (f.exists()) { 
    621         in = new RandomAccessFile(f.getAbsolutePath(), "r"); 
     621        in = new RandomAccessStream(f.getAbsolutePath()); 
    622622 
    623623        stripHeader(); 
     
    631631          base.substring(base.lastIndexOf(File.separator) + 1))); 
    632632        if (f.exists()) { 
    633           in = new RandomAccessFile(f.getAbsolutePath(), "r"); 
     633          in = new RandomAccessStream(f.getAbsolutePath()); 
    634634          stripHeader(); 
    635635          parse(0, 0, in.length()); 
     
    640640          f = new File(getMappedId(base + "/rsrc")); 
    641641          if (f.exists()) { 
    642             in = new RandomAccessFile(f.getAbsolutePath(), "r"); 
     642            in = new RandomAccessStream(f.getAbsolutePath()); 
    643643            stripHeader(); 
    644644            parse(0, 0, in.length()); 
     
    721721      if (atomSize < 0) { 
    722722        System.out.println("Invalid atom size : " + atomSize); 
     723      } 
     724 
     725      if (DEBUG) { 
     726        System.out.println("seeking to " + offset + "; atomType=" + atomType + 
     727          "; atomSize=" + atomSize); 
    723728      } 
    724729 
Note: See TracChangeset for help on using the changeset viewer.