Ejemplo n.º 1
0
static av_cold int avisynth_load_library(void)
{
    avs_library.library = LoadLibrary(AVISYNTH_LIB);
    if (!avs_library.library)
        return AVERROR_UNKNOWN;

#define LOAD_AVS_FUNC(name, continue_on_fail)                          \
        avs_library.name =                                             \
            (void *)GetProcAddress(avs_library.library, #name);        \
        if (!continue_on_fail && !avs_library.name)                    \
            goto fail;

    LOAD_AVS_FUNC(avs_bit_blt, 0);
    LOAD_AVS_FUNC(avs_clip_get_error, 0);
    LOAD_AVS_FUNC(avs_create_script_environment, 0);
    LOAD_AVS_FUNC(avs_delete_script_environment, 0);
    LOAD_AVS_FUNC(avs_get_audio, 0);
    LOAD_AVS_FUNC(avs_get_error, 1); // New to AviSynth 2.6
    LOAD_AVS_FUNC(avs_get_frame, 0);
    LOAD_AVS_FUNC(avs_get_version, 0);
    LOAD_AVS_FUNC(avs_get_video_info, 0);
    LOAD_AVS_FUNC(avs_invoke, 0);
    LOAD_AVS_FUNC(avs_release_clip, 0);
    LOAD_AVS_FUNC(avs_release_value, 0);
    LOAD_AVS_FUNC(avs_release_video_frame, 0);
    LOAD_AVS_FUNC(avs_take_clip, 0);
#ifdef USING_AVISYNTH
    LOAD_AVS_FUNC(avs_bits_per_pixel, 1);
    LOAD_AVS_FUNC(avs_get_height_p, 1);
    LOAD_AVS_FUNC(avs_get_pitch_p, 1);
    LOAD_AVS_FUNC(avs_get_read_ptr_p, 1);
    LOAD_AVS_FUNC(avs_get_row_size_p, 1);
    LOAD_AVS_FUNC(avs_is_yv24, 1);
    LOAD_AVS_FUNC(avs_is_yv16, 1);
    LOAD_AVS_FUNC(avs_is_yv411, 1);
    LOAD_AVS_FUNC(avs_is_y8, 1);
#endif
#undef LOAD_AVS_FUNC

    atexit(avisynth_atexit_handler);
    return 0;

fail:
    FreeLibrary(avs_library.library);
    return AVERROR_UNKNOWN;
}
Ejemplo n.º 2
0
static int load_avisynth_dll( avs_handler_t *hp )
{
#define LOAD_AVS_FUNC( name, ignore_fail ) \
{ \
    hp->func.name = (name##_func)GetProcAddress( hp->library, #name ); \
    if( !ignore_fail && !hp->func.name ) \
        goto fail; \
}
    hp->library = LoadLibrary( "avisynth" );
    if( !hp->library )
        return -1;
    LOAD_AVS_FUNC( avs_clip_get_error,            0 );
    LOAD_AVS_FUNC( avs_create_script_environment, 0 );
    LOAD_AVS_FUNC( avs_delete_script_environment, 1 );
    LOAD_AVS_FUNC( avs_get_error,                 1 );
    LOAD_AVS_FUNC( avs_get_frame,                 0 );
    LOAD_AVS_FUNC( avs_get_audio,                 0 );
    LOAD_AVS_FUNC( avs_get_video_info,            0 );
    LOAD_AVS_FUNC( avs_invoke,                    0 );
    LOAD_AVS_FUNC( avs_bit_blt,                   0 );
    LOAD_AVS_FUNC( avs_release_clip,              0 );
    LOAD_AVS_FUNC( avs_release_value,             0 );
    LOAD_AVS_FUNC( avs_release_video_frame,       0 );
    LOAD_AVS_FUNC( avs_take_clip,                 0 );
    return 0;
fail:
    FreeLibrary( hp->library );
    return -1;
#undef LOAD_AVS_FUNC
}
Ejemplo n.º 3
0
static av_cold int avisynth_load_library(void) {
    avs_library = av_mallocz(sizeof(AviSynthLibrary));
    if (!avs_library)
        return AVERROR_UNKNOWN;

    avs_library->library = LoadLibrary(AVISYNTH_LIB);
    if (!avs_library->library)
        goto init_fail;

#define LOAD_AVS_FUNC(name, continue_on_fail) \
{ \
    avs_library->name = (void*)GetProcAddress(avs_library->library, #name); \
    if(!continue_on_fail && !avs_library->name) \
        goto fail; \
}
    LOAD_AVS_FUNC(avs_bit_blt, 0);
    LOAD_AVS_FUNC(avs_clip_get_error, 0);
    LOAD_AVS_FUNC(avs_create_script_environment, 0);
    LOAD_AVS_FUNC(avs_delete_script_environment, 0);
    LOAD_AVS_FUNC(avs_get_audio, 0);
    LOAD_AVS_FUNC(avs_get_error, 1); // New to AviSynth 2.6
    LOAD_AVS_FUNC(avs_get_frame, 0);
    LOAD_AVS_FUNC(avs_get_version, 0);
    LOAD_AVS_FUNC(avs_get_video_info, 0);
    LOAD_AVS_FUNC(avs_invoke, 0);
    LOAD_AVS_FUNC(avs_release_clip, 0);
    LOAD_AVS_FUNC(avs_release_value, 0);
    LOAD_AVS_FUNC(avs_release_video_frame, 0);
    LOAD_AVS_FUNC(avs_take_clip, 0);
#undef LOAD_AVS_FUNC

    atexit(avisynth_atexit_handler);
    return 0;

fail:
    FreeLibrary(avs_library->library);
init_fail:
    av_freep(&avs_library);
    return AVERROR_UNKNOWN;
}
Ejemplo n.º 4
0
/* load the library and functions we require from it */
static int internal_avs_load_library( avs_hnd_t *h )
{
    h->library = LoadLibrary( "avisynth" );
    if( !h->library )
        return -1;
    LOAD_AVS_FUNC( avs_clip_get_error, 0 );
    LOAD_AVS_FUNC( avs_create_script_environment, 0 );
    LOAD_AVS_FUNC( avs_delete_script_environment, 1 );
    LOAD_AVS_FUNC( avs_get_error, 1 );
    LOAD_AVS_FUNC( avs_get_frame, 0 );
    LOAD_AVS_FUNC( avs_get_video_info, 0 );
    LOAD_AVS_FUNC( avs_function_exists, 0 );
    LOAD_AVS_FUNC( avs_invoke, 0 );
    LOAD_AVS_FUNC( avs_release_clip, 0 );
    LOAD_AVS_FUNC( avs_release_value, 0 );
    LOAD_AVS_FUNC( avs_release_video_frame, 0 );
    LOAD_AVS_FUNC( avs_take_clip, 0 );
    return 0;
fail:
    FreeLibrary( h->library );
    return -1;
}
Ejemplo n.º 5
0
Archivo: avs.c Proyecto: xing2fan/x264
/* load the library and functions we require from it */
static int custom_avs_load_library( avs_hnd_t *h )
{
    h->library = avs_open();
    if( !h->library )
        return -1;
    LOAD_AVS_FUNC( avs_clip_get_error, 0 );
    LOAD_AVS_FUNC( avs_create_script_environment, 0 );
    LOAD_AVS_FUNC( avs_delete_script_environment, 1 );
    LOAD_AVS_FUNC( avs_get_error, 1 );
    LOAD_AVS_FUNC( avs_get_frame, 0 );
    LOAD_AVS_FUNC( avs_get_video_info, 0 );
    LOAD_AVS_FUNC( avs_function_exists, 0 );
    LOAD_AVS_FUNC( avs_invoke, 0 );
    LOAD_AVS_FUNC( avs_release_clip, 0 );
    LOAD_AVS_FUNC( avs_release_value, 0 );
    LOAD_AVS_FUNC( avs_release_video_frame, 0 );
    LOAD_AVS_FUNC( avs_take_clip, 0 );
#if !USE_AVXSYNTH
    // AviSynth+ extension
    LOAD_AVS_FUNC( avs_is_rgb48, 1 );
    LOAD_AVS_FUNC_ALIAS( avs_is_rgb48, "_avs_is_rgb48@4", 1 );
    LOAD_AVS_FUNC( avs_is_rgb64, 1 );
    LOAD_AVS_FUNC_ALIAS( avs_is_rgb64, "_avs_is_rgb64@4", 1 );
    LOAD_AVS_FUNC( avs_is_yuv444p16, 1 );
    LOAD_AVS_FUNC( avs_is_yuv422p16, 1 );
    LOAD_AVS_FUNC( avs_is_yuv420p16, 1 );
    LOAD_AVS_FUNC( avs_is_y16, 1 );
    LOAD_AVS_FUNC( avs_is_yuv444ps, 1 );
    LOAD_AVS_FUNC( avs_is_yuv422ps, 1 );
    LOAD_AVS_FUNC( avs_is_yuv420ps, 1 );
    LOAD_AVS_FUNC( avs_is_y32, 1 );
    LOAD_AVS_FUNC( avs_is_444, 1 );
    LOAD_AVS_FUNC( avs_is_422, 1 );
    LOAD_AVS_FUNC( avs_is_420, 1 );
    LOAD_AVS_FUNC( avs_is_y, 1 );
    LOAD_AVS_FUNC( avs_is_yuva, 1 );
    LOAD_AVS_FUNC( avs_is_planar_rgb, 1 );
    LOAD_AVS_FUNC( avs_is_planar_rgba, 1 );
    LOAD_AVS_FUNC( avs_num_components, 1 );
    LOAD_AVS_FUNC( avs_component_size, 1 );
    LOAD_AVS_FUNC( avs_bits_per_component, 1 );
#endif
    return 0;
fail:
    avs_close( h->library );
    h->library = NULL;
    return -1;
}
Ejemplo n.º 6
0
static int load_avisynth_dll(avs_hnd_t *ah)
{
    ah->library = LoadLibrary("avisynth");
    if(!ah->library)
        return -1;
    LOAD_AVS_FUNC(avs_clip_get_error, 0 );
    LOAD_AVS_FUNC(avs_create_script_environment, 0);
    LOAD_AVS_FUNC(avs_delete_script_environment, 1);
    LOAD_AVS_FUNC(avs_get_error, 1);
    LOAD_AVS_FUNC(avs_get_frame, 0);
    LOAD_AVS_FUNC(avs_get_audio, 0);
    LOAD_AVS_FUNC(avs_get_version, 0);
    LOAD_AVS_FUNC(avs_get_video_info, 0);
    LOAD_AVS_FUNC(avs_function_exists, 0);
    LOAD_AVS_FUNC(avs_invoke, 0);
    LOAD_AVS_FUNC(avs_bit_blt, 0);
    LOAD_AVS_FUNC(avs_release_clip, 0);
    LOAD_AVS_FUNC(avs_release_value, 0);
    LOAD_AVS_FUNC(avs_release_video_frame, 0);
    LOAD_AVS_FUNC(avs_take_clip, 0);
    return 0;
fail:
    FreeLibrary(ah->library);
    return -1;
}