[vlc-devel] [PATCH] Add deinterlacing to libvlc, moz-plugin and activeX
Cyril MATHE
cmathe at actech-innovation.com
Thu May 28 14:18:00 CEST 2009
Le jeudi 28 mai 2009 à 11:27 +0200, Laurent Aimar a écrit :
> Hi,
>
> On Wed, May 27, 2009, Cyril MATHE wrote:
> > Three patches which add deinterlacing in libvlc
> > +void libvlc_video_enable_deinterlace(libvlc_media_player_t *p_mi,
> > + libvlc_exception_t *p_e, int b_enable, char *psz_option)
> > +{
> > + const char *psz_filter_type = "video-filter";
> > + const char *psz_string = "deinterlace";
> > + vlc_value_t val;
> > +
> > + vout_thread_t *p_vout = GetVout( p_mi, p_e );
> > +
> > + if( p_vout )
> > + {
> > + if( b_enable == 1 )
> > + {
> > + /* be sure that the filter name given is supported */
> > + if( ( !strcmp(psz_option, "blend") ) || ( !strcmp(psz_option, "x") ) )
> > + {
> > + val.psz_string = psz_option;
> > + /* set deinterlace filter chosen */
> > + var_Set( p_vout, "sout-deinterlace-mode", val);
> > + /* enable deinterlace */
> > + var_SetString(p_vout, psz_filter_type, psz_string);
> > + }
> > + else
> > + {
> > + libvlc_exception_raise( p_e, "Unsuported or bad deinterlace filter name" );
> > + }
> > + }
> > + else
> > + {
> > + /* disable deinterlace filter */
> > + var_SetString(p_vout, psz_filter_type, "");
> > + }
> > + }
> > + else
> > + {
> > + libvlc_exception_raise( p_e, "Unable to get video output" );
> > + }
> > +
> > + vlc_object_release( p_vout );
> > +}
>
> You should not modify "video-filter"/"vout-filter" directly for deinterlacing.
> Doing so is
> - complicated because some deinterlacing mode does not work with
> "video-filter" as you noticed.
> - you simply broke the selection of current filter to replace it with none or
> deinterlacing (not what the function name says...).
What do you mean by that ?
>
> In 1.1 (and for 1.0 I think), you can simply set "deinterlace" with the
> mode you want on the vout object and everything should be taken care of.
> (like var_SetString( p_vout, "deinterlace", psz_mode ))
>
I try your solution but it doesn't work (I think that I already tried it
in the past)
More information about the vlc-devel
mailing list