openexr-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Openexr-devel] Combining Deep Images with a Shared Framebuffer


From: Ashley Whetter
Subject: [Openexr-devel] Combining Deep Images with a Shared Framebuffer
Date: Thu, 29 Jun 2017 00:35:14 +0100 (BST)

Hello all,

I'm trying to combine some deep exrs together and I'm having problem with 
IlmThread so I thought that I'd check that what I'm doing is valid.

I have multiple scanline "tile" images that each form a part of the final 
image. For example this output image is formed of 4 smaller images.
--------
|A | B |
--------
|C | D |
--------
A, B, C, and D are all deep scanline exrs. Their data windows do not overlap. 
I'm trying to combine these images together into the final image by sharing a 
framebuffer between all of the input images and the output image, to avoid 
having to copy from each input file into an intermediate buffer.
So in pseudo code this looks like:

foreach data_window.scanlines
    foreach input_files
        input_file.readPixelSampleCounts(scanline)
    end

    resizeSampleBuffers(sample_counts, buffers, sample_buffers)

    foreach input_files
        input_file.readPixels(scanline)
    end

    output_file.writePixels(1)
end

Is it valid to share frame buffers in this way for deep images? I'm doing 
something similar for regular scanline images and I'm having no issues. For 
deep images though I get an assertion error from IlmThread while reading the 
pixels of tile B (I'm guessing due to it being the same scanline as A) because 
one of the mutexes on a TaskGroup is getting destroyed while still being used.

Thanks,
Ashley


reply via email to

[Prev in Thread] Current Thread [Next in Thread]