Changeset 2981


Ignore:
Timestamp:
07/16/07 08:44:46 (13 years ago)
Author:
melissa
Message:

Fixed to ignore audio tracks and all but the first video track.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/formats/in/QTReader.java

    r2976 r2981  
    157157    boolean doLegacy = useLegacy; 
    158158    if (!doLegacy && !code.equals("raw ") && !code.equals("rle ") && 
    159       !code.equals("jpeg") && !code.equals("mjpb") && !code.equals("rpza")) 
     159      !code.equals("jpeg") && !code.equals("mjpb") && !code.equals("rpza"))  
    160160    { 
    161161      if (debug) { 
     
    271271    boolean doLegacy = useLegacy; 
    272272    if (!doLegacy && !code.equals("raw ") && !code.equals("rle ") && 
    273       !code.equals("jpeg") && !code.equals("mjpb") && !code.equals("rpza")) 
     273      !code.equals("jpeg") && !code.equals("mjpb") && !code.equals("rpza"))  
    274274    { 
    275275      if (debug) { 
     
    322322 
    323323    core.imageCount[0] = offsets.size(); 
     324    if (chunkSizes.size() < core.imageCount[0]) { 
     325      core.imageCount[0] = chunkSizes.size(); 
     326    } 
    324327 
    325328    status("Populating metadata"); 
     
    529532          flip = matrix[0][0] == 0 && matrix[1][0] != 0; 
    530533 
    531           core.sizeX[0] = in.readInt(); 
    532           core.sizeY[0] = in.readInt(); 
     534          if (core.sizeX[0] == 0) core.sizeX[0] = in.readInt(); 
     535          if (core.sizeY[0] == 0) core.sizeY[0] = in.readInt(); 
    533536        } 
    534537        else if (atomType.equals("cmov")) { 
     
    567570          // we've found the plane offsets 
    568571 
     572          if (offsets.size() > 0) break; 
    569573          spork = false; 
    570574          in.readInt(); 
     
    592596          // found video codec and pixel depth information 
    593597 
    594           in.readInt(); 
     598          in.readInt();  
    595599          int numEntries = in.readInt(); 
    596           in.readInt(); 
     600          in.readInt();  
    597601 
    598602          for (int i=0; i<numEntries; i++) { 
    599603            if (i == 0) { 
    600604              codec = in.readString(4); 
    601               in.skipBytes(74); 
    602  
    603               bitsPerPixel = in.readShort(); 
    604               if (codec.equals("rpza")) bitsPerPixel = 8; 
    605               in.readShort(); 
    606               in.readDouble(); 
    607               int fieldsPerPlane = in.read(); 
    608               interlaced = fieldsPerPlane == 2; 
    609               addMeta("Codec", codec); 
    610               addMeta("Bits per pixel", new Integer(bitsPerPixel)); 
    611               in.readDouble(); 
    612               in.read(); 
     605              in.skipBytes(16); 
     606              if (in.readShort() == 0) { 
     607                in.skipBytes(56);  
     608 
     609                bitsPerPixel = in.readShort(); 
     610                if (codec.equals("rpza")) bitsPerPixel = 8; 
     611                in.readShort(); 
     612                in.readDouble(); 
     613                int fieldsPerPlane = in.read(); 
     614                interlaced = fieldsPerPlane == 2; 
     615                addMeta("Codec", codec); 
     616                addMeta("Bits per pixel", new Integer(bitsPerPixel)); 
     617                in.readDouble(); 
     618                in.read(); 
     619              }  
    613620            } 
    614621            else { 
Note: See TracChangeset for help on using the changeset viewer.