- vlc_ureduce( &p_vout->fmt_out.i_sar_num, &p_vout->fmt_out.i_sar_den,
- p_vout->fmt_out.i_sar_num, p_vout->fmt_out.i_sar_den, 0 );
-
- AspectRatio( p_vout->fmt_out.i_aspect, &i_aspect_x, &i_aspect_y );
-
- msg_Dbg( p_vout, "picture out %ix%i (%i,%i,%ix%i), "
- "chroma %4.4s, ar %i:%i, sar %i:%i",
- p_vout->fmt_out.i_width, p_vout->fmt_out.i_height,
- p_vout->fmt_out.i_x_offset, p_vout->fmt_out.i_y_offset,
- p_vout->fmt_out.i_visible_width,
- p_vout->fmt_out.i_visible_height,
- (char*)&p_vout->fmt_out.i_chroma,
- i_aspect_x, i_aspect_y,
- p_vout->fmt_out.i_sar_num, p_vout->fmt_out.i_sar_den );
-
- /* Calculate shifts from system-updated masks */
- MaskToShift( &p_vout->render.i_lrshift, &p_vout->output.i_rrshift,
- p_vout->render.i_rmask );
- MaskToShift( &p_vout->render.i_lgshift, &p_vout->output.i_rgshift,
- p_vout->render.i_gmask );
- MaskToShift( &p_vout->render.i_lbshift, &p_vout->output.i_rbshift,
- p_vout->render.i_bmask );
-
- MaskToShift( &p_vout->output.i_lrshift, &p_vout->output.i_rrshift,
- p_vout->output.i_rmask );
- MaskToShift( &p_vout->output.i_lgshift, &p_vout->output.i_rgshift,
- p_vout->output.i_gmask );
- MaskToShift( &p_vout->output.i_lbshift, &p_vout->output.i_rbshift,
- p_vout->output.i_bmask );
-
- /* Check whether we managed to create direct buffers similar to
- * the render buffers, ie same size and chroma */
- if( ( p_vout->output.i_width == p_vout->render.i_width )
- && ( p_vout->output.i_height == p_vout->render.i_height )
- && ( vout_ChromaCmp( p_vout->output.i_chroma, p_vout->render.i_chroma ) ) )
- {
- /* Cool ! We have direct buffers, we can ask the decoder to
- * directly decode into them ! Map the first render buffers to
- * the first direct buffers, but keep the first direct buffer
- * for memcpy operations */
- p_vout->b_direct = 1;