38 #ifndef __AVISYNTH_C__ 
   39 #define __AVISYNTH_C__ 
   51 #ifndef __AVISYNTH_6_H__ 
  299 #ifdef BUILDING_AVSCORE 
  301         IScriptEnvironment * env;
 
  304                 : env(e), 
error(0) {}
 
  336         { 
return (p->
width!=0); }
 
  403         { 
return ((p->
image_type & property)==property ); }
 
  483     unsigned x=numerator, y=denominator;
 
  485       unsigned t = x%y; x = y; y = t;
 
  491 #ifdef AVS_IMPLICIT_FUNCTION_DECLARATION_ERROR 
  542 #ifdef AVS_IMPLICIT_FUNCTION_DECLARATION_ERROR 
  559 #ifdef AVS_IMPLICIT_FUNCTION_DECLARATION_ERROR 
  568 #ifdef AVS_IMPLICIT_FUNCTION_DECLARATION_ERROR 
  577 #ifndef AVSC_NO_DECLSPEC 
  579   {avs_release_video_frame(f);}
 
  581   {
return avs_copy_video_frame(f);}
 
  663 #ifndef AVSC_NO_DECLSPEC 
  665         { 
AVS_Value v; avs_set_to_clip(&v, v0); 
return v; }
 
  798 #ifndef AVSC_NO_DECLSPEC 
  802   {
return avs_new_video_frame_a(env,vi,
FRAME_ALIGN);}
 
  807   {
return avs_new_video_frame_a(env,vi,
FRAME_ALIGN);}
 
  841 #ifdef AVSC_NO_DECLSPEC 
  855 typedef struct AVS_Library AVS_Library;
 
  857 #define AVSC_DECLARE_FUNC(name) name##_func name 
  944 #undef AVSC_DECLARE_FUNC 
  948   AVS_Library *library = (AVS_Library *)malloc(
sizeof(AVS_Library));
 
  951   library->handle = LoadLibrary(
"avisynth");
 
  952   if (library->handle == 
NULL)
 
  955 #define __AVSC_STRINGIFY(x) #x 
  956 #define AVSC_STRINGIFY(x) __AVSC_STRINGIFY(x) 
  957 #define AVSC_LOAD_FUNC(name) {\ 
  958   library->name = (name##_func) GetProcAddress(library->handle, AVSC_STRINGIFY(name));\ 
  959   if (library->name == NULL)\ 
  963   AVSC_LOAD_FUNC(avs_add_function);
 
  964   AVSC_LOAD_FUNC(avs_at_exit);
 
  965   AVSC_LOAD_FUNC(avs_bit_blt);
 
  966   AVSC_LOAD_FUNC(avs_check_version);
 
  967   AVSC_LOAD_FUNC(avs_clip_get_error);
 
  968   AVSC_LOAD_FUNC(avs_copy_clip);
 
  969   AVSC_LOAD_FUNC(avs_copy_value);
 
  970   AVSC_LOAD_FUNC(avs_copy_video_frame);
 
  971   AVSC_LOAD_FUNC(avs_create_script_environment);
 
  972   AVSC_LOAD_FUNC(avs_delete_script_environment);
 
  973   AVSC_LOAD_FUNC(avs_function_exists);
 
  974   AVSC_LOAD_FUNC(avs_get_audio);
 
  975   AVSC_LOAD_FUNC(avs_get_cpu_flags);
 
  976   AVSC_LOAD_FUNC(avs_get_frame);
 
  977   AVSC_LOAD_FUNC(avs_get_parity);
 
  978   AVSC_LOAD_FUNC(avs_get_var);
 
  979   AVSC_LOAD_FUNC(avs_get_version);
 
  980   AVSC_LOAD_FUNC(avs_get_video_info);
 
  981   AVSC_LOAD_FUNC(avs_invoke);
 
  982   AVSC_LOAD_FUNC(avs_make_writable);
 
  983   AVSC_LOAD_FUNC(avs_new_c_filter);
 
  984   AVSC_LOAD_FUNC(avs_new_video_frame_a);
 
  985   AVSC_LOAD_FUNC(avs_release_clip);
 
  986   AVSC_LOAD_FUNC(avs_release_value);
 
  987   AVSC_LOAD_FUNC(avs_release_video_frame);
 
  988   AVSC_LOAD_FUNC(avs_save_string);
 
  989   AVSC_LOAD_FUNC(avs_set_cache_hints);
 
  990   AVSC_LOAD_FUNC(avs_set_global_var);
 
  991   AVSC_LOAD_FUNC(avs_set_memory_max);
 
  992   AVSC_LOAD_FUNC(avs_set_to_clip);
 
  993   AVSC_LOAD_FUNC(avs_set_var);
 
  994   AVSC_LOAD_FUNC(avs_set_working_dir);
 
  995   AVSC_LOAD_FUNC(avs_sprintf);
 
  996   AVSC_LOAD_FUNC(avs_subframe);
 
  997   AVSC_LOAD_FUNC(avs_subframe_planar);
 
  998   AVSC_LOAD_FUNC(avs_take_clip);
 
  999   AVSC_LOAD_FUNC(avs_vsprintf);
 
 1001   AVSC_LOAD_FUNC(avs_get_error);
 
 1002   AVSC_LOAD_FUNC(avs_is_rgb48);
 
 1003   AVSC_LOAD_FUNC(avs_is_rgb64);
 
 1004   AVSC_LOAD_FUNC(avs_is_yv24);
 
 1005   AVSC_LOAD_FUNC(avs_is_yv16);
 
 1007   AVSC_LOAD_FUNC(avs_is_yv411);
 
 1008   AVSC_LOAD_FUNC(avs_is_y8);
 
 1009   AVSC_LOAD_FUNC(avs_is_yuv444p16);
 
 1010   AVSC_LOAD_FUNC(avs_is_yuv422p16);
 
 1011   AVSC_LOAD_FUNC(avs_is_yuv420p16);
 
 1012   AVSC_LOAD_FUNC(avs_is_y16);
 
 1013   AVSC_LOAD_FUNC(avs_is_yuv444ps);
 
 1014   AVSC_LOAD_FUNC(avs_is_yuv422ps);
 
 1015   AVSC_LOAD_FUNC(avs_is_yuv420ps);
 
 1016   AVSC_LOAD_FUNC(avs_is_y32);
 
 1017   AVSC_LOAD_FUNC(avs_is_444);
 
 1018   AVSC_LOAD_FUNC(avs_is_422);
 
 1019   AVSC_LOAD_FUNC(avs_is_420);
 
 1020   AVSC_LOAD_FUNC(avs_is_y);
 
 1021   AVSC_LOAD_FUNC(avs_is_yuva);
 
 1022   AVSC_LOAD_FUNC(avs_is_planar_rgb);
 
 1023   AVSC_LOAD_FUNC(avs_is_planar_rgba);
 
 1026   AVSC_LOAD_FUNC(avs_get_plane_width_subsampling);
 
 1027   AVSC_LOAD_FUNC(avs_get_plane_height_subsampling);
 
 1039   AVSC_LOAD_FUNC(avs_num_components);
 
 1040   AVSC_LOAD_FUNC(avs_component_size);
 
 1041   AVSC_LOAD_FUNC(avs_bits_per_component);
 
 1045 #undef __AVSC_STRINGIFY 
 1046 #undef AVSC_STRINGIFY 
 1047 #undef AVSC_LOAD_FUNC 
 1056 AVSC_INLINE void avs_free_library(AVS_Library *library) {
 
 1057   if (library == 
NULL)
 
 1059   FreeLibrary(library->handle);
 
const char const char void * val
AVSC_INLINE int avs_is_rgb32(const AVS_VideoInfo *p)
BYTE int const BYTE int int row_size
AVSC_INLINE AVS_VideoFrame * avs_new_video_frame(AVS_ScriptEnvironment *env, const AVS_VideoInfo *vi)
volatile long sequence_number
BYTE int const BYTE int src_pitch
AVS_VideoFrame *AVSC_CC * get_frame(AVS_FilterInfo *, int n)
AVSC_INLINE const AVS_Value * avs_as_array(AVS_Value v)
const char AVS_Value const char ** arg_names
AVSC_INLINE const char * avs_as_string(AVS_Value v)
AVSC_INLINE int avs_is_tff(const AVS_VideoInfo *p)
AVSC_INLINE int avs_bytes_per_audio_sample(const AVS_VideoInfo *p)
AVS_VideoFrame int int int int int int rel_offsetV
AVSC_INLINE AVS_VideoFrame * avs_copy_frame(AVS_VideoFrame *f)
AVSC_INLINE int avs_bytes_from_pixels(const AVS_VideoInfo *p, int pixels)
AVSC_INLINE AVS_Value avs_new_value_error(const char *v0)
static const AVS_Value avs_void
AVS_VideoFrame int int int int new_height
AVSC_INLINE INT64 avs_audio_samples_from_bytes(const AVS_VideoInfo *p, INT64 bytes)
AVSC_INLINE void avs_set_fps(AVS_VideoInfo *p, unsigned numerator, unsigned denominator)
AVSC_INLINE AVS_Value avs_new_value_int(int v0)
AVSC_INLINE int avs_is_parity_known(const AVS_VideoInfo *p)
AVSC_INLINE int avs_bmp_size(const AVS_VideoInfo *vi)
BYTE int const BYTE * srcp
typedef AVS_Value(AVSC_CC *AVS_ApplyFunc)(AVS_ScriptEnvironment *
AVSC_INLINE int avs_audio_channels(const AVS_VideoInfo *p)
AVSC_INLINE int avs_samples_per_second(const AVS_VideoInfo *p)
AVS_FilterInfo AVS_Value child
#define AVSC_DECLARE_FUNC(name)
AVSC_INLINE int avs_is_property(const AVS_VideoInfo *p, int property)
AVS_VideoFrame int int int int int rel_offsetU
AVS_ScriptEnvironment * env
AVSC_INLINE int avs_is_int(AVS_Value v)
AVSC_INLINE int avs_is_rgb(const AVS_VideoInfo *p)
AVSC_INLINE AVS_Value avs_array_elt(AVS_Value v, int index)
AVSC_INLINE int avs_array_size(AVS_Value v)
AVSC_INLINE int avs_as_int(AVS_Value v)
AVSC_INLINE INT64 avs_bytes_from_audio_samples(const AVS_VideoInfo *p, INT64 samples)
AVSC_INLINE int avs_is_array(AVS_Value v)
AVSC_INLINE int avs_is_bool(AVS_Value v)
AVSC_INLINE int avs_get_height(const AVS_VideoFrame *p)
AVSC_INLINE int avs_get_pitch_p(const AVS_VideoFrame *p, int plane)
AVSC_INLINE int avs_is_float(AVS_Value v)
AVSC_INLINE AVS_Value avs_new_value_float(float v0)
AVSC_INLINE int avs_is_planar(const AVS_VideoInfo *p)
AVSC_EXPORT const char *AVSC_CC avisynth_c_plugin_init(AVS_ScriptEnvironment *env)
AVSC_INLINE void avs_set_property(AVS_VideoInfo *p, int property)
AVSC_INLINE const unsigned char * avs_get_read_ptr(const AVS_VideoFrame *p)
AVS_Value void * user_data
AVSC_INLINE int avs_is_rgb24(const AVS_VideoInfo *p)
AVSC_INLINE int avs_has_video(const AVS_VideoInfo *p)
AVSC_INLINE int avs_is_color_space(const AVS_VideoInfo *p, int c_space)
AVSC_INLINE int avs_get_pitch(const AVS_VideoFrame *p)
AVSC_INLINE int avs_defined(AVS_Value v)
AVSC_INLINE AVS_Value avs_new_value_bool(int v0)
AVSC_INLINE int avs_is_clip(AVS_Value v)
AVSC_INLINE unsigned char * avs_get_write_ptr_p(const AVS_VideoFrame *p, int plane)
AVSC_INLINE AVS_Value avs_new_value_string(const char *v0)
AVSC_INLINE const char * avs_as_error(AVS_Value v)
typedef void(APIENTRY *FF_PFNGLACTIVETEXTUREPROC)(GLenum texture)
AVSC_INLINE int avs_is_bff(const AVS_VideoInfo *p)
static void error(const char *err)
AVSC_INLINE double avs_as_float(AVS_Value v)
AVSC_INLINE int avs_get_row_size(const AVS_VideoFrame *p)
AVSC_INLINE int avs_bits_per_pixel(const AVS_VideoInfo *p)
const AVS_VideoInfo int align
AVSC_INLINE const unsigned char * avs_get_read_ptr_p(const AVS_VideoFrame *p, int plane)
AVSC_INLINE int avs_is_yv12(const AVS_VideoInfo *p)
AVSC_INLINE int avs_is_error(AVS_Value v)
int(AVSC_CC *get_parity)(AVS_FilterInfo *
AVSC_INLINE int avs_is_field_based(const AVS_VideoInfo *p)
AVS_VideoFrame int rel_offset
BYTE int const BYTE int int int height
AVSC_INLINE AVS_Value avs_new_value_array(AVS_Value *v0, int size)
void(AVSC_CC * AVS_ShutdownFunc)(void *user_data, AVS_ScriptEnvironment *env)
AVSC_INLINE int avs_bytes_per_channel_sample(const AVS_VideoInfo *p)
AVSC_INLINE void avs_set_field_based(AVS_VideoInfo *p, int isfieldbased)
AVS_VideoFrame int int int new_row_size
void(AVSC_CC *free_filter)(AVS_FilterInfo *)
AVS_VideoFrameBuffer * vfb
AVS_ScriptEnvironment AVS_Clip *AVSC_INLINE int avs_as_bool(AVS_Value v)
AVSC_INLINE int avs_is_yuv(const AVS_VideoInfo *p)
AVSC_INLINE void avs_clear_property(AVS_VideoInfo *p, int property)
AVSC_INLINE AVS_VideoFrame * avs_new_frame(AVS_ScriptEnvironment *env, const AVS_VideoInfo *vi)
const char const char * params
struct AVS_ScriptEnvironment AVS_ScriptEnvironment
AVSC_INLINE void avs_release_frame(AVS_VideoFrame *f)
AVSC_INLINE int avs_is_same_colorspace(AVS_VideoInfo *x, AVS_VideoInfo *y)
AVS_VideoFrame int int new_pitch
AVSC_INLINE AVS_Value avs_new_value_clip(AVS_Clip *v0)
AVSC_INLINE int avs_is_string(AVS_Value v)
AVSC_INLINE int avs_get_height_p(const AVS_VideoFrame *p, int plane)
AVSC_INLINE int avs_frames_from_audio_samples(const AVS_VideoInfo *p, INT64 samples)
AVSC_INLINE int avs_sample_type(const AVS_VideoInfo *p)
AVSC_INLINE int avs_row_size(const AVS_VideoInfo *p)
AVS_VideoFrame int int int int int int int new_pitchUV
AVSC_INLINE INT64 avs_audio_samples_from_frames(const AVS_VideoInfo *p, INT64 frames)
AVSC_INLINE int avs_is_yuy2(const AVS_VideoInfo *p)
AVSC_API(int, avs_is_rgb48)(const AVS_VideoInfo *p)
const char const char AVS_ApplyFunc apply
AVSC_INLINE int avs_get_row_size_p(const AVS_VideoFrame *p, int plane)
AVS_FilterInfo AVS_Value int store_child
AVSC_INLINE unsigned char * avs_get_write_ptr(const AVS_VideoFrame *p)
AVSC_INLINE int avs_is_writable(const AVS_VideoFrame *p)
AVSC_INLINE int avs_has_audio(const AVS_VideoInfo *p)
int audio_samples_per_second