Exemple #1
0
char * hb_generate_filter_settings(int filter_id, const char *preset, const char *tune)
{
    switch (filter_id)
    {
        case HB_FILTER_NLMEANS:
            return generate_nlmeans_settings(preset, tune);
        case HB_FILTER_HQDN3D:
            return generate_hqdn3d_settings(preset, tune);
        default:
            hb_log("hb_generate_filter_settings: Unrecognized filter %d\n",
                   filter_id);
            break;
    }
    return NULL;
}
Exemple #2
0
char *
hb_generate_filter_settings(int filter_id, const char *preset, const char *tune)
{
    char *filter_param = NULL;

    switch (filter_id)
    {
        case HB_FILTER_NLMEANS:
            filter_param = generate_nlmeans_settings(preset, tune);
            break;
        case HB_FILTER_ROTATE:
            if (atoi(preset) == 0)
                filter_param = (char*)hb_filter_off;
            else
                filter_param = strdup(preset);
            break;
        case HB_FILTER_DEBLOCK:
            if (atoi(preset) < 5)
                filter_param = (char*)hb_filter_off;
            else
                filter_param = strdup(preset);
            break;
        case HB_FILTER_DECOMB:
        case HB_FILTER_DEINTERLACE:
        case HB_FILTER_DETELECINE:
        case HB_FILTER_HQDN3D:
            filter_param = generate_generic_settings(filter_id, preset, tune);
            break;
        default:
            fprintf(stderr,
                    "hb_generate_filter_settings: Unrecognized filter (%d).\n",
                    filter_id);
            break;
    }

    if (filter_param == hb_filter_off)
        return filter_param;

    if (filter_param != NULL &&
        hb_validate_filter_settings(filter_id, filter_param) == 0)
    {
        return filter_param;
    }
    free(filter_param);
    return NULL;
}
Exemple #3
0
hb_value_t *
hb_generate_filter_settings(int filter_id, const char *preset, const char *tune,
                            const char *custom)
{
    hb_value_t * settings = NULL;

    switch (filter_id)
    {
        case HB_FILTER_DEBLOCK:
            settings = generate_deblock_settings(preset, custom);
            break;
        case HB_FILTER_PAD:
        case HB_FILTER_ROTATE:
        case HB_FILTER_CROP_SCALE:
        case HB_FILTER_VFR:
        case HB_FILTER_RENDER_SUB:
        case HB_FILTER_GRAYSCALE:
        case HB_FILTER_QSV:
            settings = hb_parse_filter_settings(custom);
            break;
        case HB_FILTER_NLMEANS:
            settings = generate_nlmeans_settings(preset, tune, custom);
            break;
        case HB_FILTER_COMB_DETECT:
        case HB_FILTER_DECOMB:
        case HB_FILTER_DETELECINE:
        case HB_FILTER_HQDN3D:
        case HB_FILTER_DEINTERLACE:
            settings = generate_generic_settings(filter_id, preset, custom);
            break;
        default:
            fprintf(stderr,
                    "hb_generate_filter_settings: Unrecognized filter (%d).\n",
                    filter_id);
            break;
    }
    check_filter_status(filter_id, settings);

    if (settings != NULL &&
        hb_validate_filter_settings(filter_id, settings) == 0)
    {
        return settings;
    }
    hb_value_free(&settings);
    return NULL;
}