Page MenuHomePhabricator

Use "-dispose background" to improve reassembly of GIFs with transparency
ClosedPublic

Authored by epriestley on Mar 13 2018, 4:07 PM.
Tags
None
Referenced Files
F15474656: D19214.diff
Sun, Apr 6, 11:08 AM
F15462929: D19214.diff
Tue, Apr 1, 7:01 PM
F15432051: D19214.id46012.diff
Mon, Mar 24, 3:57 PM
F15427784: D19214.diff
Sun, Mar 23, 4:00 PM
F15425238: D19214.id.diff
Sun, Mar 23, 3:26 AM
F15409518: D19214.id46012.diff
Wed, Mar 19, 4:38 AM
F15402233: D19214.id46011.diff
Mon, Mar 17, 9:29 PM
F15337445: D19214.diff
Sun, Mar 9, 5:55 AM
Subscribers
None

Details

Summary

Fixes T5741. We break GIFs apart with "-coalesce" which completely rasterizes each frame, but stitch them back together without specifying "-dispose".

This produces the default "-dispose none" behavior, which causes GIF frames to "pile up" if they contain transparency.

Instead, use "-dispose background" so that the previous frame is erased before each new frame is drawn.

Test Plan

See T5741 for additional details.

Diff Detail

Repository
rP Phabricator
Branch
dispose
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 19829
Build 26867: Run Core Tests
Build 26866: arc lint + arc unit