Essentially, stream uses all of my memory (32GB) in about 20 seconds trying to read a small (1.4MB) RGB file.
The command of interest is the second stream command below. The first just identifies the source file, the second removes a raw, RGB strip, and the third tries to read that strip via stream. The original raw RGB file, out.raw, is sucessfully readable via display or convert, FYI.
Code: Select all
$ time identify 18005.tif
18005.tif TIFF 1543x1250 1543x1250+0+0 8-bit DirectClass 4.054mb
real 0m0.006s
user 0m0.000s
sys 0m0.008s
$ time stream -map rgb -storage-type char -extract 1543x256+0+0 18005.tif out.raw
real 0m0.087s
user 0m0.080s
sys 0m0.008s
$ time stream -depth 8 -size 1543x256 -map rgb -storage-type char -extract 1543x128+0+0 rgb:out.raw out2.raw
(locks up and uses all available memory)
^C
$ time identify -depth 8 -size 1543x256 rgb:out.raw
(locks up and uses all available memory)
Code: Select all
2009-02-09T21:01:43+00:00 0:01 0.010u 6.4.8 Exception stream[29483]: stream.c/GetVirtualPixelStream/687/Exception
Pixel cache is not open `out.raw'
I'm using the following technique to process large files:
- Extract a strip with stream
- Pipe the raw RGB output to convert
- Do some processing
- Write a new raw RGB strip