Skip navigation
ivanhoe90
Currently Being Moderated

Errors in PSD specification

Sep 24, 2013 5:39 PM

Tags: #read #format #psd #specification

Hello,

 

I am trying to make a program, which loads and parses PSD files. I am using this specification: http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/ from June 2013.

 

I have found many errors and incomplete things. The last problem I am stuck at is Virtual Memory Array List - http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#VirtualMe moryArrayLis

 

In docs, it says, that there is

 

4   Boolean indicating whether array is written

4   Length

4   Pixel depth: 1, 8 or 16

1   Compression mode of data to follow. 'Pat2' compression is zip.

Variable    Actual data based on parameters and compression

 

But all PSD files I have actually contain

 

4   Boolean indicating whether array is written

4   Length

4   Pixel depth: 1, 8 or 16

16  Rectangle for pattern (same rectangle is there twice + once for each pattern channel = five times!)

2   Pixel depth again, but as Short

1   Compression mode of data to follow. 'Pat2' compression is zip.

Variable    Actual data based on parameters and compression

Varialbe    Some random bytes of random length (20 ~ 200 bytes). No idea what is inside, what they are used for. About half of them are "continuous" zeros.

 

Can Adobe specify these data and update the document? I think those errors are there for years.

 
Replies
  • Currently Being Moderated
    Sep 25, 2013 11:50 AM   in reply to ivanhoe90

    I can take a look. Can you give Photoshop steps to create the file in question? Which version of Photoshop created the file? Did you try Toby's parser? Does it have issues with the file in question?

     

    http://telegraphics.com.au/sw/product/psdparse

     
    |
    Mark as:
  • Currently Being Moderated
    Oct 3, 2013 12:10 PM   in reply to ivanhoe90

    VMArrayList.PNGTry this version. The online update will come soon.

     
    |
    Mark as:
  • Currently Being Moderated
    Oct 3, 2013 12:28 PM   in reply to ivanhoe90

    Photshop code + parsing an actual file out of Photoshop CC. There should be no "extra" data. My guess is that you are not looking at number of channels + one for user mask + one for sheet mask. Make sure you loop number of channels + 2. Make sure you are skipping non written and no length arrays.

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points