38 #ifndef __AVISYNTH_C__ 
   39 #define __AVISYNTH_C__ 
   42 #  define EXTERN_C extern "C" 
   47 #define AVSC_USE_STDCALL 1 
   49 #ifndef AVSC_USE_STDCALL 
   50 #  define AVSC_CC __cdecl 
   52 #  define AVSC_CC __stdcall 
   55 #define AVSC_INLINE static __inline 
   57 #ifdef AVISYNTH_C_EXPORTS 
   58 #  define AVSC_EXPORT EXTERN_C 
   59 #  define AVSC_API(ret, name) EXTERN_C __declspec(dllexport) ret AVSC_CC name 
   61 #  define AVSC_EXPORT EXTERN_C __declspec(dllexport) 
   62 #  ifndef AVSC_NO_DECLSPEC 
   63 #    define AVSC_API(ret, name) EXTERN_C __declspec(dllimport) ret AVSC_CC name 
   65 #    define AVSC_API(ret, name) typedef ret (AVSC_CC *name##_func) 
   69 typedef unsigned char BYTE;
 
   82 #ifndef __AVISYNTH_H__ 
  191 #define AVS_FRAME_ALIGN 16 
  221         { 
return (p->
width!=0); }
 
  257         { 
return ((p->
pixel_type & property)==property ); }
 
  345     unsigned x=numerator, 
y=denominator;
 
  347       unsigned t = x%
y; x = 
y; y = t;
 
  482 #ifndef AVSC_NO_DECLSPEC 
  484   {avs_release_video_frame(f);}
 
  486   {
return avs_copy_video_frame(f);}
 
  568 #ifndef AVSC_NO_DECLSPEC 
  570         { 
AVS_Value v; avs_set_to_clip(&v, v0); 
return v; }
 
  699 #ifndef AVSC_NO_DECLSPEC 
  742 #ifdef AVSC_NO_DECLSPEC 
  756 typedef struct AVS_Library AVS_Library;
 
  758 #define AVSC_DECLARE_FUNC(name) name##_func name 
  803 #undef AVSC_DECLARE_FUNC 
  807   AVS_Library *library = (AVS_Library *)malloc(
sizeof(AVS_Library));
 
  811   if (library->handle == NULL)
 
  814 #define __AVSC_STRINGIFY(x) #x 
  815 #define AVSC_STRINGIFY(x) __AVSC_STRINGIFY(x) 
  816 #define AVSC_LOAD_FUNC(name) {\ 
  817   library->name = (name##_func) GetProcAddress(library->handle, AVSC_STRINGIFY(name));\ 
  818   if (library->name == NULL)\ 
  822   AVSC_LOAD_FUNC(avs_add_function);
 
  823   AVSC_LOAD_FUNC(avs_at_exit);
 
  824   AVSC_LOAD_FUNC(avs_bit_blt);
 
  825   AVSC_LOAD_FUNC(avs_check_version);
 
  826   AVSC_LOAD_FUNC(avs_clip_get_error);
 
  827   AVSC_LOAD_FUNC(avs_copy_clip);
 
  828   AVSC_LOAD_FUNC(avs_copy_value);
 
  829   AVSC_LOAD_FUNC(avs_copy_video_frame);
 
  830   AVSC_LOAD_FUNC(avs_create_script_environment);
 
  831   AVSC_LOAD_FUNC(avs_delete_script_environment);
 
  832   AVSC_LOAD_FUNC(avs_function_exists);
 
  833   AVSC_LOAD_FUNC(avs_get_audio);
 
  834   AVSC_LOAD_FUNC(avs_get_cpu_flags);
 
  835   AVSC_LOAD_FUNC(avs_get_error);
 
  836   AVSC_LOAD_FUNC(avs_get_frame);
 
  837   AVSC_LOAD_FUNC(avs_get_parity);
 
  838   AVSC_LOAD_FUNC(avs_get_var);
 
  839   AVSC_LOAD_FUNC(avs_get_version);
 
  840   AVSC_LOAD_FUNC(avs_get_video_info);
 
  841   AVSC_LOAD_FUNC(avs_invoke);
 
  842   AVSC_LOAD_FUNC(avs_make_writable);
 
  843   AVSC_LOAD_FUNC(avs_new_c_filter);
 
  844   AVSC_LOAD_FUNC(avs_new_video_frame_a);
 
  845   AVSC_LOAD_FUNC(avs_release_clip);
 
  846   AVSC_LOAD_FUNC(avs_release_value);
 
  847   AVSC_LOAD_FUNC(avs_release_video_frame);
 
  848   AVSC_LOAD_FUNC(avs_save_string);
 
  849   AVSC_LOAD_FUNC(avs_set_cache_hints);
 
  850   AVSC_LOAD_FUNC(avs_set_global_var);
 
  851   AVSC_LOAD_FUNC(avs_set_memory_max);
 
  852   AVSC_LOAD_FUNC(avs_set_to_clip);
 
  853   AVSC_LOAD_FUNC(avs_set_var);
 
  854   AVSC_LOAD_FUNC(avs_set_working_dir);
 
  855   AVSC_LOAD_FUNC(avs_sprintf);
 
  856   AVSC_LOAD_FUNC(avs_subframe);
 
  857   AVSC_LOAD_FUNC(avs_subframe_planar);
 
  858   AVSC_LOAD_FUNC(avs_take_clip);
 
  859   AVSC_LOAD_FUNC(avs_vsprintf);
 
  861 #undef __AVSC_STRINGIFY 
  862 #undef AVSC_STRINGIFY 
  863 #undef AVSC_LOAD_FUNC 
  872 AVSC_INLINE void avs_free_library(AVS_Library *library) {