Open and export a linear DNG too large for one texture
A 22927×8966 Lightroom panorama opened as its embedded preview with develop withheld, because no texture could hold it. DevelopSession now opens a linear DNG past PROXY_EDGE (8192) on a box-reduced copy, and keeps the full resolution on the CPU. The canvas at fit, the thumbnail, the histograms and the masks work from the copy; a render finer than it — the canvas zoomed in, a tile of the export — samples a window cut from the full resolution, kept while the view stays inside it. The export renders in halo-grown tiles of 4096 and assembles them. On the panorama: decode 1.6 s, open 210 ms, canvas 37 ms, a zoomed window 130 ms, the full-size export 5.9 s.
This commit is contained in:
+1
-1
@@ -366,7 +366,7 @@ fn open_pixels(
|
||||
decoder
|
||||
.decode(bytes)
|
||||
.map_err(|e| e.to_string())
|
||||
.and_then(|raw| DevelopSession::open(ctx, &raw, orientation))
|
||||
.and_then(|raw| DevelopSession::open_owned(ctx, raw, orientation))
|
||||
}
|
||||
|
||||
/// Collect displayable images from file or directory arguments.
|
||||
|
||||
Reference in New Issue
Block a user