Skip to content

PNG Lossless compression - #61

Open
satishontrack wants to merge 3 commits into
cvg:mainfrom
constructn-corp:main
Open

satishontrack wants to merge 3 commits into
cvg:mainfrom
constructn-corp:main

Conversation

@satishontrack

Copy link
Copy Markdown

Summary

Panorama projection saves each rendered pinhole view with PIL's default PNG level (6), and that encoding dominates the step. This switches to compress_level=1, which is still lossless.

Measurements

Sample of 60 panoramas from a 4096×2048 360 video(3 views each), run through prepare_panorama_capture:

level 6 (before) level 1 (after)
Time per panorama 1.56 s 0.48 s
Projected for 1,252 panoramas ~32 min (measured 31 min in a full run) ~10 min
Size per view 1,498 KB 1,628 KB (+9%)
Pixel differences – 0 / 180 views

satishontrack and others added 3 commits November 11, 2026 18:24
PIL's default PNG level (6) dominated panorama projection time. Level 1
is still lossless and encodes ~3.2x faster end-to-end (1.56 -> 0.48 s per
4096x2048 panorama, 3 views) for ~9% larger files. Rendered pixels are
identical (0/180 views differ on a 60-panorama sample).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-level

Render panorama views with PNG compress_level=1

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant