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 "libavcodec/internal.h"
#include "avformat.h"
#include "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 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]
 
static AviSynthLibrary avs_library
 
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 43 of file avisynth.c.

Referenced by avisynth_load_library().

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

Definition at line 46 of file avisynth.c.

Referenced by avisynth_load_library(), and dxva2_alloc().

#define GetProcAddress   dlsym

Definition at line 47 of file avisynth.c.

Referenced by dxva2_alloc(), and w32thread_init().

#define FreeLibrary   dlclose

Definition at line 48 of file avisynth.c.

Referenced by avisynth_atexit_handler(), avisynth_load_library(), and dxva2_uninit().

#define AVSC_DECLARE_FUNC (   name)    name ## _func name

Definition at line 53 of file avisynth.c.

#define LOAD_AVS_FUNC (   name,
  continue_on_fail 
)
Value:
avs_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 196 of file avisynth.c.

Referenced by avisynth_load_library().

static av_cold int avisynth_load_library ( void  )
static

Definition at line 105 of file avisynth.c.

Referenced by avisynth_context_create().

static av_cold int avisynth_context_create ( AVFormatContext s)
static

Definition at line 144 of file avisynth.c.

Referenced by avisynth_open_file().

static av_cold void avisynth_context_destroy ( AviSynthContext avs)
static

Definition at line 172 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 211 of file avisynth.c.

Referenced by avisynth_create_stream().

static int avisynth_create_stream_audio ( AVFormatContext s,
AVStream st 
)
static

Definition at line 288 of file avisynth.c.

Referenced by avisynth_create_stream().

static int avisynth_create_stream ( AVFormatContext s)
static

Definition at line 324 of file avisynth.c.

Referenced by avisynth_open_file().

static int avisynth_open_file ( AVFormatContext s)
static

Definition at line 350 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 400 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 418 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 511 of file avisynth.c.

Referenced by avisynth_read_packet().

static av_cold int avisynth_read_header ( AVFormatContext s)
static

Definition at line 578 of file avisynth.c.

static int avisynth_read_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 595 of file avisynth.c.

static av_cold int avisynth_read_close ( AVFormatContext s)
static

Definition at line 625 of file avisynth.c.

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

Definition at line 635 of file avisynth.c.

Variable Documentation

const int avs_planes_packed[1] = { 0 }
static

Definition at line 90 of file avisynth.c.

Referenced by avisynth_create_stream_video().

const int avs_planes_grey[1] = { AVS_PLANAR_Y }
static

Definition at line 91 of file avisynth.c.

Referenced by avisynth_create_stream_video().

const int avs_planes_yuv[3]
static
Initial value:

Definition at line 92 of file avisynth.c.

Referenced by avisynth_create_stream_video().

AviSynthLibrary avs_library
static

Definition at line 97 of file avisynth.c.

int avs_atexit_called = 0
static

Definition at line 98 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 674 of file avisynth.c.