[MPlayer-cvslog] CVS: main/libmpcodecs vd.c, 1.81, 1.82 ve_divx4.c, 1.16, 1.17 ve_lavc.c, 1.110, 1.111 ve_libdv.c, 1.11, 1.12 ve_nuv.c, 1.4, 1.5 ve_qtvideo.c, 1.12, 1.13 ve_raw.c, 1.4, 1.5 ve_vfw.c, 1.17, 1.18 ve_x264.c, 1.20, 1.21 ve_xvid.c, 1.2

Guillaume Poirier poirierg at gmail.com
Thu Mar 10 11:05:54 CET 2005


Hi,


On Tue,  1 Mar 2005 21:22:01 +0100 (CET), Jindrich Makovicka CVS
<syncmail at mplayerhq.hu> wrote:
> CVS change done by Jindrich Makovicka CVS
> 
> Update of /cvsroot/mplayer/main/libmpcodecs
> In directory mail:/var2/tmp/cvs-serv20320/libmpcodecs
> 
> Modified Files:
>         vd.c ve_divx4.c ve_lavc.c ve_libdv.c ve_nuv.c ve_qtvideo.c
>         ve_raw.c ve_vfw.c ve_x264.c ve_xvid.c ve_xvid4.c vf.c vf.h
>         vfcap.h
> Log Message:
> fixes for encoding of multiple files
> 
> - do not uninitialize video encoder between files
> - checks for image size & format change moved from mencoder.c to vfilters
> 
> by Oded Shimon <ods15 at ods15.dyndns.org>
> 
> Index: vd.c
> ===================================================================
> RCS file: /cvsroot/mplayer/main/libmpcodecs/vd.c,v
> retrieving revision 1.81
> retrieving revision 1.82
> diff -u -r1.81 -r1.82
>  
> Index: vf.c
> ===================================================================
> RCS file: /cvsroot/mplayer/main/libmpcodecs/vf.c,v
> retrieving revision 1.111
> retrieving revision 1.112
> diff -u -r1.111 -r1.112
> --- vf.c        16 Feb 2005 23:46:59 -0000      1.111
> +++ vf.c        1 Mar 2005 20:21:58 -0000       1.112
> @@ -541,6 +541,37 @@
>         dst->qscale= src->qscale;
>      }
>  }
> +/**
> + * \brief Video config() function wrapper
> + *
> + * Blocks config() calls with different size or format for filters
> + * with VFCAP_CONSTANT
> + *
> + * First call is redirected to vf->config.
> + *
> + * In following calls, it verifies that the configuration parameters
> + * are unchanged, and returns either success or error.
> + *
> +*/
> +int vf_config_wrapper(struct vf_instance_s* vf,
> +                   int width, int height, int d_width, int d_height,
> +                   unsigned int flags, unsigned int outfmt)
> +{
> +    if ((vf->default_caps&VFCAP_CONSTANT) && vf->fmt.have_configured) {
> +        if ((vf->fmt.orig_width != width)
> +           || (vf->fmt.orig_height != height)
> +           || (vf->fmt.orig_fmt != outfmt)) {
> +            mp_msg(MSGT_VFILTER,MSGL_FATAL,MSGTR_ResolutionDoesntMatch);
> +            return 0;
> +        }
> +        return 1;
> +    }
> +    vf->fmt.have_configured = 1;
> +    vf->fmt.orig_height = height;
> +    vf->fmt.orig_width = width;
> +    vf->fmt.orig_fmt = outfmt;
> +    vf->config(vf, width, height, d_width, d_height, flags, outfmt);
> +}
> 
>  int vf_next_config(struct vf_instance_s* vf,
>          int width, int height, int d_width, int d_height,
> @@ -571,7 +602,7 @@
>         vf->next=vf2;
>      }
>      vf->next->w = width; vf->next->h = height;
> -    return vf->next->config(vf->next,width,height,d_width,d_height,voflags,outfmt);
> +    return vf_config_wrapper(vf->next,width,height,d_width,d_height,voflags,outfmt);
>  }
> 
>  int vf_next_control(struct vf_instance_s* vf, int request, void* data){
> 
> Index: vf.h
> ===================================================================
> RCS file: /cvsroot/mplayer/main/libmpcodecs/vf.h,v
> retrieving revision 1.26
> retrieving revision 1.27
> diff -u -r1.26 -r1.27
> --- vf.h        18 Dec 2004 14:06:35 -0000      1.26
> +++ vf.h        1 Mar 2005 20:21:58 -0000       1.27
> @@ -19,6 +19,11 @@
>      int static_idx;
>  } vf_image_context_t;
> 
> +typedef struct vf_format_context_t {
> +    int have_configured;
> +    int orig_width, orig_height, orig_fmt;
> +} vf_format_context_t;
> +
>  typedef struct vf_instance_s {
>      vf_info_t* info;
>      // funcs:
> @@ -44,6 +49,7 @@
>      // data:
>      int w, h;
>      vf_image_context_t imgctx;
> +    vf_format_context_t fmt;
>      struct vf_instance_s* next;
>      mp_image_t *dmpi;
>      struct vf_priv_s* priv;
> @@ -99,3 +105,6 @@
>  void vf_uninit_filter(vf_instance_t* vf);
>  void vf_uninit_filter_chain(vf_instance_t* vf);
> 
> +int vf_config_wrapper(struct vf_instance_s* vf,
> +                     int width, int height, int d_width, int d_height,
> +                     unsigned int flags, unsigned int outfmt);
> 

I don't know how I shall put it, but apparently those changes breaks
the compilation of MPlayer on my machine (i386, debian sid, gcc-3* and
2.95):

gcc-3.4 -c -I../libvo -I../../libvo -I/usr/X11R6/include -fno-PIC -g -O4 -march=
athlon-xp -mtune=athlon-xp -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -
D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gtk-1.2 -I/usr/include/
glib-1.2 -I/usr/lib/glib/include -I. -Inative -I.. -I../libmpdemux -I../loader -
I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include  -D_GNU_SO
URCE -o vf.o vf.c
vf.c: In function `vf_config_wrapper':
vf.c:564: error: `MSGL_ERROR' undeclared (first use in this function)
vf.c:564: error: (Each undeclared identifier is reported only once
vf.c:564: error: for each function it appears in.)
make[2]: *** [vf.o] Error 1
make[2]: Leaving directory `/home/guillaume/main/libmpcodecs'
make[1]: *** [libmpcodecs/libmpcodecs.a] Erreur 2
make[1]: Leaving directory `/home/guillaume/main'
make: *** [build-stamp] Erreur 2




More information about the MPlayer-cvslog mailing list