[vlc-commits] filters: use macro to set the typed Open callback for generic video filters
Steve Lhomme
git at videolan.org
Tue Oct 13 11:07:08 CEST 2020
vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Thu Oct 8 17:02:24 2020 +0200| [94e23d51bb91cff1c14ef1079193920f04f48fd1] | committer: Steve Lhomme
filters: use macro to set the typed Open callback for generic video filters
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=94e23d51bb91cff1c14ef1079193920f04f48fd1
---
include/vlc_filter.h | 9 +++++++
modules/hw/d3d11/d3d11_filters.c | 6 ++---
modules/hw/d3d9/d3d9_filters.c | 6 ++---
modules/hw/vaapi/filters.c | 33 +++++++++++-------------
modules/hw/vdpau/adjust.c | 7 ++----
modules/hw/vdpau/sharpen.c | 7 ++----
modules/spu/audiobargraph_v.c | 9 +++----
modules/spu/logo.c | 9 +++----
modules/video_chroma/chain.c | 9 +++----
modules/video_filter/adjust.c | 11 +++-----
modules/video_filter/alphamask.c | 8 +++---
modules/video_filter/anaglyph.c | 9 +++----
modules/video_filter/antiflicker.c | 9 +++----
modules/video_filter/ball.c | 10 +++-----
modules/video_filter/blendbench.c | 12 ++++-----
modules/video_filter/bluescreen.c | 8 +++---
modules/video_filter/canvas.c | 8 +++---
modules/video_filter/ci_filters.m | 47 ++++++++++++++++-------------------
modules/video_filter/colorthres.c | 8 +++---
modules/video_filter/croppadd.c | 8 +++---
modules/video_filter/edgedetection.c | 8 +++---
modules/video_filter/erase.c | 8 +++---
modules/video_filter/extract.c | 9 +++----
modules/video_filter/fps.c | 8 +++---
modules/video_filter/freeze.c | 8 +++---
modules/video_filter/gaussianblur.c | 9 +++----
modules/video_filter/gradfun.c | 8 +++---
modules/video_filter/gradient.c | 8 +++---
modules/video_filter/grain.c | 9 +++----
modules/video_filter/hqdn3d.c | 8 +++---
modules/video_filter/invert.c | 8 +++---
modules/video_filter/magnify.c | 8 +++---
modules/video_filter/mirror.c | 8 +++---
modules/video_filter/motionblur.c | 9 +++----
modules/video_filter/motiondetect.c | 8 +++---
modules/video_filter/oldmovie.c | 8 +++---
modules/video_filter/opencv_wrapper.c | 8 +++---
modules/video_filter/posterize.c | 8 +++---
modules/video_filter/postproc.c | 9 +++----
modules/video_filter/psychedelic.c | 9 +++----
modules/video_filter/puzzle.c | 8 +++---
modules/video_filter/ripple.c | 9 +++----
modules/video_filter/rotate.c | 8 +++---
modules/video_filter/scene.c | 26 +++++++++----------
modules/video_filter/sepia.c | 8 +++---
modules/video_filter/sharpen.c | 9 +++----
modules/video_filter/transform.c | 8 +++---
modules/video_filter/vhs.c | 8 +++---
modules/video_filter/wave.c | 11 +++-----
49 files changed, 196 insertions(+), 298 deletions(-)
diff --git a/include/vlc_filter.h b/include/vlc_filter.h
index c610680b3a..63763e0231 100644
--- a/include/vlc_filter.h
+++ b/include/vlc_filter.h
@@ -142,6 +142,7 @@ struct vlc_filter_operations
typedef int (*vlc_open_deinterlace)(filter_t *);
typedef int (*vlc_video_converter_open)(filter_t *);
+typedef int (*vlc_video_filter_open)(filter_t *);
#define set_deinterlace_callback( activate ) \
@@ -153,6 +154,14 @@ typedef int (*vlc_video_converter_open)(filter_t *);
set_capability( "video filter", 0 ) \
add_shortcut( "deinterlace" )
+#define set_callback_video_filter( activate ) \
+ { \
+ vlc_video_filter_open open__ = activate; \
+ (void) open__; \
+ set_callback(activate) \
+ } \
+ set_capability( "video filter", 0 )
+
#define set_callback_video_converter( activate, priority ) \
{ \
vlc_video_converter_open open__ = activate; \
diff --git a/modules/hw/d3d11/d3d11_filters.c b/modules/hw/d3d11/d3d11_filters.c
index 2c18dbb2a9..f8a0300ab7 100644
--- a/modules/hw/d3d11/d3d11_filters.c
+++ b/modules/hw/d3d11/d3d11_filters.c
@@ -366,9 +366,8 @@ static const struct vlc_filter_operations filter_ops = {
.filter_video = Filter, .close = D3D11CloseAdjust,
};
-static int D3D11OpenAdjust(vlc_object_t *obj)
+static int D3D11OpenAdjust(filter_t *filter)
{
- filter_t *filter = (filter_t *)obj;
HRESULT hr;
if (!is_d3d11_opaque(filter->fmt_in.video.i_chroma))
@@ -566,10 +565,9 @@ error:
vlc_module_begin()
set_description(N_("Direct3D11 adjust filter"))
- set_capability("video filter", 0)
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_callback(D3D11OpenAdjust)
+ set_callback_video_filter(D3D11OpenAdjust)
add_shortcut( "adjust" )
add_float_with_range( "contrast", 1.0, 0.0, 2.0,
diff --git a/modules/hw/d3d9/d3d9_filters.c b/modules/hw/d3d9/d3d9_filters.c
index db4ede3487..cb8bf173e2 100644
--- a/modules/hw/d3d9/d3d9_filters.c
+++ b/modules/hw/d3d9/d3d9_filters.c
@@ -275,9 +275,8 @@ static const struct vlc_filter_operations filter_ops = {
.filter_video = Filter, .close = D3D9CloseAdjust,
};
-static int D3D9OpenAdjust(vlc_object_t *obj)
+static int D3D9OpenAdjust(filter_t *filter)
{
- filter_t *filter = (filter_t *)obj;
filter_sys_t *sys = NULL;
HINSTANCE hdecoder_dll = NULL;
HRESULT hr;
@@ -486,10 +485,9 @@ error:
vlc_module_begin()
set_description(N_("Direct3D9 adjust filter"))
- set_capability("video filter", 0)
set_category(CAT_VIDEO)
set_subcategory(SUBCAT_VIDEO_VFILTER)
- set_callback(D3D9OpenAdjust)
+ set_callback_video_filter(D3D9OpenAdjust)
add_shortcut( "adjust" )
add_float_with_range( "contrast", 1.0, 0.0, 2.0,
diff --git a/modules/hw/vaapi/filters.c b/modules/hw/vaapi/filters.c
index 6b04fe879e..36477fc213 100644
--- a/modules/hw/vaapi/filters.c
+++ b/modules/hw/vaapi/filters.c
@@ -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()
diff --git a/modules/hw/vdpau/adjust.c b/modules/hw/vdpau/adjust.c
index 7552bfc4e3..8703bb27f7 100644
--- a/modules/hw/vdpau/adjust.c
+++ b/modules/hw/vdpau/adjust.c
@@ -156,10 +156,8 @@ static const struct vlc_filter_operations filter_ops = {
.filter_video = Adjust, .close = Close,
};
-static int Open(vlc_object_t *obj)
+static int Open(filter_t *filter)
{
- filter_t *filter = (filter_t *)obj;
-
if ( filter->vctx_in == NULL ||
vlc_video_context_GetType(filter->vctx_in) != VLC_VIDEO_CONTEXT_VDPAU )
return VLC_EGENERIC;
@@ -207,7 +205,6 @@ vlc_module_begin()
set_description(N_("VDPAU adjust video filter"))
set_category(CAT_VIDEO)
set_subcategory(SUBCAT_VIDEO_VFILTER)
- set_capability("video filter", 0)
add_shortcut("adjust")
- set_callback(Open)
+ set_callback_video_filter(Open)
vlc_module_end()
diff --git a/modules/hw/vdpau/sharpen.c b/modules/hw/vdpau/sharpen.c
index e02efd86ca..a3f4972654 100644
--- a/modules/hw/vdpau/sharpen.c
+++ b/modules/hw/vdpau/sharpen.c
@@ -91,10 +91,8 @@ static const struct vlc_filter_operations filter_ops = {
.filter_video = Sharpen, .close = Close,
};
-static int Open(vlc_object_t *obj)
+static int Open(filter_t *filter)
{
- filter_t *filter = (filter_t *)obj;
-
if ( filter->vctx_in == NULL ||
vlc_video_context_GetType(filter->vctx_in) != VLC_VIDEO_CONTEXT_VDPAU )
return VLC_EGENERIC;
@@ -154,7 +152,6 @@ vlc_module_begin()
set_description(N_("VDPAU sharpen video filter"))
set_category(CAT_VIDEO)
set_subcategory(SUBCAT_VIDEO_VFILTER)
- set_capability("video filter", 0)
add_shortcut("sharpen")
- set_callbacks(Open, Close)
+ set_callback_video_filter(Open)
vlc_module_end()
diff --git a/modules/spu/audiobargraph_v.c b/modules/spu/audiobargraph_v.c
index 61560996c1..b563cbed8d 100644
--- a/modules/spu/audiobargraph_v.c
+++ b/modules/spu/audiobargraph_v.c
@@ -66,7 +66,7 @@ static const char *const ppsz_pos_descriptions[] =
N_("Top-Left"), N_("Top-Right"), N_("Bottom-Left"), N_("Bottom-Right") };
static int OpenSub (vlc_object_t *);
-static int OpenVideo(vlc_object_t *);
+static int OpenVideo(filter_t *);
static void Close (filter_t *);
vlc_module_begin ()
@@ -93,8 +93,7 @@ vlc_module_begin ()
/* video output filter submodule */
add_submodule ()
- set_capability("video filter", 0)
- set_callback(OpenVideo)
+ set_callback_video_filter(OpenVideo)
set_description(N_("Audio Bar Graph Video sub source"))
add_shortcut("audiobargraph_v")
vlc_module_end ()
@@ -584,9 +583,9 @@ static int OpenSub(vlc_object_t *p_this)
/**
* Open the video filter
*/
-static int OpenVideo(vlc_object_t *p_this)
+static int OpenVideo(filter_t *p_filter)
{
- return OpenCommon(p_this, false);
+ return OpenCommon(VLC_OBJECT(p_filter), false);
}
/**
diff --git a/modules/spu/logo.c b/modules/spu/logo.c
index feb21af8f1..40e5e8b61a 100644
--- a/modules/spu/logo.c
+++ b/modules/spu/logo.c
@@ -80,7 +80,7 @@ static const char *const ppsz_pos_descriptions[] =
N_("Top-Left"), N_("Top-Right"), N_("Bottom-Left"), N_("Bottom-Right") };
static int OpenSub ( vlc_object_t * );
-static int OpenVideo( vlc_object_t * );
+static int OpenVideo( filter_t * );
static void Close ( filter_t * );
vlc_module_begin ()
@@ -106,8 +106,7 @@ vlc_module_begin ()
/* video output filter submodule */
add_submodule ()
- set_capability( "video filter", 0 )
- set_callback( OpenVideo )
+ set_callback_video_filter( OpenVideo )
set_description( N_("Logo video filter") )
add_shortcut( "logo" )
vlc_module_end ()
@@ -210,9 +209,9 @@ static int OpenSub( vlc_object_t *p_this )
/**
* Open the video filter
*/
-static int OpenVideo( vlc_object_t *p_this )
+static int OpenVideo( filter_t *p_filter )
{
- return OpenCommon( p_this, false );
+ return OpenCommon( VLC_OBJECT(p_filter), false );
}
static const struct vlc_filter_operations filter_sub_ops = {
diff --git a/modules/video_chroma/chain.c b/modules/video_chroma/chain.c
index 05c5a899fb..347c8d58da 100644
--- a/modules/video_chroma/chain.c
+++ b/modules/video_chroma/chain.c
@@ -38,15 +38,14 @@
* Module descriptor
*****************************************************************************/
static int ActivateConverter ( filter_t * );
-static int ActivateFilter ( vlc_object_t * );
+static int ActivateFilter ( filter_t * );
static void Destroy ( filter_t * );
vlc_module_begin ()
set_description( N_("Video filtering using a chain of video filter modules") )
set_callback_video_converter( ActivateConverter, 1 )
add_submodule ()
- set_capability( "video filter", 0 )
- set_callback( ActivateFilter )
+ set_callback_video_filter( ActivateFilter )
vlc_module_end ()
/*****************************************************************************
@@ -239,10 +238,8 @@ static int ActivateConverter( filter_t *p_filter )
BuildChromaChain );
}
-static int ActivateFilter( vlc_object_t *p_this )
+static int ActivateFilter( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
-
if( !p_filter->b_allow_fmt_out_change || p_filter->psz_name == NULL )
return VLC_EGENERIC;
diff --git a/modules/video_filter/adjust.c b/modules/video_filter/adjust.c
index c6c1cc6522..54b15df6d1 100644
--- a/modules/video_filter/adjust.c
+++ b/modules/video_filter/adjust.c
@@ -44,7 +44,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static picture_t *FilterPacked( filter_t *, picture_t * );
@@ -72,7 +72,6 @@ vlc_module_begin ()
set_shortname( N_("Image adjust" ))
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_capability( "video filter", 0 )
add_float_with_range( "contrast", 1.0, 0.0, 2.0,
CONT_TEXT, CONT_LONGTEXT, false )
@@ -94,7 +93,7 @@ vlc_module_begin ()
change_safe()
add_shortcut( "adjust" )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
static const char *const ppsz_filter_options[] = {
@@ -149,10 +148,8 @@ static const struct vlc_filter_operations packed_filter_ops =
/*****************************************************************************
* Create: allocates adjust video filter
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
-
if( p_filter->fmt_in.video.i_chroma != p_filter->fmt_out.video.i_chroma )
{
msg_Err( p_filter, "Input and output chromas don't match" );
@@ -160,7 +157,7 @@ static int Create( vlc_object_t *p_this )
}
/* Allocate structure */
- filter_sys_t *p_sys = vlc_obj_malloc( p_this, sizeof( *p_sys ) );
+ filter_sys_t *p_sys = vlc_obj_malloc( VLC_OBJECT(p_filter), sizeof( *p_sys ) );
if( p_sys == NULL )
return VLC_ENOMEM;
p_filter->p_sys = p_sys;
diff --git a/modules/video_filter/alphamask.c b/modules/video_filter/alphamask.c
index 2793f634f5..166c0de604 100644
--- a/modules/video_filter/alphamask.c
+++ b/modules/video_filter/alphamask.c
@@ -48,7 +48,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static void Destroy ( filter_t * );
static picture_t *Filter( filter_t *, picture_t * );
@@ -65,9 +65,8 @@ vlc_module_begin ()
set_help( ALPHAMASK_HELP )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_capability( "video filter", 0 )
add_shortcut( "alphamask", "mask" )
- set_callback( Create )
+ set_callback_video_filter( Create )
add_loadfile(CFG_PREFIX "mask", NULL, MASK_TEXT, MASK_LONGTEXT)
vlc_module_end ()
@@ -87,9 +86,8 @@ static const struct vlc_filter_operations filter_ops =
.filter_video = Filter, .close = Destroy,
};
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys;
char *psz_string;
diff --git a/modules/video_filter/anaglyph.c b/modules/video_filter/anaglyph.c
index 65c38c3935..b29dfda528 100644
--- a/modules/video_filter/anaglyph.c
+++ b/modules/video_filter/anaglyph.c
@@ -30,7 +30,7 @@
#include <vlc_picture.h>
#include "filter_picture.h"
-static int Create(vlc_object_t *);
+static int Create(filter_t *);
static void combine_side_by_side_yuv420(picture_t *, picture_t *, int, int);
#define SCHEME_TEXT N_("Color scheme")
@@ -69,10 +69,9 @@ vlc_module_begin()
set_shortname(N_("Anaglyph"))
set_category(CAT_VIDEO)
set_subcategory(SUBCAT_VIDEO_VFILTER)
- set_capability("video filter", 0)
add_string(FILTER_PREFIX "scheme", "red-cyan", SCHEME_TEXT, SCHEME_LONGTEXT, false)
change_string_list(ppsz_scheme_values, ppsz_scheme_descriptions)
- set_callback(Create)
+ set_callback_video_filter(Create)
vlc_module_end()
static const char *const ppsz_filter_options[] = {
@@ -86,10 +85,8 @@ typedef struct
VIDEO_FILTER_WRAPPER(Filter)
-static int Create(vlc_object_t *p_this)
+static int Create(filter_t *p_filter)
{
- filter_t *p_filter = (filter_t *)p_this;
-
switch (p_filter->fmt_in.video.i_chroma)
{
case VLC_CODEC_I420:
diff --git a/modules/video_filter/antiflicker.c b/modules/video_filter/antiflicker.c
index a4b9cb424d..98566ed108 100644
--- a/modules/video_filter/antiflicker.c
+++ b/modules/video_filter/antiflicker.c
@@ -44,7 +44,7 @@ static int AntiFlickerCallback( vlc_object_t *p_this, char const *psz_var,
vlc_value_t oldval, vlc_value_t newval,
void *p_data );
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
VIDEO_FILTER_WRAPPER_CLOSE( Filter, Destroy )
#define WINDOW_TEXT N_("Window size")
@@ -65,7 +65,6 @@ VIDEO_FILTER_WRAPPER_CLOSE( Filter, Destroy )
vlc_module_begin ()
set_description( N_("Antiflicker video filter") )
set_shortname( N_( "antiflicker" ))
- set_capability( "video filter", 0 )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
@@ -76,7 +75,7 @@ vlc_module_begin ()
SFTN_TEXT, SFTN_LONGTEXT, false )
add_shortcut( "antiflicker" )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
/*****************************************************************************
@@ -98,10 +97,8 @@ typedef struct
*****************************************************************************
* This function allocates and initializes a Distort vout method.
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
-
switch( p_filter->fmt_in.video.i_chroma )
{
CASE_PLANAR_YUV
diff --git a/modules/video_filter/ball.c b/modules/video_filter/ball.c
index c87f7e2146..01a6b5a4e8 100644
--- a/modules/video_filter/ball.c
+++ b/modules/video_filter/ball.c
@@ -72,7 +72,7 @@ enum { RED, GREEN, BLUE, WHITE };
typedef struct filter_sys_t filter_sys_t;
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
VIDEO_FILTER_WRAPPER_CLOSE( Filter, Destroy )
@@ -125,7 +125,6 @@ vlc_module_begin ()
set_description( N_("Ball video filter") )
set_shortname( N_( "Ball" ))
set_help(BALL_HELP)
- set_capability( "video filter", 0 )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
@@ -146,7 +145,7 @@ vlc_module_begin ()
EDGE_VISIBLE_TEXT, EDGE_VISIBLE_LONGTEXT, true )
add_shortcut( "ball" )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
static const char *const ppsz_filter_options[] = {
@@ -219,9 +218,8 @@ struct filter_sys_t
*****************************************************************************
* This function allocates and initializes a Distort vout method.
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
char *psz_method;
/* Allocate structure */
@@ -273,7 +271,7 @@ static int Create( vlc_object_t *p_this )
p_sys->ballColor = RED;
}
else
- p_sys->ballColor = getBallColor( p_this, psz_method );
+ p_sys->ballColor = getBallColor( VLC_OBJECT(p_filter), psz_method );
free( psz_method );
diff --git a/modules/video_filter/blendbench.c b/modules/video_filter/blendbench.c
index 0e432b1036..8bf43ed7f9 100644
--- a/modules/video_filter/blendbench.c
+++ b/modules/video_filter/blendbench.c
@@ -40,7 +40,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create( vlc_object_t * );
+static int Create( filter_t * );
static void Destroy( filter_t * );
static picture_t *Filter( filter_t *, picture_t * );
@@ -75,7 +75,6 @@ vlc_module_begin ()
set_shortname( N_("Blendbench" ))
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_capability( "video filter", 0 )
set_section( N_("Benchmarking"), NULL )
add_integer( CFG_PREFIX "loops", 1000, LOOPS_TEXT,
@@ -95,7 +94,7 @@ vlc_module_begin ()
add_string( CFG_PREFIX "blend-chroma", "YUVA", BLEND_CHROMA_TEXT,
BLEND_CHROMA_LONGTEXT, false )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
static const char *const ppsz_filter_options[] = {
@@ -152,9 +151,8 @@ static const struct vlc_filter_operations filter_ops =
/*****************************************************************************
* Create: allocates video thread output method
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys;
char *psz_temp, *psz_cmd;
int i_ret;
@@ -183,7 +181,7 @@ static int Create( vlc_object_t *p_this )
p_sys->i_base_chroma = !psz_temp || strlen( psz_temp ) != 4 ? 0 :
VLC_FOURCC( psz_temp[0], psz_temp[1], psz_temp[2], psz_temp[3] );
psz_cmd = var_CreateGetStringCommand( p_filter, CFG_PREFIX "base-image" );
- i_ret = blendbench_LoadImage( p_this, &p_sys->p_base_image,
+ i_ret = blendbench_LoadImage( VLC_OBJECT(p_filter), &p_sys->p_base_image,
p_sys->i_base_chroma, psz_cmd, "Base" );
free( psz_temp );
free( psz_cmd );
@@ -198,7 +196,7 @@ static int Create( vlc_object_t *p_this )
p_sys->i_blend_chroma = !psz_temp || strlen( psz_temp ) != 4
? 0 : VLC_FOURCC( psz_temp[0], psz_temp[1], psz_temp[2], psz_temp[3] );
psz_cmd = var_CreateGetStringCommand( p_filter, CFG_PREFIX "blend-image" );
- i_ret = blendbench_LoadImage( p_this, &p_sys->p_blend_image, p_sys->i_blend_chroma,
+ i_ret = blendbench_LoadImage( VLC_OBJECT(p_filter), &p_sys->p_blend_image, p_sys->i_blend_chroma,
psz_cmd, "Blend" );
free( psz_temp );
diff --git a/modules/video_filter/bluescreen.c b/modules/video_filter/bluescreen.c
index 94807ce45c..9cc0ad2060 100644
--- a/modules/video_filter/bluescreen.c
+++ b/modules/video_filter/bluescreen.c
@@ -63,7 +63,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static void Destroy ( filter_t * );
static picture_t *Filter( filter_t *, picture_t * );
@@ -79,9 +79,8 @@ vlc_module_begin ()
set_help( BLUESCREEN_HELP )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_capability( "video filter", 0 )
add_shortcut( "bluescreen" )
- set_callback( Create )
+ set_callback_video_filter( Create )
add_integer_with_range( CFG_PREFIX "u", 120, 0, 255,
BLUESCREENU_TEXT, BLUESCREENU_LONGTEXT, false )
@@ -111,9 +110,8 @@ static const struct vlc_filter_operations filter_ops =
.filter_video = Filter, .close = Destroy,
};
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys;
if( p_filter->fmt_in.video.i_chroma != VLC_CODEC_YUVA )
diff --git a/modules/video_filter/canvas.c b/modules/video_filter/canvas.c
index c1afb71c76..b3610d8d1a 100644
--- a/modules/video_filter/canvas.c
+++ b/modules/video_filter/canvas.c
@@ -38,7 +38,7 @@
/*****************************************************************************
* Local and extern prototypes.
*****************************************************************************/
-static int Activate( vlc_object_t * );
+static int Activate( filter_t * );
static void Destroy( filter_t * );
static picture_t *Filter( filter_t *, picture_t * );
static void Flush( filter_t * );
@@ -104,9 +104,8 @@ static void Flush( filter_t * );
vlc_module_begin ()
set_shortname( N_("Canvas") )
set_description( N_("Canvas video filter") )
- set_capability( "video filter", 0 )
set_help( CANVAS_HELP )
- set_callback( Activate )
+ set_callback_video_filter( Activate )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
@@ -153,9 +152,8 @@ static const struct vlc_filter_operations filter_ops =
/*****************************************************************************
*
*****************************************************************************/
-static int Activate( vlc_object_t *p_this )
+static int Activate( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
unsigned i_canvas_width; /* visible width of output canvas */
unsigned i_canvas_height; /* visible height of output canvas */
unsigned i_canvas_aspect; /* canvas PictureAspectRatio */
diff --git a/modules/video_filter/ci_filters.m b/modules/video_filter/ci_filters.m
index ee56ef33b3..162937b6bd 100644
--- a/modules/video_filter/ci_filters.m
+++ b/modules/video_filter/ci_filters.m
@@ -597,10 +597,8 @@ static const struct vlc_filter_operations filter_ops =
};
static int
-Open(vlc_object_t *obj, char const *psz_filter)
+Open(filter_t *filter, char const *psz_filter)
{
- filter_t *filter = (filter_t *)obj;
-
switch (filter->fmt_in.video.i_chroma)
{
case VLC_CODEC_CVPX_NV12:
@@ -717,45 +715,45 @@ error:
}
static int
-OpenAdjust(vlc_object_t *obj)
+OpenAdjust(filter_t *filter)
{
- return Open(obj, "adjust");
+ return Open(filter, "adjust");
}
static int
-OpenInvert(vlc_object_t *obj)
+OpenInvert(filter_t *filter)
{
- return Open(obj, "invert");
+ return Open(filter, "invert");
}
static int
-OpenPosterize(vlc_object_t *obj)
+OpenPosterize(filter_t *filter)
{
- return Open(obj, "posterize");
+ return Open(filter, "posterize");
}
static int
-OpenSepia(vlc_object_t *obj)
+OpenSepia(filter_t *filter)
{
- return Open(obj, "sepia");
+ return Open(filter, "sepia");
}
static int
-OpenSharpen(vlc_object_t *obj)
+OpenSharpen(filter_t *filter)
{
- return Open(obj, "sharpen");
+ return Open(filter, "sharpen");
}
static int
-OpenPsychedelic(vlc_object_t *obj)
+OpenPsychedelic(filter_t *filter)
{
- return Open(obj, "psychedelic");
+ return Open(filter, "psychedelic");
}
static int
-OpenCustom(vlc_object_t *obj)
+OpenCustom(filter_t *filter)
{
- return Open(obj, "custom");
+ return Open(filter, "custom");
}
#define CI_CUSTOM_FILTER_TEXT N_("Use a specific Core Image Filter")
@@ -763,37 +761,36 @@ OpenCustom(vlc_object_t *obj)
"Example: 'CICrystallize', 'CIBumpDistortion', 'CIThermal', 'CIComicEffect'")
vlc_module_begin()
- set_capability("video filter", 0)
set_category(CAT_VIDEO)
set_subcategory(SUBCAT_VIDEO_VFILTER)
set_description(N_("Mac OS X hardware video filters"))
add_submodule()
- set_callback(OpenAdjust)
+ set_callback_video_filter(OpenAdjust)
add_shortcut("adjust")
add_submodule()
- set_callback(OpenInvert)
+ set_callback_video_filter(OpenInvert)
add_shortcut("invert")
add_submodule()
- set_callback(OpenPosterize)
+ set_callback_video_filter(OpenPosterize)
add_shortcut("posterize")
add_submodule()
- set_callback(OpenSepia)
+ set_callback_video_filter(OpenSepia)
add_shortcut("sepia")
add_submodule()
- set_callback(OpenSharpen)
+ set_callback_video_filter(OpenSharpen)
add_shortcut("sharpen")
add_submodule()
- set_callback(OpenPsychedelic)
+ set_callback_video_filter(OpenPsychedelic)
add_shortcut("psychedelic")
add_submodule()
- set_callback(OpenCustom)
+ set_callback_video_filter(OpenCustom)
add_shortcut("ci")
add_string("ci-filter", "CIComicEffect", CI_CUSTOM_FILTER_TEXT, CI_CUSTOM_FILTER_LONGTEXT, true);
vlc_module_end()
diff --git a/modules/video_filter/colorthres.c b/modules/video_filter/colorthres.c
index 69148d0226..6bc36ec445 100644
--- a/modules/video_filter/colorthres.c
+++ b/modules/video_filter/colorthres.c
@@ -42,7 +42,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static picture_t *FilterPacked( filter_t *, picture_t * );
VIDEO_FILTER_WRAPPER_CLOSE( Filter, Destroy )
@@ -70,14 +70,13 @@ vlc_module_begin ()
set_help(COLOR_HELP)
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_capability( "video filter", 0 )
add_rgb(CFG_PREFIX "color", 0x00FF0000, COLOR_TEXT, COLOR_LONGTEXT)
change_integer_list( pi_color_values, ppsz_color_descriptions )
add_integer( CFG_PREFIX "saturationthres", 20,
N_("Saturation threshold"), "", false )
add_integer( CFG_PREFIX "similaritythres", 15,
N_("Similarity threshold"), "", false )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
static const char *const ppsz_filter_options[] = {
@@ -111,9 +110,8 @@ static const struct vlc_filter_operations packed_filter_ops =
*****************************************************************************
* This function allocates and initializes a adjust vout method.
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys;
switch( p_filter->fmt_in.video.i_chroma )
diff --git a/modules/video_filter/croppadd.c b/modules/video_filter/croppadd.c
index 318083b4df..e4cefc458b 100644
--- a/modules/video_filter/croppadd.c
+++ b/modules/video_filter/croppadd.c
@@ -37,7 +37,7 @@
/****************************************************************************
* Local prototypes
****************************************************************************/
-static int OpenFilter ( vlc_object_t * );
+static int OpenFilter ( filter_t * );
VIDEO_FILTER_WRAPPER(Filter)
@@ -75,8 +75,7 @@ VIDEO_FILTER_WRAPPER(Filter)
vlc_module_begin ()
set_shortname( N_("Croppadd") )
set_description( N_("Video cropping filter") )
- set_capability( "video filter", 0 )
- set_callback( OpenFilter )
+ set_callback_video_filter( OpenFilter )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER );
@@ -123,9 +122,8 @@ typedef struct
/*****************************************************************************
* OpenFilter: probe the filter and return score
*****************************************************************************/
-static int OpenFilter( vlc_object_t *p_this )
+static int OpenFilter( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t*)p_this;
filter_sys_t *p_sys;
if( !p_filter->b_allow_fmt_out_change )
diff --git a/modules/video_filter/edgedetection.c b/modules/video_filter/edgedetection.c
index cbd08d42e9..84b6dbe8fa 100644
--- a/modules/video_filter/edgedetection.c
+++ b/modules/video_filter/edgedetection.c
@@ -45,7 +45,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Open( vlc_object_t * );
+static int Open( filter_t * );
static void Close( filter_t * );
static picture_t *new_frame( filter_t * );
static picture_t *Filter( filter_t *, picture_t * );
@@ -72,8 +72,7 @@ vlc_module_begin ()
set_help( EDGE_DETECTION_LONGTEXT )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_capability( "video filter", 0 )
- set_callback( Open )
+ set_callback_video_filter( Open )
vlc_module_end ()
@@ -100,10 +99,9 @@ static const struct vlc_filter_operations filter_ops =
* needed so that the Sobel operator does not give a high response for noise,
* or small changes in the image.
*****************************************************************************/
-static int Open( vlc_object_t *p_this )
+static int Open( filter_t *p_filter )
{
int i_ret;
- filter_t *p_filter = (filter_t *)p_this;
filter_owner_t owner = {
.video = &filter_video_edge_cbs,
.sys = p_filter,
diff --git a/modules/video_filter/erase.c b/modules/video_filter/erase.c
index 618036ee5a..4535f77740 100644
--- a/modules/video_filter/erase.c
+++ b/modules/video_filter/erase.c
@@ -39,7 +39,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static void FilterErase( filter_t *, picture_t *, picture_t * );
static int EraseCallback( vlc_object_t *, char const *,
@@ -64,7 +64,6 @@ VIDEO_FILTER_WRAPPER_CLOSE( Filter, Destroy )
vlc_module_begin ()
set_description( N_("Erase video filter") )
set_shortname( N_( "Erase" ))
- set_capability( "video filter", 0 )
set_help(ERASE_HELP)
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
@@ -74,7 +73,7 @@ vlc_module_begin ()
add_integer( CFG_PREFIX "y", 0, POSY_TEXT, POSY_LONGTEXT, false )
add_shortcut( "erase" )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
static const char *const ppsz_filter_options[] = {
@@ -123,9 +122,8 @@ static void LoadMask( filter_t *p_filter, const char *psz_filename )
/*****************************************************************************
* Create
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys;
char *psz_filename;
diff --git a/modules/video_filter/extract.c b/modules/video_filter/extract.c
index 3d9cba50eb..0403cfbb23 100644
--- a/modules/video_filter/extract.c
+++ b/modules/video_filter/extract.c
@@ -39,7 +39,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static int ExtractCallback( vlc_object_t *, char const *,
vlc_value_t, vlc_value_t, void * );
@@ -66,14 +66,13 @@ vlc_module_begin ()
set_shortname( N_("Extract" ))
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_capability( "video filter", 0 )
add_shortcut( "extract" )
add_integer_with_range( FILTER_PREFIX "component", 0xFF0000, 1, 0xFFFFFF,
COMPONENT_TEXT, COMPONENT_LONGTEXT, false )
change_integer_list( pi_component_values, ppsz_component_descriptions )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
static const char *const ppsz_filter_options[] = {
@@ -91,10 +90,8 @@ typedef struct
/*****************************************************************************
* Create
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
-
switch( p_filter->fmt_in.video.i_chroma )
{
case VLC_CODEC_I420:
diff --git a/modules/video_filter/fps.c b/modules/video_filter/fps.c
index e58e2a8307..721a558319 100644
--- a/modules/video_filter/fps.c
+++ b/modules/video_filter/fps.c
@@ -33,7 +33,7 @@
#include <vlc_filter.h>
#include <vlc_picture.h>
-static int Open( vlc_object_t *p_this);
+static int Open( filter_t * );
static picture_t *Filter( filter_t *p_filter, picture_t *p_picture);
#define CFG_PREFIX "fps-"
@@ -43,13 +43,12 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_picture);
vlc_module_begin ()
set_description( N_("FPS conversion video filter") )
set_shortname( N_("FPS Converter" ))
- set_capability( "video filter", 0 )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
add_shortcut( "fps" )
add_string( CFG_PREFIX "fps", NULL, FPS_TEXT, FPS_TEXT, false )
- set_callback( Open )
+ set_callback_video_filter( Open )
vlc_module_end ()
static const char *const ppsz_filter_options[] = {
@@ -146,9 +145,8 @@ static const struct vlc_filter_operations filter_ops =
.filter_video = Filter, .close = Close,
};
-static int Open( vlc_object_t *p_this)
+static int Open( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t*)p_this;
filter_sys_t *p_sys;
/* This filter cannot change the format. */
diff --git a/modules/video_filter/freeze.c b/modules/video_filter/freeze.c
index c296923a3a..a1f5818335 100644
--- a/modules/video_filter/freeze.c
+++ b/modules/video_filter/freeze.c
@@ -71,17 +71,16 @@ static void freeze_free_allocated_data( filter_t * );
#define CFG_PREFIX "freeze-"
-static int Open ( vlc_object_t * );
+static int Open ( filter_t * );
static void Close( filter_t * );
vlc_module_begin()
set_description( N_("Freezing interactive video filter") )
set_shortname( N_("Freeze" ) )
- set_capability( "video filter", 0 )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_callback( Open )
+ set_callback_video_filter( Open )
vlc_module_end()
/*****************************************************************************
@@ -98,9 +97,8 @@ static const struct vlc_filter_operations filter_ops =
/**
* Open the filter
*/
-static int Open( vlc_object_t *p_this )
+static int Open( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys;
/* Assert video in match with video out */
diff --git a/modules/video_filter/gaussianblur.c b/modules/video_filter/gaussianblur.c
index 10dd001bc8..fd2c900bc9 100644
--- a/modules/video_filter/gaussianblur.c
+++ b/modules/video_filter/gaussianblur.c
@@ -38,7 +38,7 @@
/*****************************************************************************
* Module descriptor
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
#define SIGMA_MIN (0.01)
#define SIGMA_MAX (4096.0)
@@ -56,7 +56,6 @@ vlc_module_begin ()
set_description( N_("Gaussian blur video filter") )
set_shortname( N_( "Gaussian Blur" ))
set_help(GAUSSIAN_HELP)
- set_capability( "video filter", 0 )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
@@ -64,7 +63,7 @@ vlc_module_begin ()
SIGMA_TEXT, SIGMA_LONGTEXT,
false )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
/*****************************************************************************
@@ -121,10 +120,8 @@ static void gaussianblur_InitDistribution( filter_sys_t *p_sys )
p_sys->pt_distribution = pt_distribution;
}
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
-
if( p_filter->fmt_in.video.i_chroma != VLC_CODEC_I420
&& p_filter->fmt_in.video.i_chroma != VLC_CODEC_J420
&& p_filter->fmt_in.video.i_chroma != VLC_CODEC_YV12
diff --git a/modules/video_filter/gradfun.c b/modules/video_filter/gradfun.c
index 141642a8bc..2bc6e36d37 100644
--- a/modules/video_filter/gradfun.c
+++ b/modules/video_filter/gradfun.c
@@ -39,7 +39,7 @@
/*****************************************************************************
* Module descriptor
*****************************************************************************/
-static int Open (vlc_object_t *);
+static int Open (filter_t *);
#define CFG_PREFIX "gradfun-"
@@ -57,7 +57,6 @@ vlc_module_begin()
set_description(N_("Gradfun video filter"))
set_shortname(N_("Gradfun"))
set_help(N_("Debanding algorithm"))
- set_capability("video filter", 0)
set_category(CAT_VIDEO)
set_subcategory(SUBCAT_VIDEO_VFILTER)
add_integer_with_range(CFG_PREFIX "radius", 16, RADIUS_MIN, RADIUS_MAX,
@@ -65,7 +64,7 @@ vlc_module_begin()
add_float_with_range(CFG_PREFIX "strength", 1.2, STRENGTH_MIN, STRENGTH_MAX,
STRENGTH_TEXT, STRENGTH_LONGTEXT, false)
- set_callback(Open)
+ set_callback_video_filter(Open)
vlc_module_end()
/*****************************************************************************
@@ -109,9 +108,8 @@ typedef struct
struct vf_priv_s cfg;
} filter_sys_t;
-static int Open(vlc_object_t *object)
+static int Open(filter_t *filter)
{
- filter_t *filter = (filter_t *)object;
const vlc_fourcc_t fourcc = filter->fmt_in.video.i_chroma;
const vlc_chroma_description_t *chroma = vlc_fourcc_GetChromaDescription(fourcc);
diff --git a/modules/video_filter/gradient.c b/modules/video_filter/gradient.c
index 7acd16a008..943cd64fbd 100644
--- a/modules/video_filter/gradient.c
+++ b/modules/video_filter/gradient.c
@@ -43,7 +43,7 @@ enum { GRADIENT, EDGE, HOUGH };
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static int GradientCallback( vlc_object_t *, char const *,
vlc_value_t, vlc_value_t,
@@ -79,7 +79,6 @@ vlc_module_begin ()
set_description( N_("Gradient video filter") )
set_shortname( N_( "Gradient" ))
set_help(GRADIENT_HELP)
- set_capability( "video filter", 0 )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
@@ -93,7 +92,7 @@ vlc_module_begin ()
CARTOON_TEXT, CARTOON_LONGTEXT, false )
add_shortcut( "gradient" )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
static const char *const ppsz_filter_options[] = {
@@ -128,9 +127,8 @@ typedef struct
*****************************************************************************
* This function allocates and initializes a Distort vout method.
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
char *psz_method;
switch( p_filter->fmt_in.video.i_chroma )
diff --git a/modules/video_filter/grain.c b/modules/video_filter/grain.c
index 024ba4c55c..12d4dfbcf6 100644
--- a/modules/video_filter/grain.c
+++ b/modules/video_filter/grain.c
@@ -40,7 +40,7 @@
/*****************************************************************************
* Module descriptor
*****************************************************************************/
-static int Open (vlc_object_t *);
+static int Open (filter_t *);
VIDEO_FILTER_WRAPPER_CLOSE(Filter, Close)
#define BANK_SIZE (64)
@@ -63,7 +63,6 @@ vlc_module_begin()
set_description(N_("Grain video filter"))
set_shortname( N_("Grain"))
set_help(N_("Adds filtered gaussian noise"))
- set_capability( "video filter", 0 )
set_category(CAT_VIDEO)
set_subcategory(SUBCAT_VIDEO_VFILTER)
add_float_with_range(CFG_PREFIX "variance", 2.0, VARIANCE_MIN, VARIANCE_MAX,
@@ -72,7 +71,7 @@ vlc_module_begin()
PERIOD_MIN_TEXT, PERIOD_MIN_LONGTEXT, false)
add_integer_with_range(CFG_PREFIX "period-max", 3*PERIOD_MAX/4, PERIOD_MIN, PERIOD_MAX,
PERIOD_MAX_TEXT, PERIOD_MAX_LONGTEXT, false)
- set_callback(Open)
+ set_callback_video_filter(Open)
vlc_module_end()
/*****************************************************************************
@@ -368,10 +367,8 @@ static int Callback(vlc_object_t *object, char const *cmd,
return VLC_SUCCESS;
}
-static int Open(vlc_object_t *object)
+static int Open(filter_t *filter)
{
- filter_t *filter = (filter_t *)object;
-
const vlc_chroma_description_t *chroma =
vlc_fourcc_GetChromaDescription(filter->fmt_in.video.i_chroma);
if (!chroma || chroma->plane_count < 3 || chroma->pixel_size != 1) {
diff --git a/modules/video_filter/hqdn3d.c b/modules/video_filter/hqdn3d.c
index b1413a2ff7..8f7acdfa73 100644
--- a/modules/video_filter/hqdn3d.c
+++ b/modules/video_filter/hqdn3d.c
@@ -40,7 +40,7 @@
/*****************************************************************************
* Local protypes
*****************************************************************************/
-static int Open (vlc_object_t *);
+static int Open (filter_t *);
static void Close (filter_t *);
static picture_t *Filter (filter_t *, picture_t *);
static int DenoiseCallback( vlc_object_t *p_this, char const *psz_var,
@@ -61,7 +61,6 @@ static int DenoiseCallback( vlc_object_t *p_this, char const *psz_var,
vlc_module_begin()
set_shortname(N_("HQ Denoiser 3D"))
set_description(N_("High Quality 3D Denoiser filter"))
- set_capability("video filter", 0)
set_category(CAT_VIDEO)
set_subcategory(SUBCAT_VIDEO_VFILTER)
@@ -76,7 +75,7 @@ vlc_module_begin()
add_shortcut("hqdn3d")
- set_callback(Open)
+ set_callback_video_filter(Open)
vlc_module_end()
static const char *const filter_options[] = {
@@ -100,9 +99,8 @@ typedef struct
/*****************************************************************************
* Open
*****************************************************************************/
-static int Open(vlc_object_t *this)
+static int Open(filter_t *filter)
{
- filter_t *filter = (filter_t *)this;
filter_sys_t *sys;
struct vf_priv_s *cfg;
const video_format_t *fmt_in = &filter->fmt_in.video;
diff --git a/modules/video_filter/invert.c b/modules/video_filter/invert.c
index c77a86d311..5cdb1fceb1 100644
--- a/modules/video_filter/invert.c
+++ b/modules/video_filter/invert.c
@@ -36,7 +36,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
VIDEO_FILTER_WRAPPER(Filter)
@@ -48,9 +48,8 @@ vlc_module_begin ()
set_shortname( N_("Color inversion" ))
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_capability( "video filter", 0 )
add_shortcut( "invert" )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
/*****************************************************************************
@@ -58,9 +57,8 @@ vlc_module_end ()
*****************************************************************************
* This function allocates and initializes a Invert vout method.
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
vlc_fourcc_t fourcc = p_filter->fmt_in.video.i_chroma;
if( fourcc == VLC_CODEC_YUVP || fourcc == VLC_CODEC_RGBP
diff --git a/modules/video_filter/magnify.c b/modules/video_filter/magnify.c
index ebeaec5876..613b98c66d 100644
--- a/modules/video_filter/magnify.c
+++ b/modules/video_filter/magnify.c
@@ -41,17 +41,16 @@
/*****************************************************************************
* Module descriptor
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static void Destroy ( filter_t * );
vlc_module_begin ()
set_description( N_("Magnify/Zoom interactive video filter") )
set_shortname( N_( "Magnify" ))
- set_capability( "video filter", 0 )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
@@ -88,9 +87,8 @@ typedef struct
/*****************************************************************************
* Create:
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys;
/* */
diff --git a/modules/video_filter/mirror.c b/modules/video_filter/mirror.c
index 0d8d4c7f7e..ea639dd711 100644
--- a/modules/video_filter/mirror.c
+++ b/modules/video_filter/mirror.c
@@ -40,7 +40,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static void VerticalMirror( picture_t *, picture_t *, int plane, bool );
static void HorizontalMirror( picture_t *, picture_t *, int, bool );
@@ -80,7 +80,6 @@ vlc_module_begin ()
set_help( N_("Splits video in two same parts, like in a mirror") )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_capability( "video filter", 0 )
add_integer( CFG_PREFIX "split", 0, ORIENTATION_TEXT,
ORIENTATION_LONGTEXT, false )
change_integer_list( pi_orientation_values,
@@ -88,7 +87,7 @@ vlc_module_begin ()
add_integer( CFG_PREFIX "direction", 0, DIRECTION_TEXT,
DIRECTION_LONGTEXT, false )
change_integer_list( pi_direction_values, ppsz_direction_descriptions )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
/*****************************************************************************
@@ -111,9 +110,8 @@ typedef struct
*****************************************************************************
* This function allocates and initializes a Mirror vout method.
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys;
switch( p_filter->fmt_in.video.i_chroma )
diff --git a/modules/video_filter/motionblur.c b/modules/video_filter/motionblur.c
index d2235a1767..2868c83b07 100644
--- a/modules/video_filter/motionblur.c
+++ b/modules/video_filter/motionblur.c
@@ -42,7 +42,7 @@
*****************************************************************************/
typedef struct filter_sys_t filter_sys_t;
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static void RenderBlur ( filter_sys_t *, picture_t *, picture_t * );
static int MotionBlurCallback( vlc_object_t *, char const *,
vlc_value_t, vlc_value_t, void * );
@@ -59,7 +59,6 @@ VIDEO_FILTER_WRAPPER_CLOSE(Filter, Destroy)
vlc_module_begin ()
set_shortname( N_("Motion blur") )
set_description( N_("Motion blur filter") )
- set_capability( "video filter", 0 )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
@@ -68,7 +67,7 @@ vlc_module_begin ()
add_shortcut( "blur" )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
static const char *const ppsz_filter_options[] = {
@@ -88,10 +87,8 @@ struct filter_sys_t
/*****************************************************************************
* Create
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
-
const vlc_chroma_description_t *p_chroma =
vlc_fourcc_GetChromaDescription( p_filter->fmt_in.video.i_chroma );
if( p_chroma == NULL || p_chroma->plane_count == 0 )
diff --git a/modules/video_filter/motiondetect.c b/modules/video_filter/motiondetect.c
index ce6d35396d..a1049607c8 100644
--- a/modules/video_filter/motiondetect.c
+++ b/modules/video_filter/motiondetect.c
@@ -38,7 +38,7 @@
/*****************************************************************************
* Module descriptor
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static void Destroy ( filter_t * );
#define FILTER_PREFIX "motiondetect-"
@@ -48,10 +48,9 @@ vlc_module_begin ()
set_shortname( N_( "Motion Detect" ))
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_capability( "video filter", 0 )
add_shortcut( "motion" )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
@@ -94,9 +93,8 @@ static void Flush(filter_t *p_filter)
/*****************************************************************************
* Create
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
const video_format_t *p_fmt = &p_filter->fmt_in.video;
filter_sys_t *p_sys;
bool is_yuv_planar;
diff --git a/modules/video_filter/oldmovie.c b/modules/video_filter/oldmovie.c
index 730fb7ef25..2c0ef1f095 100644
--- a/modules/video_filter/oldmovie.c
+++ b/modules/video_filter/oldmovie.c
@@ -172,24 +172,22 @@ static int oldmovie_sliding_offset_apply( filter_t *p_filter, picture_t *p_pic_
* Module descriptor
*****************************************************************************/
-static int Open ( vlc_object_t * );
+static int Open ( filter_t * );
static void Close( filter_t * );
vlc_module_begin()
set_description( N_("Old movie effect video filter") )
set_shortname( N_( "Old movie" ))
- set_capability( "video filter", 0 )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_callback( Open )
+ set_callback_video_filter( Open )
vlc_module_end()
/**
* Open the filter
*/
-static int Open( vlc_object_t *p_this ) {
- filter_t *p_filter = (filter_t *)p_this;
+static int Open( filter_t *p_filter ) {
filter_sys_t *p_sys;
/* Assert video in match with video out */
diff --git a/modules/video_filter/opencv_wrapper.c b/modules/video_filter/opencv_wrapper.c
index 0b6e77c630..b2e1f7aa5d 100644
--- a/modules/video_filter/opencv_wrapper.c
+++ b/modules/video_filter/opencv_wrapper.c
@@ -45,7 +45,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static void Destroy ( filter_t * );
static picture_t* Filter( filter_t*, picture_t* );
@@ -70,9 +70,8 @@ vlc_module_begin ()
set_shortname( N_("OpenCV" ))
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_capability( "video filter", 0 )
add_shortcut( "opencv_wrapper" )
- set_callback( Create )
+ set_callback_video_filter( Create )
add_float_with_range( "opencv-scale", 1.0, 0.1, 2.0,
N_("Scale factor (0.1-2.0)"),
N_("Amount by which to scale the picture before sending it to the internal OpenCV filter"),
@@ -144,9 +143,8 @@ typedef struct
*****************************************************************************
* This function allocates and initializes a opencv_wrapper vout method.
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t* p_filter )
{
- filter_t* p_filter = (filter_t*)p_this;
filter_sys_t *p_sys;
char *psz_chroma, *psz_output;
diff --git a/modules/video_filter/posterize.c b/modules/video_filter/posterize.c
index 1c931f829b..cbdea76b91 100644
--- a/modules/video_filter/posterize.c
+++ b/modules/video_filter/posterize.c
@@ -40,7 +40,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static void PlanarYUVPosterize( picture_t *, picture_t *, int);
static void PackedYUVPosterize( picture_t *, picture_t *, int);
@@ -68,11 +68,10 @@ vlc_module_begin ()
set_help( N_("Posterize video by lowering the number of colors") )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_capability( "video filter", 0 )
add_integer_with_range( CFG_PREFIX "level", 6, 2, 256,
POSTERIZE_LEVEL_TEXT, POSTERIZE_LEVEL_LONGTEXT,
false )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
/*****************************************************************************
@@ -94,9 +93,8 @@ typedef struct
*****************************************************************************
* This function allocates and initializes a Posterize vout method.
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys;
switch( p_filter->fmt_in.video.i_chroma )
diff --git a/modules/video_filter/postproc.c b/modules/video_filter/postproc.c
index 6f41aad0c6..0b5856d19f 100644
--- a/modules/video_filter/postproc.c
+++ b/modules/video_filter/postproc.c
@@ -53,7 +53,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int OpenPostproc( vlc_object_t * );
+static int OpenPostproc( filter_t * );
VIDEO_FILTER_WRAPPER_CLOSE(PostprocPict, ClosePostproc)
@@ -84,9 +84,7 @@ vlc_module_begin ()
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_capability( "video filter", 0 )
-
- set_callback( OpenPostproc )
+ set_callback_video_filter( OpenPostproc )
add_integer_with_range( FILTER_PREFIX "q", PP_QUALITY_MAX, 0,
PP_QUALITY_MAX, Q_TEXT, Q_LONGTEXT, false )
@@ -118,9 +116,8 @@ typedef struct
/*****************************************************************************
* OpenPostproc: probe and open the postproc
*****************************************************************************/
-static int OpenPostproc( vlc_object_t *p_this )
+static int OpenPostproc( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys;
vlc_value_t val, val_orig;
const char *desc;
diff --git a/modules/video_filter/psychedelic.c b/modules/video_filter/psychedelic.c
index 49d9607569..1a7e7eda2a 100644
--- a/modules/video_filter/psychedelic.c
+++ b/modules/video_filter/psychedelic.c
@@ -40,7 +40,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
VIDEO_FILTER_WRAPPER_CLOSE(Filter, Destroy)
@@ -50,12 +50,11 @@ VIDEO_FILTER_WRAPPER_CLOSE(Filter, Destroy)
vlc_module_begin ()
set_description( N_("Psychedelic video filter") )
set_shortname( N_( "Psychedelic" ))
- set_capability( "video filter", 0 )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
add_shortcut( "psychedelic" )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
/*****************************************************************************
@@ -77,10 +76,8 @@ typedef struct
*****************************************************************************
* This function allocates and initializes a Distort vout method.
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
-
const vlc_fourcc_t fourcc = p_filter->fmt_in.video.i_chroma;
const vlc_chroma_description_t *p_chroma = vlc_fourcc_GetChromaDescription( fourcc );
if( !p_chroma || p_chroma->plane_count != 3 || p_chroma->pixel_size != 1 ) {
diff --git a/modules/video_filter/puzzle.c b/modules/video_filter/puzzle.c
index 15f7a9e677..ceb8282f48 100644
--- a/modules/video_filter/puzzle.c
+++ b/modules/video_filter/puzzle.c
@@ -77,13 +77,12 @@ static const char *const ppsz_rotation_descriptions[] = { N_("0"), N_("0/180"),
#define CFG_PREFIX "puzzle-"
-static int Open ( vlc_object_t * );
+static int Open ( filter_t * );
static void Close( filter_t * );
vlc_module_begin()
set_description( N_("Puzzle interactive game video filter") )
set_shortname( N_( "Puzzle" ))
- set_capability( "video filter", 0 )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
@@ -110,7 +109,7 @@ vlc_module_begin()
MODE_TEXT, MODE_LONGTEXT, false )
change_integer_list(pi_mode_values, ppsz_mode_descriptions )
- set_callback( Open )
+ set_callback_video_filter( Open )
vlc_module_end()
/*****************************************************************************
@@ -124,9 +123,8 @@ const char *const ppsz_filter_options[] = {
/**
* Open the filter
*/
-static int Open( vlc_object_t *p_this )
+static int Open( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys;
/* Assert video in match with video out */
diff --git a/modules/video_filter/ripple.c b/modules/video_filter/ripple.c
index f4bf90fb49..9a7d6d0e94 100644
--- a/modules/video_filter/ripple.c
+++ b/modules/video_filter/ripple.c
@@ -40,7 +40,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
VIDEO_FILTER_WRAPPER(Filter)
@@ -50,12 +50,11 @@ VIDEO_FILTER_WRAPPER(Filter)
vlc_module_begin ()
set_description( N_("Ripple video filter") )
set_shortname( N_( "Ripple" ))
- set_capability( "video filter", 0 )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
add_shortcut( "ripple" )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
/*****************************************************************************
@@ -75,10 +74,8 @@ typedef struct
*****************************************************************************
* This function allocates and initializes a Distort vout method.
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
-
const vlc_chroma_description_t *p_chroma =
vlc_fourcc_GetChromaDescription( p_filter->fmt_in.video.i_chroma );
if( p_chroma == NULL || p_chroma->plane_count == 0 )
diff --git a/modules/video_filter/rotate.c b/modules/video_filter/rotate.c
index 5c470171f8..e4232cce2c 100644
--- a/modules/video_filter/rotate.c
+++ b/modules/video_filter/rotate.c
@@ -42,7 +42,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static picture_t *FilterPacked( filter_t *, picture_t * );
VIDEO_FILTER_WRAPPER_CLOSE(Filter, Destroy)
@@ -65,7 +65,6 @@ static int RotateCallback( vlc_object_t *p_this, char const *psz_var,
vlc_module_begin ()
set_description( N_("Rotate video filter") )
set_shortname( N_( "Rotate" ))
- set_capability( "video filter", 0 )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
@@ -74,7 +73,7 @@ vlc_module_begin ()
MOTION_LONGTEXT, false )
add_shortcut( "rotate" )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
static const char *const ppsz_filter_options[] = {
@@ -125,9 +124,8 @@ static const struct vlc_filter_operations packed_filter_ops =
/*****************************************************************************
* Create: allocates Distort video filter
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys;
if( p_filter->fmt_in.video.i_chroma != p_filter->fmt_out.video.i_chroma )
diff --git a/modules/video_filter/scene.c b/modules/video_filter/scene.c
index 0de53fd1b2..0ddb6f1528 100644
--- a/modules/video_filter/scene.c
+++ b/modules/video_filter/scene.c
@@ -44,7 +44,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static void Destroy ( filter_t * );
static picture_t *Filter( filter_t *, picture_t * );
@@ -96,7 +96,6 @@ vlc_module_begin ()
set_help(SCENE_HELP)
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_capability( "video filter", 0 )
/* General options */
add_string( CFG_PREFIX "format", "png",
@@ -116,7 +115,7 @@ vlc_module_begin ()
add_integer_with_range( CFG_PREFIX "ratio", 50, 1, INT_MAX,
RATIO_TEXT, RATIO_LONGTEXT, false )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
static const char *const ppsz_vfilter_options[] = {
@@ -150,9 +149,8 @@ typedef struct
/*****************************************************************************
* Create: initialize and set ops
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys;
const vlc_chroma_description_t *p_chroma =
@@ -167,15 +165,15 @@ static int Create( vlc_object_t *p_this )
if( p_filter->p_sys == NULL )
return VLC_ENOMEM;
- p_sys->p_image = image_HandlerCreate( p_this );
+ p_sys->p_image = image_HandlerCreate( p_filter );
if( !p_sys->p_image )
{
- msg_Err( p_this, "Couldn't get handle to image conversion routines." );
+ msg_Err( p_filter, "Couldn't get handle to image conversion routines." );
free( p_sys );
return VLC_EGENERIC;
}
- p_sys->psz_format = var_CreateGetString( p_this, CFG_PREFIX "format" );
+ p_sys->psz_format = var_CreateGetString( p_filter, CFG_PREFIX "format" );
p_sys->i_format = image_Type2Fourcc( p_sys->psz_format );
if( !p_sys->i_format )
{
@@ -186,14 +184,14 @@ static int Create( vlc_object_t *p_this )
free( p_sys );
return VLC_EGENERIC;
}
- p_sys->i_width = var_CreateGetInteger( p_this, CFG_PREFIX "width" );
- p_sys->i_height = var_CreateGetInteger( p_this, CFG_PREFIX "height" );
- p_sys->i_ratio = var_CreateGetInteger( p_this, CFG_PREFIX "ratio" );
+ p_sys->i_width = var_CreateGetInteger( p_filter, CFG_PREFIX "width" );
+ p_sys->i_height = var_CreateGetInteger( p_filter, CFG_PREFIX "height" );
+ p_sys->i_ratio = var_CreateGetInteger( p_filter, CFG_PREFIX "ratio" );
if( p_sys->i_ratio <= 0)
p_sys->i_ratio = 1;
- p_sys->b_replace = var_CreateGetBool( p_this, CFG_PREFIX "replace" );
- p_sys->psz_prefix = var_CreateGetString( p_this, CFG_PREFIX "prefix" );
- p_sys->psz_path = var_GetNonEmptyString( p_this, CFG_PREFIX "path" );
+ p_sys->b_replace = var_CreateGetBool( p_filter, CFG_PREFIX "replace" );
+ p_sys->psz_prefix = var_CreateGetString( p_filter, CFG_PREFIX "prefix" );
+ p_sys->psz_path = var_GetNonEmptyString( p_filter, CFG_PREFIX "path" );
if( p_sys->psz_path == NULL )
p_sys->psz_path = config_GetUserDir( VLC_PICTURES_DIR );
diff --git a/modules/video_filter/sepia.c b/modules/video_filter/sepia.c
index ce4b111ece..0554fd2298 100644
--- a/modules/video_filter/sepia.c
+++ b/modules/video_filter/sepia.c
@@ -41,7 +41,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static void RVSepia( picture_t *, picture_t *, int );
static void PlanarI420Sepia( picture_t *, picture_t *, int);
@@ -65,11 +65,10 @@ vlc_module_begin ()
set_help( N_("Gives video a warmer tone by applying sepia effect") )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_capability( "video filter", 0 )
add_integer_with_range( CFG_PREFIX "intensity", 120, 0, 255,
SEPIA_INTENSITY_TEXT, SEPIA_INTENSITY_LONGTEXT,
false )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
/*****************************************************************************
@@ -109,9 +108,8 @@ typedef struct
*****************************************************************************
* This function allocates and initializes a Sepia vout method.
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys;
/* Allocate structure */
diff --git a/modules/video_filter/sharpen.c b/modules/video_filter/sharpen.c
index e1210c1c58..974ada988e 100644
--- a/modules/video_filter/sharpen.c
+++ b/modules/video_filter/sharpen.c
@@ -49,7 +49,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
static int SharpenCallback( vlc_object_t *, char const *,
vlc_value_t, vlc_value_t, void * );
@@ -67,12 +67,11 @@ vlc_module_begin ()
set_help(SHARPEN_HELP)
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_capability( "video filter", 0 )
add_float_with_range( FILTER_PREFIX "sigma", 0.05, 0.0, 2.0,
SIG_TEXT, SIG_LONGTEXT, false )
change_safe()
add_shortcut( "sharpen" )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
static const char *const ppsz_filter_options[] = {
@@ -96,10 +95,8 @@ typedef struct
*****************************************************************************
* This function allocates and initializes a Sharpen vout method.
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
-
const vlc_fourcc_t fourcc = p_filter->fmt_in.video.i_chroma;
const vlc_chroma_description_t *p_chroma = vlc_fourcc_GetChromaDescription( fourcc );
if( !p_chroma || p_chroma->plane_count != 3 ||
diff --git a/modules/video_filter/transform.c b/modules/video_filter/transform.c
index 481ac5b401..93cfaa9be5 100644
--- a/modules/video_filter/transform.c
+++ b/modules/video_filter/transform.c
@@ -41,7 +41,7 @@
/*****************************************************************************
* Module descriptor
*****************************************************************************/
-static int Open (vlc_object_t *);
+static int Open (filter_t *);
#define CFG_PREFIX "transform-"
@@ -57,7 +57,6 @@ vlc_module_begin()
set_description(N_("Video transformation filter"))
set_shortname(N_("Transformation"))
set_help(N_("Rotate or flip the video"))
- set_capability("video filter", 0)
set_category(CAT_VIDEO)
set_subcategory(SUBCAT_VIDEO_VFILTER)
@@ -66,7 +65,7 @@ vlc_module_begin()
change_safe()
add_shortcut("transform")
- set_callback(Open)
+ set_callback_video_filter(Open)
vlc_module_end()
/*****************************************************************************
@@ -301,9 +300,8 @@ static int Mouse(filter_t *filter, vlc_mouse_t *mouse,
return VLC_SUCCESS;
}
-static int Open(vlc_object_t *object)
+static int Open(filter_t *filter)
{
- filter_t *filter = (filter_t *)object;
const video_format_t *src = &filter->fmt_in.video;
video_format_t *dst = &filter->fmt_out.video;
diff --git a/modules/video_filter/vhs.c b/modules/video_filter/vhs.c
index 001d47295a..e44aff65ed 100644
--- a/modules/video_filter/vhs.c
+++ b/modules/video_filter/vhs.c
@@ -98,25 +98,23 @@ static int vhs_sliding_effect_apply( filter_t *, picture_t * );
* Module descriptor
*****************************************************************************/
-static int Open ( vlc_object_t * );
+static int Open ( filter_t * );
static void Close( filter_t * );
vlc_module_begin()
set_description( N_("VHS movie effect video filter") )
set_shortname( N_("VHS movie" ) )
- set_capability( "video filter", 0 )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
- set_callback( Open )
+ set_callback_video_filter( Open )
vlc_module_end()
/**
* Open the filter
*/
-static int Open( vlc_object_t *p_this )
+static int Open( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t*)p_this;
filter_sys_t *p_sys;
/* Assert video in match with video out */
diff --git a/modules/video_filter/wave.c b/modules/video_filter/wave.c
index 9a7ba89606..dae7b65233 100644
--- a/modules/video_filter/wave.c
+++ b/modules/video_filter/wave.c
@@ -40,7 +40,7 @@
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Create ( vlc_object_t * );
+static int Create ( filter_t * );
/*****************************************************************************
* Module descriptor
@@ -48,12 +48,11 @@ static int Create ( vlc_object_t * );
vlc_module_begin ()
set_description( N_("Wave video filter") )
set_shortname( N_( "Wave" ))
- set_capability( "video filter", 0 )
set_category( CAT_VIDEO )
set_subcategory( SUBCAT_VIDEO_VFILTER )
add_shortcut( "wave" )
- set_callback( Create )
+ set_callback_video_filter( Create )
vlc_module_end ()
VIDEO_FILTER_WRAPPER(Filter)
@@ -75,10 +74,8 @@ typedef struct
*****************************************************************************
* This function allocates and initializes a Distort vout method.
*****************************************************************************/
-static int Create( vlc_object_t *p_this )
+static int Create( filter_t *p_filter )
{
- filter_t *p_filter = (filter_t *)p_this;
-
const vlc_chroma_description_t *p_chroma =
vlc_fourcc_GetChromaDescription( p_filter->fmt_in.video.i_chroma );
if( p_chroma == NULL || p_chroma->plane_count == 0 )
@@ -86,7 +83,7 @@ static int Create( vlc_object_t *p_this )
/* Allocate structure */
filter_sys_t *p_sys = p_filter->p_sys =
- vlc_obj_malloc( p_this, sizeof(*p_sys) );
+ vlc_obj_malloc( VLC_OBJECT(p_filter), sizeof(*p_sys) );
if( !p_sys )
return VLC_ENOMEM;
More information about the vlc-commits
mailing list