docs: private void readCompressedQT(final ImageInputStream pStream) throws IOException {
          int dataLength = pStream.readInt();
          long pos = pStream.getStreamPosition();
  
          int version = pStream.readUnsignedShort();
  
          if (DEBUG) {
              System.out.print("compressedQuickTime");
              System.out.println(", size: " + dataLength + ", version: " + version);
          }
  
          // Matrix
          int[] matrix = new int[9];
          for (int i = 0; i < matrix.length; i++) {
              matrix[i] = pStream.readInt();
          }
          if (DEBUG) {
              System.out.println(String.format("matrix: %s", Arrays.toString(matrix)));
          }
  
          // Matte
          long matteSize = pStream.readUnsignedInt();
          Rectangle matteRect = new Rectangle();
          readRectangle(pStream, matteRect);
  
          // Transfer mode
          int mode = pStream.readUnsignedShort();
  
          // Read the source rectangle
          Rectangle srcRect = new Rectangle();
          readRectangle(pStream, srcRect);
  
          // ...and more
          int accuracy = pStream.readInt();
          int maskSize = pStream.readInt();
  
          if (DEBUG) {
              System.out.print("matteSize: " + matteSize);
              System.out.print(", matteRect: " + matteRect);
              System.out.print(", mode: " + mode);
              System.out.print(", srcRect: " + srcRect);
              System.out.print(", accuracy: " + accuracy);
              System.out.println(", maskSize: " + maskSize);
          }
  
          BufferedImage image = QuickTime.decompress(pStream);
  
          if (image != null) {
              context.copyBits(image, srcRect, srcRect, mode, null);
  
              pStream.seek(pos + dataLength); // Might be word-align mismatch here
  
              // Skip "QuickTime™ and a ... decompressor required" text
              // NOTE: This algorithm is reverse-engineered by looking at various test inputs and not from any spec...
              int penSizeMagic = pStream.readInt();
              if (penSizeMagic == 0x000700ae) {           // OP_PN_SIZE + bogus x value..?
                  int skip = pStream.readUnsignedShort(); // bogus y value is the number of bytes to skip
                  pStream.skipBytes(skip);                // Following opcode should be a OP_PN_SIZE with real values
              }
              else {
                  pStream.seek(pos + dataLength);
              }
          }
          else {
              pStream.seek(pos + dataLength);
          }
      }