[vlc-devel] [PATCH] Support VOUT_ASPECT_CHANGE in deinterlace filter

Laurent Aimar fenrir at via.ecp.fr
Fri Sep 12 20:32:08 CEST 2008


On Fri, Sep 12, 2008, Marian ??urkovi?? wrote:
> Hi all,
> 
>   attached please find a patch with introduces support for on-the-fly AR
> cahnges via VOUT_ASPECT_CHANGE into deinterlace filter. As fenrir pointed
> out, we need to handle AR change differently in case deinterlace reduced
> the number of lines. With this patch, on-the-fly AR change works fine
> together with deinterlace, other filters need similar changes.
> Please review and commit before 0.9.2 release if you find it OK.
>  
> +    if( p_vout->i_changes & VOUT_ASPECT_CHANGE )
> +    {
> +        p_vout->i_changes &= ~VOUT_ASPECT_CHANGE;
> +        p_sys->p_vout->i_changes |= VOUT_ASPECT_CHANGE;
> +
> +        p_vout->fmt_out.i_aspect = p_sys->p_vout->fmt_in.i_aspect =
> +            p_vout->fmt_in.i_aspect;
> +        p_vout->fmt_out.i_sar_num = p_sys->p_vout->fmt_in.i_sar_num =
> +            p_vout->fmt_in.i_sar_num;
> +        p_vout->fmt_out.i_sar_den = p_sys->p_vout->fmt_in.i_sar_den =
> +            p_vout->fmt_in.i_sar_den;
> +
> +        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;
> +        }
> +    }
> +
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 ?

-- 
fenrir



More information about the vlc-devel mailing list