lib/gif/src/root.zig
daab053ee43316e1809a84551d573ddd1e5bf3d2
1 //! Animated image processing requires managing cumulative canvas state without
2 //! unbounded reallocation. Gif separates planning from execution to preallocate
3 //! exact storage bounds for decoding and encoding.
4 //!
5 //! Decoding composites successive frames onto a retained canvas according to
6 //! disposal modes. Decoded frame slices borrow decoder storage and remain valid
7 //! only until storage reset. Encoding applies lossy palette quantization and
8 //! binary alpha thresholds to convert continuous color frames.
9
10 const decode = @import("decode/root.zig");
11 const encode = @import("encode/root.zig");
12
13 pub const signature = decode.signature;
14 pub const DecodeBounds = decode.Bounds;
15 pub const DecodePlan = decode.Plan;
16 pub const DecodeLimits = decode.Limits;
17 pub const DecodeCapacity = decode.Capacity;
18 pub const DecodeStorage = decode.Storage;
19 pub const DecodeStatus = decode.Status;
20 pub const DecodeExhaustion = decode.Exhaustion;
21 pub const Animation = decode.Animation;
22 pub const Frame = decode.Frame;
23 pub const Error = decode.Error;
24 pub const animationFromBytes = decode.animationFromBytes;
25
26 pub const AnimationView = encode.AnimationView;
27 pub const FrameView = encode.FrameView;
28 pub const EncodeBounds = encode.Bounds;
29 pub const EncodePlan = encode.Plan;
30 pub const EncodeLimits = encode.Limits;
31 pub const EncodeCapacity = encode.Capacity;
32 pub const EncodeStorage = encode.Storage;
33 pub const EncodeStatus = encode.Status;
34 pub const EncodeExhaustion = encode.Exhaustion;
35 pub const EncodeScratch = encode.Scratch;
36 pub const EncodeError = encode.Error;
37 pub const bytesFromAnimation = encode.bytesFromAnimation;