LiVES 2.4.6

- Main Page
- Namespaces
- Data Structures
- Files

- File List
- Globals

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Data Structures | Macros | Typedefs | Enumerations | Functions
decplugin.h File Reference
`#include <inttypes.h>`
`#include <sys/types.h>`
`#include "../../../libweed/weed-palettes.h"`

Go to the source code of this file.

## Data Structures
struct | lives_clip_data_t

## Macros
#define | TRUE 1
#define | FALSE 0
#define | LIVES_SEEK_FAST (1<<0)
| good More...
#define | LIVES_SEEK_NEEDS_CALCULATION (1<<1)
| not so good More...
#define | LIVES_SEEK_QUALITY_LOSS (1<<2)
#define | SYNC_HINT_AUDIO_TRIM_START (1<<0)
#define | SYNC_HINT_AUDIO_PAD_START (1<<1)
#define | SYNC_HINT_AUDIO_TRIM_END (1<<2)
#define | SYNC_HINT_AUDIO_PAD_END (1<<3)
#define | SYNC_HINT_VIDEO_PAD_START (1<<4)
#define | SYNC_HINT_VIDEO_PAD_END (1<<5)
#define | get_le16int(p) (*(p+1)<<8 | *(p))
#define | get_le32int(p) ((get_le16int(p+2)<<16) | get_le16int(p))
#define | get_le64int(p) (int64_t)(((uint64_t)(get_le32int(p+4))<<32) | (uint64_t)(get_le32int(p)))
#define | MK_FOURCC(a, b, c, d) ((a<<24)|(b<<16)|(c<<8)|d)
#define | ABS(a) ((a)>=0.?(a):-(a))

## Typedefs
typedef int | boolean

## Enumerations
enum | lives_interlace_t { LIVES_INTERLACE_NONE =0, LIVES_INTERLACE_BOTTOM_FIRST =1, LIVES_INTERLACE_TOP_FIRST =2, LIVES_INTERLACE_NONE =0, LIVES_INTERLACE_BOTTOM_FIRST =1, LIVES_INTERLACE_TOP_FIRST =2 }
enum | LiVESMediaType { LIVES_MEDIA_TYPE_UNKNOWN =0, LIVES_MEDIA_TYPE_VIDEO, LIVES_MEDIA_TYPE_AUDIO, LIVES_MEDIA_TYPE_DATA }

## Functions
const char * | version (void)
lives_clip_data_t * | get_clip_data (const char *URI, lives_clip_data_t *)
boolean | get_frame (const lives_clip_data_t *, int64_t frame, int *rowstrides, int height, void **pixel_data)
| frame starts at 0 More...
void | clip_data_free (lives_clip_data_t *)
| free clip data - this should be called for each instance before unloading the module More...
const char * | module_check_init (void)
boolean | set_palette (lives_clip_data_t *)
int64_t | rip_audio (const lives_clip_data_t *, const char *fname, int64_t stframe, int64_t nframes, unsigned char **abuff)
boolean | rip_audio_sequential (const lives_clip_data_t *, const char *fname)
void | rip_audio_cleanup (const lives_clip_data_t *)
void | module_unload (void)
double | get_fps (const char *uri)

## Macro Definition Documentation

#define ABS | ( |  | a | ) | ((a)>=0.?(a):-(a))

#define FALSE 0

#define get_le16int | ( |  | p | ) | (*(p+1)<<8 | *(p))

#define get_le32int | ( |  | p | ) | ((get_le16int(p+2)<<16) | get_le16int(p))

#define get_le64int | ( |  | p | ) | (int64_t)(((uint64_t)(get_le32int(p+4))<<32) | (uint64_t)(get_le32int(p)))

#define LIVES_SEEK_FAST (1<<0)

good

#define LIVES_SEEK_NEEDS_CALCULATION (1<<1)

not so good

#define LIVES_SEEK_QUALITY_LOSS (1<<2)

#define MK_FOURCC | ( |  | a,
|  |  | b,
|  |  | c,
|  |  | d
| ) |  | ((a<<24)|(b<<16)|(c<<8)|d)

#define SYNC_HINT_AUDIO_PAD_END (1<<3)

#define SYNC_HINT_AUDIO_PAD_START (1<<1)

#define SYNC_HINT_AUDIO_TRIM_END (1<<2)

#define SYNC_HINT_AUDIO_TRIM_START (1<<0)

#define SYNC_HINT_VIDEO_PAD_END (1<<5)

#define SYNC_HINT_VIDEO_PAD_START (1<<4)

#define TRUE 1

## Typedef Documentation

typedef int boolean

## Enumeration Type Documentation

enum lives_interlace_t

Enumerator
LIVES_INTERLACE_NONE |
LIVES_INTERLACE_BOTTOM_FIRST |
LIVES_INTERLACE_TOP_FIRST |
LIVES_INTERLACE_NONE |
LIVES_INTERLACE_BOTTOM_FIRST |
LIVES_INTERLACE_TOP_FIRST |

enum LiVESMediaType

Enumerator
LIVES_MEDIA_TYPE_UNKNOWN |
LIVES_MEDIA_TYPE_VIDEO |
LIVES_MEDIA_TYPE_AUDIO |
LIVES_MEDIA_TYPE_DATA |

## Function Documentation

void clip_data_free | ( | lives_clip_data_t * |  | ) |

free clip data - this should be called for each instance before unloading the module

lives_clip_data_t* get_clip_data | ( | const char * | URI,
|  | lives_clip_data_t * |
| ) |  |

pass in NULL clip_data for the first call, subsequent calls (if the URI, current_clip or current_palette changes) should reuse the previous value. If URI or current_clip are invalid, clip_data will be freed and NULL returned.

plugin may or may not check current_palette to see if it is valid

double get_fps | ( | const char * | uri | ) |

boolean get_frame | ( | const lives_clip_data_t * | ,
|  | int64_t | frame,
|  | int * | rowstrides,
|  | int | height,
|  | void ** | pixel_data
| ) |  |

frame starts at 0

const char* module_check_init | ( | void |  | ) |

void module_unload | ( | void |  | ) |

int64_t rip_audio | ( | const lives_clip_data_t * | ,
|  | const char * | fname,
|  | int64_t | stframe,
|  | int64_t | nframes,
|  | unsigned char ** | abuff
| ) |  |

void rip_audio_cleanup | ( | const lives_clip_data_t * |  | ) |

boolean rip_audio_sequential | ( | const lives_clip_data_t * | ,
|  | const char * | fname
| ) |  |

boolean set_palette | ( | lives_clip_data_t * |  | ) |

const char* version | ( | void |  | ) |