Example #1
0
void psx_image_module_init(void)
{
    register_func func = NULL;

#if defined(WIN32) && defined(_MSC_VER)
    lib_image = _module_load(get_library_path());
#else
    lib_image = _module_load("libpsx_image.so");
#endif
    if (lib_image == INVALID_HANDLE)
        return;

    func = _module_get_symbol(lib_image, "psx_image_register_operator");
    if (!func)
        return;

    gif_coder = (psx_image_operator*)calloc(1, sizeof(psx_image_operator));
    if (!gif_coder)
        return;

    gif_coder->read_header_info = read_gif_info;
    gif_coder->decode_image_data = decode_gif_data;
    gif_coder->release_read_header_info = release_read_gif_info;

    gif_coder->write_header_info = write_gif_info;
    gif_coder->encode_image_data = encode_gif_data;
    gif_coder->release_write_header_info = release_write_gif_info;

    func("gif", (ps_byte*)"GIF", 0, 3, PRIORITY_DEFAULT, gif_coder);
}
Example #2
0
// Load a module referenced by a 'module_handler_t' structure
// Return: 0-fail, 1-ok
int module_load(module_handler_t* hMod)
{
    // Attempt to load module
    _module_load(hMod);

    // If load succeeded return success
    if (*hMod->lib && (*hMod->lib != hMod->default_lib))
    {
        return 1;
    }

    // If load failed reset library to unloaded default (should not be needed!)
    if (*hMod->lib == 0)
        *hMod->lib = hMod->default_lib;

    // Failure
    return 0;
}