FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
avisynth.c File Reference
#include "libavutil/internal.h"
#include "avformat.h"
#include "internal.h"
#include "libavcodec/internal.h"
#include <dlfcn.h>
#include "compat/avisynth/avxsynth_c.h"

Go to the source code of this file.

Data Structures

struct  AviSynthLibrary
 
struct  AviSynthContext
 

Macros

#define AVSC_NO_DECLSPEC
 
#define AVISYNTH_LIB   "libavxsynth.so"
 
#define LoadLibrary(x)   dlopen(x, RTLD_NOW | RTLD_GLOBAL)
 
#define GetProcAddress   dlsym
 
#define FreeLibrary   dlclose
 
#define avs_is_yv24(vi)   0
 
#define avs_is_yv16(vi)   0
 
#define avs_is_yv411(vi)   0
 
#define avs_is_y8(vi)   0
 
#define AVSC_DECLARE_FUNC(name)   name##_func name
 
#define LOAD_AVS_FUNC(name, continue_on_fail)
 

Functions

static av_cold void avisynth_atexit_handler (void)
 
static av_cold int avisynth_load_library (void)
 
static av_cold int avisynth_context_create (AVFormatContext *s)
 
static av_cold void avisynth_context_destroy (AviSynthContext *avs)
 
static int avisynth_create_stream_video (AVFormatContext *s, AVStream *st)
 
static int avisynth_create_stream_audio (AVFormatContext *s, AVStream *st)
 
static int avisynth_create_stream (AVFormatContext *s)
 
static int avisynth_open_file (AVFormatContext *s)
 
static void avisynth_next_stream (AVFormatContext *s, AVStream **st, AVPacket *pkt, int *discard)
 
static int avisynth_read_packet_video (AVFormatContext *s, AVPacket *pkt, int discard)
 
static int avisynth_read_packet_audio (AVFormatContext *s, AVPacket *pkt, int discard)
 
static av_cold int avisynth_read_header (AVFormatContext *s)
 
static int avisynth_read_packet (AVFormatContext *s, AVPacket *pkt)
 
static av_cold int avisynth_read_close (AVFormatContext *s)
 
static int avisynth_read_seek (AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
 

Variables

static const int avs_planes_packed [1] = {0}
 
static const int avs_planes_grey [1] = {AVS_PLANAR_Y}
 
static const int avs_planes_yuv [3] = {AVS_PLANAR_Y, AVS_PLANAR_U, AVS_PLANAR_V}
 
static AviSynthLibraryavs_library = NULL
 
static int avs_atexit_called = 0
 
static AviSynthContextavs_ctx_list = NULL
 
AVInputFormat ff_avisynth_demuxer
 

Macro Definition Documentation

#define AVSC_NO_DECLSPEC

Definition at line 27 of file avisynth.c.

#define AVISYNTH_LIB   "libavxsynth.so"

Definition at line 48 of file avisynth.c.

Referenced by avisynth_load_library().

#define LoadLibrary (   x)    dlopen(x, RTLD_NOW | RTLD_GLOBAL)

Definition at line 51 of file avisynth.c.

Referenced by avisynth_load_library().

#define GetProcAddress   dlsym

Definition at line 52 of file avisynth.c.

Referenced by w32thread_init().

#define FreeLibrary   dlclose

Definition at line 53 of file avisynth.c.

Referenced by avisynth_atexit_handler(), and avisynth_load_library().

#define avs_is_yv24 (   vi)    0

Definition at line 58 of file avisynth.c.

Referenced by avisynth_read_packet_video().

#define avs_is_yv16 (   vi)    0

Definition at line 59 of file avisynth.c.

Referenced by avisynth_read_packet_video().

#define avs_is_yv411 (   vi)    0

Definition at line 60 of file avisynth.c.

Referenced by avisynth_read_packet_video().

#define avs_is_y8 (   vi)    0

Definition at line 61 of file avisynth.c.

Referenced by avisynth_read_packet_video().

#define AVSC_DECLARE_FUNC (   name)    name##_func name

Definition at line 66 of file avisynth.c.

#define LOAD_AVS_FUNC (   name,
  continue_on_fail 
)
Value:
{ \
avs_library->name = (void*)GetProcAddress(avs_library->library, #name); \
if(!continue_on_fail && !avs_library->name) \
goto fail; \
}

Referenced by avisynth_load_library().

Function Documentation

static av_cold void avisynth_atexit_handler ( void  )
static

Definition at line 213 of file avisynth.c.

Referenced by avisynth_load_library().

static av_cold int avisynth_load_library ( void  )
static

Definition at line 118 of file avisynth.c.

Referenced by avisynth_context_create().

static av_cold int avisynth_context_create ( AVFormatContext s)
static

Definition at line 162 of file avisynth.c.

Referenced by avisynth_open_file().

static av_cold void avisynth_context_destroy ( AviSynthContext avs)
static

Definition at line 190 of file avisynth.c.

Referenced by avisynth_atexit_handler(), avisynth_open_file(), and avisynth_read_close().

static int avisynth_create_stream_video ( AVFormatContext s,
AVStream st 
)
static

Definition at line 228 of file avisynth.c.

Referenced by avisynth_create_stream().

static int avisynth_create_stream_audio ( AVFormatContext s,
AVStream st 
)
static

Definition at line 301 of file avisynth.c.

Referenced by avisynth_create_stream().

static int avisynth_create_stream ( AVFormatContext s)
static

Definition at line 333 of file avisynth.c.

Referenced by avisynth_open_file().

static int avisynth_open_file ( AVFormatContext s)
static

Definition at line 358 of file avisynth.c.

Referenced by avisynth_read_header().

static void avisynth_next_stream ( AVFormatContext s,
AVStream **  st,
AVPacket pkt,
int *  discard 
)
static

Definition at line 406 of file avisynth.c.

Referenced by avisynth_read_packet().

static int avisynth_read_packet_video ( AVFormatContext s,
AVPacket pkt,
int  discard 
)
static

Definition at line 422 of file avisynth.c.

Referenced by avisynth_read_packet().

static int avisynth_read_packet_audio ( AVFormatContext s,
AVPacket pkt,
int  discard 
)
static

Definition at line 505 of file avisynth.c.

Referenced by avisynth_read_packet().

static av_cold int avisynth_read_header ( AVFormatContext s)
static

Definition at line 567 of file avisynth.c.

static int avisynth_read_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 583 of file avisynth.c.

static av_cold int avisynth_read_close ( AVFormatContext s)
static

Definition at line 613 of file avisynth.c.

static int avisynth_read_seek ( AVFormatContext s,
int  stream_index,
int64_t  timestamp,
int  flags 
)
static

Definition at line 622 of file avisynth.c.

Variable Documentation

const int avs_planes_packed[1] = {0}
static

Definition at line 104 of file avisynth.c.

Referenced by avisynth_create_stream_video().

const int avs_planes_grey[1] = {AVS_PLANAR_Y}
static

Definition at line 105 of file avisynth.c.

Referenced by avisynth_create_stream_video().

const int avs_planes_yuv[3] = {AVS_PLANAR_Y, AVS_PLANAR_U, AVS_PLANAR_V}
static

Definition at line 106 of file avisynth.c.

Referenced by avisynth_create_stream_video().

AviSynthLibrary* avs_library = NULL
static

Definition at line 110 of file avisynth.c.

int avs_atexit_called = 0
static

Definition at line 111 of file avisynth.c.

Referenced by avisynth_atexit_handler(), and avisynth_context_destroy().

AviSynthContext* avs_ctx_list = NULL
static
AVInputFormat ff_avisynth_demuxer
Initial value:
= {
.name = "avisynth",
.long_name = NULL_IF_CONFIG_SMALL("AviSynth script"),
.priv_data_size = sizeof(AviSynthContext),
.extensions = "avs",
}

Definition at line 656 of file avisynth.c.