Commit 67936bb1 authored by Laurent Aimar's avatar Laurent Aimar

Removed write only vout_thread_t::i_window_width/height/i_alignment/b_autoscale.

parent 9754c0ac
...@@ -102,12 +102,8 @@ struct vout_thread_t ...@@ -102,12 +102,8 @@ struct vout_thread_t
uint16_t i_changes; /**< changes made to the thread. uint16_t i_changes; /**< changes made to the thread.
\see \ref vout_changes */ \see \ref vout_changes */
unsigned b_fullscreen:1; /**< toogle fullscreen display */ unsigned b_fullscreen:1; /**< toogle fullscreen display */
unsigned b_autoscale:1; /**< auto scaling picture or not */
unsigned b_on_top:1; /**< stay always on top of other windows */ unsigned b_on_top:1; /**< stay always on top of other windows */
int i_zoom; /**< scaling factor if no auto */ int i_zoom; /**< scaling factor if no auto */
unsigned int i_window_width; /**< video window width */
unsigned int i_window_height; /**< video window height */
unsigned int i_alignment; /**< video alignment in window */
/**@}*/ /**@}*/
......
...@@ -365,10 +365,8 @@ vout_thread_t * vout_Create( vlc_object_t *p_parent, video_format_t *p_fmt ) ...@@ -365,10 +365,8 @@ vout_thread_t * vout_Create( vlc_object_t *p_parent, video_format_t *p_fmt )
/* Initialize misc stuff */ /* Initialize misc stuff */
p_vout->i_changes = 0; p_vout->i_changes = 0;
p_vout->b_autoscale = 1;
p_vout->i_zoom = ZOOM_FP_FACTOR; p_vout->i_zoom = ZOOM_FP_FACTOR;
p_vout->b_fullscreen = 0; p_vout->b_fullscreen = 0;
p_vout->i_alignment = 0;
p_vout->p->render_time = 10; p_vout->p->render_time = 10;
p_vout->p->c_fps_samples = 0; p_vout->p->c_fps_samples = 0;
vout_statistic_Init( &p_vout->p->statistic ); vout_statistic_Init( &p_vout->p->statistic );
......
...@@ -52,8 +52,6 @@ ...@@ -52,8 +52,6 @@
/***************************************************************************** /*****************************************************************************
* Local prototypes * Local prototypes
*****************************************************************************/ *****************************************************************************/
static void InitWindowSize( vout_thread_t *, unsigned *, unsigned * );
/* Object variables callbacks */ /* Object variables callbacks */
static int ZoomCallback( vlc_object_t *, char const *, static int ZoomCallback( vlc_object_t *, char const *,
vlc_value_t, vlc_value_t, void * ); vlc_value_t, vlc_value_t, void * );
...@@ -169,7 +167,7 @@ void vout_IntfInit( vout_thread_t *p_vout ) ...@@ -169,7 +167,7 @@ void vout_IntfInit( vout_thread_t *p_vout )
var_Create( p_vout, "width", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT ); var_Create( p_vout, "width", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );
var_Create( p_vout, "height", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT ); var_Create( p_vout, "height", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );
p_vout->i_alignment = var_CreateGetInteger( p_vout, "align" ); var_Create( p_vout, "align", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );
var_Create( p_vout, "video-x", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT ); var_Create( p_vout, "video-x", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );
var_Create( p_vout, "video-y", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT ); var_Create( p_vout, "video-y", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );
...@@ -325,7 +323,6 @@ void vout_IntfInit( vout_thread_t *p_vout ) ...@@ -325,7 +323,6 @@ void vout_IntfInit( vout_thread_t *p_vout )
text.psz_string = _("Autoscale video"); text.psz_string = _("Autoscale video");
var_Change( p_vout, "autoscale", VLC_VAR_SETTEXT, &text, NULL ); var_Change( p_vout, "autoscale", VLC_VAR_SETTEXT, &text, NULL );
var_AddCallback( p_vout, "autoscale", ScalingCallback, NULL ); var_AddCallback( p_vout, "autoscale", ScalingCallback, NULL );
p_vout->b_autoscale = var_GetBool( p_vout, "autoscale" );
var_Create( p_vout, "scale", VLC_VAR_FLOAT | VLC_VAR_DOINHERIT var_Create( p_vout, "scale", VLC_VAR_FLOAT | VLC_VAR_DOINHERIT
| VLC_VAR_ISCOMMAND ); | VLC_VAR_ISCOMMAND );
...@@ -334,10 +331,6 @@ void vout_IntfInit( vout_thread_t *p_vout ) ...@@ -334,10 +331,6 @@ void vout_IntfInit( vout_thread_t *p_vout )
var_AddCallback( p_vout, "scale", ScalingCallback, NULL ); var_AddCallback( p_vout, "scale", ScalingCallback, NULL );
p_vout->i_zoom = (int)( ZOOM_FP_FACTOR * var_GetFloat( p_vout, "scale" ) ); p_vout->i_zoom = (int)( ZOOM_FP_FACTOR * var_GetFloat( p_vout, "scale" ) );
/* Initialize the dimensions of the video window */
InitWindowSize( p_vout, &p_vout->i_window_width,
&p_vout->i_window_height );
/* Add a variable to indicate if the window should be on top of others */ /* Add a variable to indicate if the window should be on top of others */
var_Create( p_vout, "video-on-top", VLC_VAR_BOOL | VLC_VAR_DOINHERIT var_Create( p_vout, "video-on-top", VLC_VAR_BOOL | VLC_VAR_DOINHERIT
| VLC_VAR_ISCOMMAND ); | VLC_VAR_ISCOMMAND );
...@@ -631,67 +624,6 @@ void vout_EnableFilter( vout_thread_t *p_vout, const char *psz_name, ...@@ -631,67 +624,6 @@ void vout_EnableFilter( vout_thread_t *p_vout, const char *psz_name,
free( psz_string ); free( psz_string );
} }
/*****************************************************************************
* InitWindowSize: find the initial dimensions the video window should have.
*****************************************************************************
* This function will check the "width", "height" and "zoom" config options and
* will calculate the size that the video window should have.
*****************************************************************************/
static void InitWindowSize( vout_thread_t *p_vout, unsigned *pi_width,
unsigned *pi_height )
{
#define FP_FACTOR 1000 /* our fixed point factor */
int i_width = var_GetInteger( p_vout, "width" );
int i_height = var_GetInteger( p_vout, "height" );
float f_zoom = var_GetFloat( p_vout, "zoom" );
uint64_t ll_zoom = (uint64_t)( FP_FACTOR * f_zoom );
if( i_width > 0 && i_height > 0)
{
*pi_width = (int)( i_width * ll_zoom / FP_FACTOR );
*pi_height = (int)( i_height * ll_zoom / FP_FACTOR );
}
else if( i_width > 0 )
{
*pi_width = (int)( i_width * ll_zoom / FP_FACTOR );
*pi_height = (int)( p_vout->fmt_in.i_visible_height * ll_zoom *
p_vout->fmt_in.i_sar_den * i_width / p_vout->fmt_in.i_sar_num /
FP_FACTOR / p_vout->fmt_in.i_visible_width );
}
else if( i_height > 0 )
{
*pi_height = (int)( i_height * ll_zoom / FP_FACTOR );
*pi_width = (int)( p_vout->fmt_in.i_visible_width * ll_zoom *
p_vout->fmt_in.i_sar_num * i_height / p_vout->fmt_in.i_sar_den /
FP_FACTOR / p_vout->fmt_in.i_visible_height );
}
else if( p_vout->fmt_in.i_sar_num == 0 || p_vout->fmt_in.i_sar_den == 0 )
{
msg_Warn( p_vout, "aspect ratio screwed up" );
*pi_width = (int)( p_vout->fmt_in.i_visible_width * ll_zoom / FP_FACTOR );
*pi_height = (int)( p_vout->fmt_in.i_visible_height * ll_zoom /FP_FACTOR);
}
else if( p_vout->fmt_in.i_sar_num >= p_vout->fmt_in.i_sar_den )
{
*pi_width = (int)( p_vout->fmt_in.i_visible_width * ll_zoom *
p_vout->fmt_in.i_sar_num / p_vout->fmt_in.i_sar_den / FP_FACTOR );
*pi_height = (int)( p_vout->fmt_in.i_visible_height * ll_zoom
/ FP_FACTOR );
}
else
{
*pi_width = (int)( p_vout->fmt_in.i_visible_width * ll_zoom
/ FP_FACTOR );
*pi_height = (int)( p_vout->fmt_in.i_visible_height * ll_zoom *
p_vout->fmt_in.i_sar_den / p_vout->fmt_in.i_sar_num / FP_FACTOR );
}
msg_Dbg( p_vout, "window size: %ux%u", *pi_width, *pi_height );
#undef FP_FACTOR
}
/***************************************************************************** /*****************************************************************************
* Object variables callbacks * Object variables callbacks
*****************************************************************************/ *****************************************************************************/
...@@ -860,9 +792,6 @@ static int CropCallback( vlc_object_t *p_this, char const *psz_cmd, ...@@ -860,9 +792,6 @@ static int CropCallback( vlc_object_t *p_this, char const *psz_cmd,
} }
crop_end: crop_end:
InitWindowSize( p_vout, &p_vout->i_window_width,
&p_vout->i_window_height );
p_vout->i_changes |= VOUT_CROP_CHANGE; p_vout->i_changes |= VOUT_CROP_CHANGE;
msg_Dbg( p_vout, "cropping picture %ix%i to %i,%i,%ix%i", msg_Dbg( p_vout, "cropping picture %ix%i to %i,%i,%ix%i",
......
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