[vlc-devel] [PATCH v2 07/19] opengl: compute the picture placement when we are using it

Alexandre Janniaux ajanni at videolabs.io
Tue Aug 25 16:43:28 CEST 2020


Hi,

It means that the place will be computed at each display
instead of - in the average case - once.

I don't really care about this, but it was refused when
I suggested the change like this.

Regards,
--
Alexandre Janniaux
Videolabs

On Tue, Aug 25, 2020 at 04:20:20PM +0200, Steve Lhomme wrote:
> ---
>  modules/video_output/opengl/display.c | 16 +++++-----------
>  1 file changed, 5 insertions(+), 11 deletions(-)
>
> diff --git a/modules/video_output/opengl/display.c b/modules/video_output/opengl/display.c
> index 58f0cdc388f..e3c1320960e 100644
> --- a/modules/video_output/opengl/display.c
> +++ b/modules/video_output/opengl/display.c
> @@ -72,7 +72,6 @@ struct vout_display_sys_t
>  {
>      vout_display_opengl_t *vgl;
>      vlc_gl_t *gl;
> -    vout_display_place_t place;
>      bool place_changed;
>  };
>
> @@ -194,10 +193,12 @@ static void PictureDisplay (vout_display_t *vd, picture_t *pic)
>      {
>          if (sys->place_changed)
>          {
> -            float window_ar = (float)sys->place.width / sys->place.height;
> +            vout_display_place_t place;
> +            vout_display_PlacePicture(&place, &vd->source, vd->cfg, VOUT_ORIGIN_BOTTOM_LEFT);
> +            float window_ar = (float)place.width / place.height;
>              vout_display_opengl_SetWindowAspectRatio(sys->vgl, window_ar);
> -            vout_display_opengl_Viewport(sys->vgl, sys->place.x, sys->place.y,
> -                                         sys->place.width, sys->place.height);
> +            vout_display_opengl_Viewport(sys->vgl, place.x, place.y,
> +                                         place.width, place.height);
>              sys->place_changed = false;
>          }
>
> @@ -221,10 +222,6 @@ static int Control (vout_display_t *vd, int query, va_list ap)
>        case VOUT_DISPLAY_CHANGE_DISPLAY_FILLED:
>        case VOUT_DISPLAY_CHANGE_ZOOM:
>        {
> -        vout_display_cfg_t cfg = *vd->cfg;
> -        const video_format_t *src = &vd->source;
> -
> -        vout_display_PlacePicture(&sys->place, src, &cfg, VOUT_ORIGIN_BOTTOM_LEFT);
>          sys->place_changed = true;
>          vlc_gl_Resize (sys->gl, vd->cfg->display.width, vd->cfg->display.height);
>          return VLC_SUCCESS;
> @@ -233,9 +230,6 @@ static int Control (vout_display_t *vd, int query, va_list ap)
>        case VOUT_DISPLAY_CHANGE_SOURCE_ASPECT:
>        case VOUT_DISPLAY_CHANGE_SOURCE_CROP:
>        {
> -        vout_display_cfg_t cfg = *vd->cfg;
> -
> -        vout_display_PlacePicture(&sys->place, &vd->source, &cfg, VOUT_ORIGIN_BOTTOM_LEFT);
>          sys->place_changed = true;
>          return VLC_SUCCESS;
>        }
> --
> 2.26.2
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list