[vlc-devel] [PATCH] Added some more error checking, fixed close function, and fixed some comments
Tristan Matthews
tmatth at videolan.org
Wed Feb 3 11:53:54 CET 2016
Hi,
On Tue, Feb 2, 2016 at 5:01 PM, Odd-Arild Kristensen
<oddarildkristensen at gmail.com> wrote:
> ---
> modules/video_filter/edgedetection.c | 31 ++++++++++++++++++++++---------
> 1 file changed, 22 insertions(+), 9 deletions(-)
>
> diff --git a/modules/video_filter/edgedetection.c b/modules/video_filter/edgedetection.c
> index dce0064..c13070a 100644
> --- a/modules/video_filter/edgedetection.c
> +++ b/modules/video_filter/edgedetection.c
> @@ -86,12 +86,14 @@ struct filter_sys_t
>
> /*****************************************************************************
> * Opens the filter.
> - * Sets up the filer chain. The image needs to be black-and-white in order to
> - * detect any edges. The Gaussian blur is needed so that the Sobel operator
> - * does not give a high response for noise, or small changes in the image.
> + * Allocates and initializes data needed by the filter. The image needs to
> + * be black-and-white in order to detect any edges. The Gaussian blur is
> + * 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 )
> {
> + int ret;
> es_format_t fmt;
> filter_t *p_filter = (filter_t *)p_this;
> filter_sys_t *p_sys;
> @@ -120,11 +122,21 @@ static int Open( vlc_object_t *p_this )
> /* Clear filter chain */
> filter_chain_Reset( p_sys->p_chain, &p_filter->fmt_in, &fmt);
> /* Add adjust filter to turn frame black-and-white */
> - filter_chain_AppendFromString( p_sys->p_chain, "adjust{saturation=0}" );
> - /* Add gaussian blur to the frame so to remove some noise in the frame,
> - which reduces the number 'random' of lines being enhanced. */
> - filter_chain_AppendFromString( p_sys->p_chain, "gaussianblur{deviation=1}" );
> - // fmt = *filter_chain_GetFmtOut( p_filter->p_sys->p_chain );
> + ret = filter_chain_AppendFromString( p_sys->p_chain, "adjust{saturation=0}" );
> + if ( ret == -1 )
> + {
> + msg_Err( p_filter, "Could not append filter to filter chain" );
> + free( p_sys );
> + return VLC_EGENERIC;
> + }
> + /* Add gaussian blur to the frame so to remove noise from the frame */
> + ret = filter_chain_AppendFromString( p_sys->p_chain, "gaussianblur{deviation=1}" );
> + if ( ret == -1 )
> + {
> + msg_Err( p_filter, "Could not append filter to filter chain" );
> + free( p_sys );
> + return VLC_EGENERIC;
> + }
> /* Set callback function */
> p_filter->pf_video_filter = Filter;
> return VLC_SUCCESS;
> @@ -136,6 +148,7 @@ static int Open( vlc_object_t *p_this )
> static int Close( vlc_object_t *p_this )
> {
> filter_t *p_filter = (filter_t *)p_this;
> + filter_chain_Delete( p_filter->p_sys->p_chain );
> free( p_filter->p_sys );
> return VLC_SUCCESS;
> }
> @@ -190,7 +203,7 @@ static int sobel( uint8_t const *p_pixels, const int i_pitch, const int i_lines,
> {
> int i_x_val = 0;
> int i_y_val = 0;
> - /* Check for frame boundry */
> + /* Check for frame boundary */
> if ( i_line == 0 || i_line == i_lines )
> {
> i_y_val = 0;
> --
> 2.2.0
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
Could you send a patch against master instead of your local commits?
See: https://wiki.videolan.org/Git/ and
https://wiki.videolan.org/Sending_Patches/
Best,
Tristan
More information about the vlc-devel
mailing list