|
|
|
@ -587,16 +587,15 @@ static const struct vlc_filter_operations Adjust_ops = { |
|
|
|
}; |
|
|
|
|
|
|
|
static int |
|
|
|
OpenAdjust(vlc_object_t * obj) |
|
|
|
OpenAdjust(filter_t *filter) |
|
|
|
{ |
|
|
|
VAProcPipelineCaps pipeline_caps; |
|
|
|
filter_t *const filter = (filter_t *)obj; |
|
|
|
struct adjust_data *const p_data = calloc(1, sizeof(*p_data)); |
|
|
|
if (!p_data) |
|
|
|
return VLC_ENOMEM; |
|
|
|
|
|
|
|
for (unsigned int i = 0; i < NUM_ADJUST_MODES; ++i) |
|
|
|
var_Create(obj, adjust_params_names[i], |
|
|
|
var_Create(filter, adjust_params_names[i], |
|
|
|
VLC_VAR_FLOAT | VLC_VAR_DOINHERIT | VLC_VAR_ISCOMMAND); |
|
|
|
|
|
|
|
if (Open(filter, VAProcFilterColorBalance, &pipeline_caps, p_data, |
|
|
|
@ -604,7 +603,7 @@ OpenAdjust(vlc_object_t * obj) |
|
|
|
goto error; |
|
|
|
|
|
|
|
for (unsigned int i = 0; i < NUM_ADJUST_MODES; ++i) |
|
|
|
var_AddCallback(obj, adjust_params_names[i], FilterCallback, p_data); |
|
|
|
var_AddCallback(filter, adjust_params_names[i], FilterCallback, p_data); |
|
|
|
|
|
|
|
filter->ops = &Adjust_ops; |
|
|
|
|
|
|
|
@ -612,7 +611,7 @@ OpenAdjust(vlc_object_t * obj) |
|
|
|
|
|
|
|
error: |
|
|
|
for (unsigned int i = 0; i < NUM_ADJUST_MODES; ++i) |
|
|
|
var_Destroy(obj, adjust_params_names[i]); |
|
|
|
var_Destroy(filter, adjust_params_names[i]); |
|
|
|
free(p_data); |
|
|
|
return VLC_EGENERIC; |
|
|
|
} |
|
|
|
@ -704,11 +703,10 @@ static const struct vlc_filter_operations BasicFilter_ops = { |
|
|
|
}; |
|
|
|
|
|
|
|
static int |
|
|
|
OpenBasicFilter(vlc_object_t * obj, VAProcFilterType filter_type, |
|
|
|
OpenBasicFilter(filter_t *filter, VAProcFilterType filter_type, |
|
|
|
const char *psz_sigma_name, struct range const *p_vlc_range) |
|
|
|
{ |
|
|
|
VAProcPipelineCaps pipeline_caps; |
|
|
|
filter_t *const filter = (filter_t *)obj; |
|
|
|
assert(filter->psz_name); |
|
|
|
struct basic_filter_data *const p_data = calloc(1, sizeof(*p_data)); |
|
|
|
if (!p_data) |
|
|
|
@ -718,36 +716,36 @@ OpenBasicFilter(vlc_object_t * obj, VAProcFilterType filter_type, |
|
|
|
p_data->sigma.psz_name = psz_sigma_name; |
|
|
|
p_data->sigma.p_vlc_range = p_vlc_range; |
|
|
|
|
|
|
|
var_Create(obj, p_data->sigma.psz_name, |
|
|
|
var_Create(filter, p_data->sigma.psz_name, |
|
|
|
VLC_VAR_FLOAT | VLC_VAR_DOINHERIT | VLC_VAR_ISCOMMAND); |
|
|
|
|
|
|
|
if (Open(filter, p_data->filter_type, &pipeline_caps, p_data, |
|
|
|
OpenBasicFilter_InitFilterParams, NULL)) |
|
|
|
goto error; |
|
|
|
|
|
|
|
var_AddCallback(obj, p_data->sigma.psz_name, FilterCallback, p_data); |
|
|
|
var_AddCallback(filter, p_data->sigma.psz_name, FilterCallback, p_data); |
|
|
|
|
|
|
|
filter->ops = &BasicFilter_ops; |
|
|
|
|
|
|
|
return VLC_SUCCESS; |
|
|
|
|
|
|
|
error: |
|
|
|
var_Destroy(obj, p_data->sigma.psz_name); |
|
|
|
var_Destroy(filter, p_data->sigma.psz_name); |
|
|
|
free(p_data); |
|
|
|
return VLC_EGENERIC; |
|
|
|
} |
|
|
|
|
|
|
|
static int |
|
|
|
OpenDenoiseFilter(vlc_object_t * obj) |
|
|
|
OpenDenoiseFilter(filter_t *filter) |
|
|
|
{ |
|
|
|
return OpenBasicFilter(obj, VAProcFilterNoiseReduction, "denoise-sigma", |
|
|
|
return OpenBasicFilter(filter, VAProcFilterNoiseReduction, "denoise-sigma", |
|
|
|
&vlc_denoise_sigma_range); |
|
|
|
} |
|
|
|
|
|
|
|
static int |
|
|
|
OpenSharpenFilter(vlc_object_t * obj) |
|
|
|
OpenSharpenFilter(filter_t *filter) |
|
|
|
{ |
|
|
|
return OpenBasicFilter(obj, VAProcFilterSharpening, "sharpen-sigma", |
|
|
|
return OpenBasicFilter(filter, VAProcFilterSharpening, "sharpen-sigma", |
|
|
|
&vlc_sharpen_sigma_range); |
|
|
|
} |
|
|
|
|
|
|
|
@ -1138,17 +1136,16 @@ vlc_module_begin() |
|
|
|
set_description(N_("Video Accelerated API filters")) |
|
|
|
set_category(CAT_VIDEO) |
|
|
|
set_subcategory(SUBCAT_VIDEO_VFILTER) |
|
|
|
set_capability("video filter", 0) |
|
|
|
|
|
|
|
add_submodule() |
|
|
|
set_callback(OpenAdjust) |
|
|
|
set_callback_video_filter(OpenAdjust) |
|
|
|
add_shortcut("adjust") |
|
|
|
|
|
|
|
add_submodule() |
|
|
|
set_deinterlace_callback(OpenDeinterlace) |
|
|
|
|
|
|
|
add_submodule() |
|
|
|
set_callback(OpenDenoiseFilter) |
|
|
|
set_callback_video_filter(OpenDenoiseFilter) |
|
|
|
add_float_with_range("denoise-sigma", 1.f, .0f, .0f, |
|
|
|
"Denoise strength (0-2)", |
|
|
|
"Set the Denoise strength, between 0 and 2. " |
|
|
|
@ -1157,7 +1154,7 @@ vlc_module_begin() |
|
|
|
add_shortcut("denoise") |
|
|
|
|
|
|
|
add_submodule() |
|
|
|
set_callback(OpenSharpenFilter) |
|
|
|
set_callback_video_filter(OpenSharpenFilter) |
|
|
|
add_shortcut("sharpen") |
|
|
|
|
|
|
|
add_submodule() |
|
|
|
|