LiVES  2.8.9
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_tget_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

◆ ABS

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

◆ FALSE

#define FALSE   0

◆ get_le16int

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

◆ get_le32int

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

◆ get_le64int

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

◆ LIVES_SEEK_FAST

#define LIVES_SEEK_FAST   (1<<0)

good

◆ LIVES_SEEK_NEEDS_CALCULATION

#define LIVES_SEEK_NEEDS_CALCULATION   (1<<1)

not so good

◆ LIVES_SEEK_QUALITY_LOSS

#define LIVES_SEEK_QUALITY_LOSS   (1<<2)

◆ MK_FOURCC

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

◆ SYNC_HINT_AUDIO_PAD_END

#define SYNC_HINT_AUDIO_PAD_END   (1<<3)

◆ SYNC_HINT_AUDIO_PAD_START

#define SYNC_HINT_AUDIO_PAD_START   (1<<1)

◆ SYNC_HINT_AUDIO_TRIM_END

#define SYNC_HINT_AUDIO_TRIM_END   (1<<2)

◆ SYNC_HINT_AUDIO_TRIM_START

#define SYNC_HINT_AUDIO_TRIM_START   (1<<0)

◆ SYNC_HINT_VIDEO_PAD_END

#define SYNC_HINT_VIDEO_PAD_END   (1<<5)

◆ SYNC_HINT_VIDEO_PAD_START

#define SYNC_HINT_VIDEO_PAD_START   (1<<4)

◆ TRUE

#define TRUE   1

Typedef Documentation

◆ boolean

typedef int boolean

Enumeration Type Documentation

◆ 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 

◆ LiVESMediaType

Enumerator
LIVES_MEDIA_TYPE_UNKNOWN 
LIVES_MEDIA_TYPE_VIDEO 
LIVES_MEDIA_TYPE_AUDIO 
LIVES_MEDIA_TYPE_DATA 

Function Documentation

◆ clip_data_free()

void clip_data_free ( lives_clip_data_t )

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

◆ get_clip_data()

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

◆ get_fps()

double get_fps ( const char *  uri)

◆ get_frame()

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

frame starts at 0

◆ module_check_init()

const char* module_check_init ( void  )

◆ module_unload()

void module_unload ( void  )

◆ rip_audio()

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

◆ rip_audio_cleanup()

void rip_audio_cleanup ( const lives_clip_data_t )

◆ rip_audio_sequential()

boolean rip_audio_sequential ( const lives_clip_data_t ,
const char *  fname 
)

◆ set_palette()

boolean set_palette ( lives_clip_data_t )

◆ version()

const char* version ( void  )