Commit 2447adc6 authored by Laurent Aimar's avatar Laurent Aimar

Removed vout_PlacePicture function.

parent f25a03a2
......@@ -185,8 +185,6 @@ struct vout_thread_t
#define VOUT_ALIGN_BOTTOM 0x0008
#define VOUT_ALIGN_VMASK 0x000C
#define MAX_JITTER_SAMPLES 20
/* scaling factor (applied to i_zoom in vout_thread_t) */
#define ZOOM_FP_FACTOR 1000
......@@ -274,7 +272,6 @@ VLC_EXPORT( void, vout_DestroyPicture, ( vout_thread_t *, picture_t *
VLC_EXPORT( void, vout_DisplayPicture, ( vout_thread_t *, picture_t * ) );
VLC_EXPORT( void, vout_LinkPicture, ( vout_thread_t *, picture_t * ) );
VLC_EXPORT( void, vout_UnlinkPicture, ( vout_thread_t *, picture_t * ) );
VLC_EXPORT( void, vout_PlacePicture, ( const vout_thread_t *, unsigned int, unsigned int, unsigned int *, unsigned int *, unsigned int *, unsigned int * ) );
/**
* Return the spu_t object associated to a vout_thread_t.
......
......@@ -619,7 +619,6 @@ vout_OSDIcon
vout_OSDMessage
vout_OSDEpg
vout_OSDSlider
vout_PlacePicture
vout_Request
vout_ShowTextAbsolute
vout_ShowTextRelative
......
......@@ -384,103 +384,6 @@ picture_t *vout_RenderPicture( vout_thread_t *p_vout, picture_t *p_pic,
return PP_OUTPUTPICTURE[0];
}
/**
* Calculate image window coordinates
*
* This function will be accessed by plugins. It calculates the relative
* position of the output window and the image window.
*/
void vout_PlacePicture( const vout_thread_t *p_vout,
unsigned int i_width, unsigned int i_height,
unsigned int *restrict pi_x,
unsigned int *restrict pi_y,
unsigned int *restrict pi_width,
unsigned int *restrict pi_height )
{
if( i_width <= 0 || i_height <= 0 )
{
*pi_width = *pi_height = *pi_x = *pi_y = 0;
return;
}
if( p_vout->b_autoscale )
{
*pi_width = i_width;
*pi_height = i_height;
}
else
{
int i_zoom = p_vout->i_zoom;
/* be realistic, scaling factor confined between .2 and 10. */
if( i_zoom > 10 * ZOOM_FP_FACTOR ) i_zoom = 10 * ZOOM_FP_FACTOR;
else if( i_zoom < ZOOM_FP_FACTOR / 5 ) i_zoom = ZOOM_FP_FACTOR / 5;
unsigned int i_original_width, i_original_height;
if( p_vout->fmt_in.i_sar_num >= p_vout->fmt_in.i_sar_den )
{
i_original_width = p_vout->fmt_in.i_visible_width *
p_vout->fmt_in.i_sar_num / p_vout->fmt_in.i_sar_den;
i_original_height = p_vout->fmt_in.i_visible_height;
}
else
{
i_original_width = p_vout->fmt_in.i_visible_width;
i_original_height = p_vout->fmt_in.i_visible_height *
p_vout->fmt_in.i_sar_den / p_vout->fmt_in.i_sar_num;
}
#ifdef WIN32
/* On windows, inner video window exceeding container leads to black screen */
*pi_width = __MIN( i_width, i_original_width * i_zoom / ZOOM_FP_FACTOR );
*pi_height = __MIN( i_height, i_original_height * i_zoom / ZOOM_FP_FACTOR );
#else
*pi_width = i_original_width * i_zoom / ZOOM_FP_FACTOR ;
*pi_height = i_original_height * i_zoom / ZOOM_FP_FACTOR ;
#endif
}
int64_t i_scaled_width = p_vout->fmt_in.i_visible_width * (int64_t)p_vout->fmt_in.i_sar_num *
*pi_height / p_vout->fmt_in.i_visible_height / p_vout->fmt_in.i_sar_den;
int64_t i_scaled_height = p_vout->fmt_in.i_visible_height * (int64_t)p_vout->fmt_in.i_sar_den *
*pi_width / p_vout->fmt_in.i_visible_width / p_vout->fmt_in.i_sar_num;
if( i_scaled_width <= 0 || i_scaled_height <= 0 )
{
msg_Warn( p_vout, "ignoring broken aspect ratio" );
i_scaled_width = *pi_width;
i_scaled_height = *pi_height;
}
if( i_scaled_width > *pi_width )
*pi_height = i_scaled_height;
else
*pi_width = i_scaled_width;
switch( p_vout->i_alignment & VOUT_ALIGN_HMASK )
{
case VOUT_ALIGN_LEFT:
*pi_x = 0;
break;
case VOUT_ALIGN_RIGHT:
*pi_x = i_width - *pi_width;
break;
default:
*pi_x = ( i_width - *pi_width ) / 2;
}
switch( p_vout->i_alignment & VOUT_ALIGN_VMASK )
{
case VOUT_ALIGN_TOP:
*pi_y = 0;
break;
case VOUT_ALIGN_BOTTOM:
*pi_y = i_height - *pi_height;
break;
default:
*pi_y = ( i_height - *pi_height ) / 2;
}
}
#undef vout_AllocatePicture
/**
* Allocate a new picture in the heap.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment