The skippy-renderer Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The skippy-renderer Reference Manual

This is the skippy-renderer Reference Manual, generated automatically by Declt version 3.0 "Montgomery Scott" on Fri Jun 26 12:15:11 2020 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

SKIPPY/RENDERER

This is a GIF renderer for SKIPPY.

Reason

The issue of rendering a GIF file is that every single GIF frame can - for compression purposes - only update a single part of the resulting image. For instance, the first frame can be 100x100px, but the second frame can be 4x4 and only update a part that is 20px from the top and 84px from the left. The third frame can again be 40x40 and update a yet different part of the image, the fourth frame can reverse the effects of the third frame, etc., etc.. This is why, even if you have the GIF frames alone, it is non-trivial to get a series of 100x100 images ARGB that you can then convert e.g. into a video file.

SKIPPY-RENDERER is a library existing to solve this very problem. No matter what the original frames of the image look like, the RENDER function gives you a "decompressed" series of 100x100px ARGB frames that you can then e.g. encode into a different file format.

My personal use case for this library: converting GIF animations into another file format that required raw ARGB data for each frame.

Interface

The only exported function is RENDER which accepts a SKIPPY data stream and a BYTE-ORDER keyword argument that states the endianness of bytes in the resulting vector (ARGB or BGRA). It returns three values - a list of vectors containing ARGB data in row-major order, a list of integer values for frame delays in milliseconds, and a list containing three values: image width, image height and a boolean signifying if the GIF should loop.

CL-USER> (skippy:load-data-stream "~/Downloads/cat_picture.gif")
#<SKIPPY::DATA-STREAM geometry 100x100, 5 images {100D53C843}>
CL-USER> (skippy-renderer:render *)
(#(0 0 0 0 0 ...)
 ...)
(3 3 3 3 3)
(100 100 T)

License

MIT, or whatever the original SKIPPY is licensed under.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 skippy-renderer

Author

Michał "phoe" Herda

License

MIT

Description

GIF renderer for SKIPPY

Dependency

skippy

Source

skippy-renderer.asd (file)

Component

skippy-renderer.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 skippy-renderer.asd

Location

skippy-renderer.asd

Systems

skippy-renderer (system)


Previous: , Up: Lisp files   [Contents][Index]

3.1.2 skippy-renderer/skippy-renderer.lisp

Parent

skippy-renderer (system)

Location

skippy-renderer.lisp

Packages

skippy-renderer

Exported Definitions

render (function)

Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 skippy-renderer

Source

skippy-renderer.lisp (file)

Use List
Exported Definitions

render (function)

Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Functions

Function: render DATA-STREAM &key BYTE-ORDER

Given a GIF data stream, returns a rendered image.

The BYTE-ORDER keyword argument is one of :ARGB or :BGRA. It states the order of bytes in the resulting vectors.

Three values are returned.
The first value is a list of vectors containing resulting ARGB data in row-first order and each second element
The second value is a list of integer values for the frame delays in milliseconds.
The third value is a list of three values: image width, image height and a generalized boolean signifying if the GIF should loop.

Package

skippy-renderer

Source

skippy-renderer.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Functions

Function: index-argb COLOR-TABLE INDEX TRANSPARENCY-INDEX
Package

skippy-renderer

Source

skippy-renderer.lisp (file)

Function: index-bgra COLOR-TABLE INDEX TRANSPARENCY-INDEX
Package

skippy-renderer

Source

skippy-renderer.lisp (file)

Function: render-image-to-frame FRAME FRAME-WIDTH IMAGE COLOR-TABLE &key BYTE-ORDER
Package

skippy-renderer

Source

skippy-renderer.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   S  
Index Entry  Section

F
File, Lisp, skippy-renderer.asd: The skippy-renderer․asd file
File, Lisp, skippy-renderer/skippy-renderer.lisp: The skippy-renderer/skippy-renderer․lisp file

L
Lisp File, skippy-renderer.asd: The skippy-renderer․asd file
Lisp File, skippy-renderer/skippy-renderer.lisp: The skippy-renderer/skippy-renderer․lisp file

S
skippy-renderer.asd: The skippy-renderer․asd file
skippy-renderer/skippy-renderer.lisp: The skippy-renderer/skippy-renderer․lisp file

Jump to:   F   L   S  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   F   I   R  
Index Entry  Section

F
Function, index-argb: Internal functions
Function, index-bgra: Internal functions
Function, render: Exported functions
Function, render-image-to-frame: Internal functions

I
index-argb: Internal functions
index-bgra: Internal functions

R
render: Exported functions
render-image-to-frame: Internal functions

Jump to:   F   I   R  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables


Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   P   S  
Index Entry  Section

P
Package, skippy-renderer: The skippy-renderer package

S
skippy-renderer: The skippy-renderer system
skippy-renderer: The skippy-renderer package
System, skippy-renderer: The skippy-renderer system

Jump to:   P   S