[vlc-devel] [PATCH] Support VOUT_ASPECT_CHANGE in deinterlace filter
Marian Ďurkovič
md at bts.sk
Fri Sep 12 20:54:00 CEST 2008
> You could probably simply use
> p_sys->p_vout = vout_Request( p_vout, p_sys->p_vout, &p_vout->fmt_in )
> and everything should be done for you.
>
> Could you test and report back ?
Hmm, it's behaves strange.
With:
if( p_vout->i_changes & VOUT_ASPECT_CHANGE )
{
p_vout->i_changes &= ~VOUT_ASPECT_CHANGE;
p_sys->p_vout = vout_Request( p_vout, p_sys->p_vout, &p_vout->fmt_in);
}
it breaks AR for DISCARD and MEAN.
And with:
if( p_vout->i_changes & VOUT_ASPECT_CHANGE )
{
p_vout->i_changes &= ~VOUT_ASPECT_CHANGE;
p_sys->p_vout = vout_Request( p_vout, p_sys->p_vout, &p_vout->fmt_in);
if( p_vout->p_sys->b_half_height )
{
p_vout->fmt_out.i_sar_den *= 2;
p_sys->p_vout->fmt_in.i_sar_den *= 2;
}
}
it destroys and reopens new vout and thus triggers a crash.
Anyway, when I look at modules/video_output/x11/xcommon.c,
VOUT_ASPECT_CHANGE just modifies those variables I change in my patch
plus the variables that are changed in the next few lines of deinterlace
filter. So the vout_Request is probably unnecessarily complicated.
With kind regards,
M.
More information about the vlc-devel
mailing list