37 #ifndef __AVISYNTH_C__ 
   38 #define __AVISYNTH_C__ 
   41 #  define EXTERN_C extern "C" 
   46 #define AVSC_USE_STDCALL 1 
   48 #ifndef AVSC_USE_STDCALL 
   49 #  define AVSC_CC __cdecl 
   51 #  define AVSC_CC __stdcall 
   54 #define AVSC_INLINE static __inline 
   56 #ifdef AVISYNTH_C_EXPORTS 
   57 #  define AVSC_EXPORT EXTERN_C 
   58 #  define AVSC_API(ret, name) EXTERN_C __declspec(dllexport) ret AVSC_CC name 
   60 #  define AVSC_EXPORT EXTERN_C __declspec(dllexport) 
   61 #  ifndef AVSC_NO_DECLSPEC 
   62 #    define AVSC_API(ret, name) EXTERN_C __declspec(dllimport) ret AVSC_CC name 
   64 #    define AVSC_API(ret, name) typedef ret (AVSC_CC *name##_func) 
   68 typedef unsigned char BYTE;
 
   70 typedef long long int INT64;
 
   81 #ifndef __AVISYNTH_H__ 
  190 #define AVS_FRAME_ALIGN 16 
  220         { 
return (p->
width!=0); }
 
  256         { 
return ((p->
pixel_type & property)==property ); }
 
  344     unsigned x=numerator, 
y=denominator;
 
  346       unsigned t = x%
y; x = 
y; y = 
t;
 
  481 #ifndef AVSC_NO_DECLSPEC 
  483   {avs_release_video_frame(f);}
 
  485   {
return avs_copy_video_frame(f);}
 
  567 #ifndef AVSC_NO_DECLSPEC 
  569         { 
AVS_Value v; avs_set_to_clip(&v, v0); 
return v; }
 
  698 #ifndef AVSC_NO_DECLSPEC 
  741 #ifdef AVSC_NO_DECLSPEC 
  755 typedef struct AVS_Library AVS_Library;
 
  757 #define AVSC_DECLARE_FUNC(name) name##_func name 
  802 #undef AVSC_DECLARE_FUNC 
  806   AVS_Library *library = (AVS_Library *)malloc(
sizeof(AVS_Library));
 
  810   if (library->handle == NULL)
 
  813 #define __AVSC_STRINGIFY(x) #x 
  814 #define AVSC_STRINGIFY(x) __AVSC_STRINGIFY(x) 
  815 #define AVSC_LOAD_FUNC(name) {\ 
  816   library->name = (name##_func) GetProcAddress(library->handle, AVSC_STRINGIFY(name));\ 
  817   if (library->name == NULL)\ 
  821   AVSC_LOAD_FUNC(avs_add_function);
 
  822   AVSC_LOAD_FUNC(avs_at_exit);
 
  823   AVSC_LOAD_FUNC(avs_bit_blt);
 
  824   AVSC_LOAD_FUNC(avs_check_version);
 
  825   AVSC_LOAD_FUNC(avs_clip_get_error);
 
  826   AVSC_LOAD_FUNC(avs_copy_clip);
 
  827   AVSC_LOAD_FUNC(avs_copy_value);
 
  828   AVSC_LOAD_FUNC(avs_copy_video_frame);
 
  829   AVSC_LOAD_FUNC(avs_create_script_environment);
 
  830   AVSC_LOAD_FUNC(avs_delete_script_environment);
 
  831   AVSC_LOAD_FUNC(avs_function_exists);
 
  832   AVSC_LOAD_FUNC(avs_get_audio);
 
  833   AVSC_LOAD_FUNC(avs_get_cpu_flags);
 
  834   AVSC_LOAD_FUNC(avs_get_error);
 
  835   AVSC_LOAD_FUNC(avs_get_frame);
 
  836   AVSC_LOAD_FUNC(avs_get_parity);
 
  837   AVSC_LOAD_FUNC(avs_get_var);
 
  838   AVSC_LOAD_FUNC(avs_get_version);
 
  839   AVSC_LOAD_FUNC(avs_get_video_info);
 
  840   AVSC_LOAD_FUNC(avs_invoke);
 
  841   AVSC_LOAD_FUNC(avs_make_writable);
 
  842   AVSC_LOAD_FUNC(avs_new_c_filter);
 
  843   AVSC_LOAD_FUNC(avs_new_video_frame_a);
 
  844   AVSC_LOAD_FUNC(avs_release_clip);
 
  845   AVSC_LOAD_FUNC(avs_release_value);
 
  846   AVSC_LOAD_FUNC(avs_release_video_frame);
 
  847   AVSC_LOAD_FUNC(avs_save_string);
 
  848   AVSC_LOAD_FUNC(avs_set_cache_hints);
 
  849   AVSC_LOAD_FUNC(avs_set_global_var);
 
  850   AVSC_LOAD_FUNC(avs_set_memory_max);
 
  851   AVSC_LOAD_FUNC(avs_set_to_clip);
 
  852   AVSC_LOAD_FUNC(avs_set_var);
 
  853   AVSC_LOAD_FUNC(avs_set_working_dir);
 
  854   AVSC_LOAD_FUNC(avs_sprintf);
 
  855   AVSC_LOAD_FUNC(avs_subframe);
 
  856   AVSC_LOAD_FUNC(avs_subframe_planar);
 
  857   AVSC_LOAD_FUNC(avs_take_clip);
 
  858   AVSC_LOAD_FUNC(avs_vsprintf);
 
  860 #undef __AVSC_STRINGIFY 
  861 #undef AVSC_STRINGIFY 
  862 #undef AVSC_LOAD_FUNC 
  871 AVSC_INLINE void avs_free_library(AVS_Library *library) {