X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=modules%2Fvideo_filter%2Fseamcarving.c;h=cd0edac3dd90d9c8b79b30c90474b9c827964aa6;hb=de587c237065de4696d9d035d0504cdf34990d87;hp=22b7e7b2ec0dab607afc5df5e0049575643bc6d6;hpb=13ae40b0efc4f1b1ce205d9a057537047fcab3f4;p=vlc diff --git a/modules/video_filter/seamcarving.c b/modules/video_filter/seamcarving.c index 22b7e7b2ec..cd0edac3dd 100644 --- a/modules/video_filter/seamcarving.c +++ b/modules/video_filter/seamcarving.c @@ -30,12 +30,13 @@ # include "config.h" #endif -#include +#include #include #include #include #include "vlc_filter.h" +#include "filter_picture.h" #include @@ -68,10 +69,6 @@ vlc_module_begin(); set_callbacks( Create, Destroy ); vlc_module_end(); -static const char *ppsz_filter_options[] = { - NULL -}; - struct filter_sys_t { int *p_energy; @@ -87,19 +84,13 @@ static int Create( vlc_object_t *p_this ) /* Allocate structure */ p_filter->p_sys = malloc( sizeof( filter_sys_t ) ); if( p_filter->p_sys == NULL ) - { - msg_Err( p_filter, "out of memory" ); return VLC_ENOMEM; - } p_filter->pf_video_filter = Filter; p_filter->p_sys->p_energy = NULL; p_filter->p_sys->p_grad = NULL; p_filter->p_sys->i_crop = 0; - config_ChainParse( p_filter, FILTER_PREFIX, ppsz_filter_options, - p_filter->p_cfg ); - var_Create( p_filter, "crop", VLC_VAR_INTEGER|VLC_VAR_ISCOMMAND ); var_AddCallback( p_filter, "crop", CropCallback, p_filter->p_sys ); @@ -126,23 +117,13 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic ) if( !p_outpic ) { msg_Warn( p_filter, "can't get output picture" ); - if( p_pic->pf_release ) - p_pic->pf_release( p_pic ); + picture_Release( p_pic ); return NULL; } FilterSeamCarving( p_filter, p_pic, p_outpic ); - p_outpic->date = p_pic->date; - p_outpic->b_force = p_pic->b_force; - p_outpic->i_nb_fields = p_pic->i_nb_fields; - p_outpic->b_progressive = p_pic->b_progressive; - p_outpic->b_top_field_first = p_pic->b_top_field_first; - - if( p_pic->pf_release ) - p_pic->pf_release( p_pic ); - - return p_outpic; + return CopyInfoAndRelease( p_outpic, p_pic ); } static inline int my_min3( int a, int b, int c );