Open Broadcaster Software
Free, open source software for live streaming and recording
libnsgif.h File Reference

Go to the source code of this file.

Data Structures

struct  gif_frame
 
struct  gif_bitmap_callback_vt
 
struct  gif_animation
 

Macros

#define GIF_MAX_LZW   12
 

Typedefs

typedef struct gif_frame gif_frame
 
typedef void *(* gif_bitmap_cb_create) (int width, int height)
 
typedef void(* gif_bitmap_cb_destroy) (void *bitmap)
 
typedef unsigned char *(* gif_bitmap_cb_get_buffer) (void *bitmap)
 
typedef void(* gif_bitmap_cb_set_opaque) (void *bitmap, bool opaque)
 
typedef bool(* gif_bitmap_cb_test_opaque) (void *bitmap)
 
typedef void(* gif_bitmap_cb_modified) (void *bitmap)
 
typedef struct gif_bitmap_callback_vt gif_bitmap_callback_vt
 
typedef struct gif_animation gif_animation
 

Enumerations

enum  gif_result {
  GIF_WORKING = 1, GIF_OK = 0, GIF_INSUFFICIENT_FRAME_DATA = -1, GIF_FRAME_DATA_ERROR = -2,
  GIF_INSUFFICIENT_DATA = -3, GIF_DATA_ERROR = -4, GIF_INSUFFICIENT_MEMORY = -5, GIF_FRAME_NO_DISPLAY = -6,
  GIF_END_OF_FRAME = -7
}
 

Functions

void gif_create (gif_animation *gif, gif_bitmap_callback_vt *bitmap_callbacks)
 
gif_result gif_initialise (gif_animation *gif, size_t size, unsigned char *data)
 
gif_result gif_decode_frame (gif_animation *gif, unsigned int frame)
 
void gif_finalise (gif_animation *gif)
 

Detailed Description

Progressive animated GIF file decoding (interface).

Macro Definition Documentation

§ GIF_MAX_LZW

#define GIF_MAX_LZW   12

Typedef Documentation

§ gif_animation

typedef struct gif_animation gif_animation

§ gif_bitmap_callback_vt

§ gif_bitmap_cb_create

typedef void*(* gif_bitmap_cb_create) (int width, int height)

§ gif_bitmap_cb_destroy

typedef void(* gif_bitmap_cb_destroy) (void *bitmap)

§ gif_bitmap_cb_get_buffer

typedef unsigned char*(* gif_bitmap_cb_get_buffer) (void *bitmap)

§ gif_bitmap_cb_modified

typedef void(* gif_bitmap_cb_modified) (void *bitmap)

§ gif_bitmap_cb_set_opaque

typedef void(* gif_bitmap_cb_set_opaque) (void *bitmap, bool opaque)

§ gif_bitmap_cb_test_opaque

typedef bool(* gif_bitmap_cb_test_opaque) (void *bitmap)

§ gif_frame

typedef struct gif_frame gif_frame

Enumeration Type Documentation

§ gif_result

enum gif_result
Enumerator
GIF_WORKING 
GIF_OK 
GIF_INSUFFICIENT_FRAME_DATA 
GIF_FRAME_DATA_ERROR 
GIF_INSUFFICIENT_DATA 
GIF_DATA_ERROR 
GIF_INSUFFICIENT_MEMORY 
GIF_FRAME_NO_DISPLAY 
GIF_END_OF_FRAME 

Function Documentation

§ gif_create()

void gif_create ( gif_animation gif,
gif_bitmap_callback_vt bitmap_callbacks 
)

§ gif_decode_frame()

gif_result gif_decode_frame ( gif_animation gif,
unsigned int  frame 
)

§ gif_finalise()

void gif_finalise ( gif_animation gif)

§ gif_initialise()

gif_result gif_initialise ( gif_animation gif,
size_t  size,
unsigned char *  data 
)