summaryrefslogtreecommitdiff
path: root/src/video_out
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_out')
-rw-r--r--src/video_out/video_out_aa.c4
-rw-r--r--src/video_out/video_out_caca.c4
-rw-r--r--src/video_out/video_out_directfb.c4
-rwxr-xr-xsrc/video_out/video_out_directx.c4
-rw-r--r--src/video_out/video_out_fb.c14
-rw-r--r--src/video_out/video_out_none.c4
-rw-r--r--src/video_out/video_out_opengl.c4
-rw-r--r--src/video_out/video_out_pgx32.c4
-rw-r--r--src/video_out/video_out_pgx64.c4
-rw-r--r--src/video_out/video_out_sdl.c4
-rw-r--r--src/video_out/video_out_stk.c4
-rw-r--r--src/video_out/video_out_syncfb.c11
-rw-r--r--src/video_out/video_out_vidix.c13
-rw-r--r--src/video_out/video_out_xshm.c15
-rw-r--r--src/video_out/video_out_xv.c11
-rw-r--r--src/video_out/video_out_xvmc.c11
16 files changed, 77 insertions, 38 deletions
diff --git a/src/video_out/video_out_aa.c b/src/video_out/video_out_aa.c
index 1110c46ad..f3e02de1a 100644
--- a/src/video_out/video_out_aa.c
+++ b/src/video_out/video_out_aa.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_aa.c,v 1.43 2004/03/03 20:09:15 mroi Exp $
+ * $Id: video_out_aa.c,v 1.44 2004/09/22 20:29:15 miguelfreitas Exp $
*
* video_out_aa.c, ascii-art output plugin for xine
*
@@ -337,6 +337,6 @@ static vo_info_t vo_info_aa = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 19, "aa", XINE_VERSION_CODE, &vo_info_aa, init_class },
+ { PLUGIN_VIDEO_OUT, 20, "aa", XINE_VERSION_CODE, &vo_info_aa, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_caca.c b/src/video_out/video_out_caca.c
index dc11fdda1..225177fc6 100644
--- a/src/video_out/video_out_caca.c
+++ b/src/video_out/video_out_caca.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_caca.c,v 1.2 2004/03/03 20:09:15 mroi Exp $
+ * $Id: video_out_caca.c,v 1.3 2004/09/22 20:29:15 miguelfreitas Exp $
*
* video_out_caca.c, Color AsCii Art output plugin for xine
*
@@ -338,6 +338,6 @@ static vo_info_t vo_info_caca = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 19, "caca", XINE_VERSION_CODE, &vo_info_caca, init_class },
+ { PLUGIN_VIDEO_OUT, 20, "caca", XINE_VERSION_CODE, &vo_info_caca, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_directfb.c b/src/video_out/video_out_directfb.c
index c55ec1185..2560d4dfb 100644
--- a/src/video_out/video_out_directfb.c
+++ b/src/video_out/video_out_directfb.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_directfb.c,v 1.26 2003/12/14 22:13:25 siggi Exp $
+ * $Id: video_out_directfb.c,v 1.27 2004/09/22 20:29:15 miguelfreitas Exp $
*
* DirectFB based output plugin.
* Rich Wareham <richwareham@users.sourceforge.net>
@@ -596,7 +596,7 @@ static vo_info_t vo_info_directfb = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 19, "DirectFB", XINE_VERSION_CODE, &vo_info_directfb, init_class },
+ { PLUGIN_VIDEO_OUT, 20, "DirectFB", XINE_VERSION_CODE, &vo_info_directfb, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_directx.c b/src/video_out/video_out_directx.c
index ae2f2e543..8e113f7a8 100755
--- a/src/video_out/video_out_directx.c
+++ b/src/video_out/video_out_directx.c
@@ -20,7 +20,7 @@
* video_out_directx.c, direct draw video output plugin for xine
* by Matthew Grooms <elon@altavista.com>
*
- * $Id: video_out_directx.c,v 1.18 2004/09/02 19:56:42 valtri Exp $
+ * $Id: video_out_directx.c,v 1.19 2004/09/22 20:29:15 miguelfreitas Exp $
*/
typedef unsigned char boolean;
@@ -1253,6 +1253,6 @@ static vo_info_t vo_info_win32 = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 19, "vo_directx", XINE_VERSION_CODE, &vo_info_win32, init_class },
+ { PLUGIN_VIDEO_OUT, 20, "vo_directx", XINE_VERSION_CODE, &vo_info_win32, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_fb.c b/src/video_out/video_out_fb.c
index 6aae47597..d3841fd87 100644
--- a/src/video_out/video_out_fb.c
+++ b/src/video_out/video_out_fb.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_fb.c,v 1.36 2004/04/26 17:50:09 mroi Exp $
+ * $Id: video_out_fb.c,v 1.37 2004/09/22 20:29:15 miguelfreitas Exp $
*
* video_out_fb.c, frame buffer xine driver by Miguel Freitas
*
@@ -163,6 +163,16 @@ static void fb_frame_proc_slice(vo_frame_t *vo_img, uint8_t **src)
fb_frame_t *frame = (fb_frame_t *)vo_img ;
vo_img->proc_called = 1;
+
+ if( frame->vo_frame.crop_left || frame->vo_frame.crop_top ||
+ frame->vo_frame.crop_right || frame->vo_frame.crop_bottom )
+ {
+ /* we don't support crop, so don't even waste cpu cycles.
+ * cropping will be performed by video_out.c
+ */
+ return;
+ }
+
if(frame->format == XINE_IMGFMT_YV12)
frame->yuv2rgb->yuv2rgb_fun(frame->yuv2rgb, frame->rgb_dst,
src[0], src[1], src[2]);
@@ -1068,6 +1078,6 @@ static vo_info_t vo_info_fb =
/* exported plugin catalog entry */
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 19, "fb", XINE_VERSION_CODE, &vo_info_fb, fb_init_class },
+ { PLUGIN_VIDEO_OUT, 20, "fb", XINE_VERSION_CODE, &vo_info_fb, fb_init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_none.c b/src/video_out/video_out_none.c
index 31d45cce0..aae86fc01 100644
--- a/src/video_out/video_out_none.c
+++ b/src/video_out/video_out_none.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_none.c,v 1.21 2004/06/05 16:06:13 jcdutton Exp $
+ * $Id: video_out_none.c,v 1.22 2004/09/22 20:29:15 miguelfreitas Exp $
*
* Was originally part of toxine frontend.
* ...but has now been adapted to xine coding style standards ;)
@@ -306,6 +306,6 @@ static vo_info_t vo_info_none = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 19, "none", XINE_VERSION_CODE, &vo_info_none, init_class },
+ { PLUGIN_VIDEO_OUT, 20, "none", XINE_VERSION_CODE, &vo_info_none, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_opengl.c b/src/video_out/video_out_opengl.c
index 52496b24f..9a96698c0 100644
--- a/src/video_out/video_out_opengl.c
+++ b/src/video_out/video_out_opengl.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_opengl.c,v 1.39 2004/08/26 17:57:53 valtri Exp $
+ * $Id: video_out_opengl.c,v 1.40 2004/09/22 20:29:15 miguelfreitas Exp $
*
* video_out_glut.c, glut based OpenGL rendering interface for xine
* Matthias Hopf <mat@mshopf.de>
@@ -1016,7 +1016,7 @@ static vo_info_t vo_info_opengl = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 19, "opengl", XINE_VERSION_CODE,
+ { PLUGIN_VIDEO_OUT, 20, "opengl", XINE_VERSION_CODE,
&vo_info_opengl, opengl_init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_pgx32.c b/src/video_out/video_out_pgx32.c
index 58202e325..1c370f221 100644
--- a/src/video_out/video_out_pgx32.c
+++ b/src/video_out/video_out_pgx32.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_pgx32.c,v 1.10 2004/07/24 17:26:02 komadori Exp $
+ * $Id: video_out_pgx32.c,v 1.11 2004/09/22 20:29:15 miguelfreitas Exp $
*
* video_out_pgx32.c, Sun PGX32 output plugin for xine
*
@@ -885,6 +885,6 @@ static void *pgx32_init_class(xine_t *xine, void *visual_gen)
}
plugin_info_t xine_plugin_info[] = {
- {PLUGIN_VIDEO_OUT, 19, "pgx32", XINE_VERSION_CODE, &vo_info_pgx32, pgx32_init_class},
+ {PLUGIN_VIDEO_OUT, 20, "pgx32", XINE_VERSION_CODE, &vo_info_pgx32, pgx32_init_class},
{PLUGIN_NONE, 0, "", 0, NULL, NULL}
};
diff --git a/src/video_out/video_out_pgx64.c b/src/video_out/video_out_pgx64.c
index 11cee6430..ce637ebdc 100644
--- a/src/video_out/video_out_pgx64.c
+++ b/src/video_out/video_out_pgx64.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_pgx64.c,v 1.69 2004/06/24 13:06:57 komadori Exp $
+ * $Id: video_out_pgx64.c,v 1.70 2004/09/22 20:29:16 miguelfreitas Exp $
*
* video_out_pgx64.c, Sun XVR100/PGX64/PGX24 output plugin for xine
*
@@ -1518,6 +1518,6 @@ static void *pgx64_init_class(xine_t *xine, void *visual_gen)
}
plugin_info_t xine_plugin_info[] = {
- {PLUGIN_VIDEO_OUT, 19, "pgx64", XINE_VERSION_CODE, &vo_info_pgx64, pgx64_init_class},
+ {PLUGIN_VIDEO_OUT, 20, "pgx64", XINE_VERSION_CODE, &vo_info_pgx64, pgx64_init_class},
{PLUGIN_NONE, 0, "", 0, NULL, NULL}
};
diff --git a/src/video_out/video_out_sdl.c b/src/video_out/video_out_sdl.c
index a395896c4..04aa7cd49 100644
--- a/src/video_out/video_out_sdl.c
+++ b/src/video_out/video_out_sdl.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_sdl.c,v 1.39 2004/06/08 20:34:13 mroi Exp $
+ * $Id: video_out_sdl.c,v 1.40 2004/09/22 20:29:16 miguelfreitas Exp $
*
* video_out_sdl.c, Simple DirectMedia Layer
*
@@ -601,6 +601,6 @@ static vo_info_t vo_info_sdl = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 19, "sdl", XINE_VERSION_CODE, &vo_info_sdl, init_class },
+ { PLUGIN_VIDEO_OUT, 20, "sdl", XINE_VERSION_CODE, &vo_info_sdl, init_class },
{ PLUGIN_NONE, 0, "" , 0 , NULL, NULL}
};
diff --git a/src/video_out/video_out_stk.c b/src/video_out/video_out_stk.c
index 7ef381d2e..528b18bea 100644
--- a/src/video_out/video_out_stk.c
+++ b/src/video_out/video_out_stk.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_stk.c,v 1.12 2003/12/14 22:13:25 siggi Exp $
+ * $Id: video_out_stk.c,v 1.13 2004/09/22 20:29:16 miguelfreitas Exp $
*
* video_out_stk.c, Libstk Surface Video Driver
* more info on Libstk at http://www.libstk.org
@@ -476,7 +476,7 @@ static vo_info_t vo_info_stk = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 19, "stk", XINE_VERSION_CODE, &vo_info_stk, init_class },
+ { PLUGIN_VIDEO_OUT, 20, "stk", XINE_VERSION_CODE, &vo_info_stk, init_class },
{ PLUGIN_NONE, 0, "" , 0 , NULL, NULL}
};
diff --git a/src/video_out/video_out_syncfb.c b/src/video_out/video_out_syncfb.c
index 2fd87adfa..3e9637637 100644
--- a/src/video_out/video_out_syncfb.c
+++ b/src/video_out/video_out_syncfb.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_syncfb.c,v 1.97 2004/04/26 17:50:10 mroi Exp $
+ * $Id: video_out_syncfb.c,v 1.98 2004/09/22 20:29:16 miguelfreitas Exp $
*
* video_out_syncfb.c, SyncFB (for Matrox G200/G400 cards) interface for xine
*
@@ -597,6 +597,11 @@ static void syncfb_display_frame(vo_driver_t* this_gen, vo_frame_t* frame_gen)
this->sc.delivered_width = frame->width;
this->sc.delivered_height = frame->height;
this->sc.delivered_ratio = frame->ratio;
+
+ this->sc.crop_left = frame->vo_frame.crop_left;
+ this->sc.crop_right = frame->vo_frame.crop_right;
+ this->sc.crop_top = frame->vo_frame.crop_top;
+ this->sc.crop_bottom = frame->vo_frame.crop_bottom;
syncfb_compute_ideal_size(this);
@@ -912,7 +917,7 @@ static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *vi
this->props[VO_PROP_ZOOM_Y].value = 100;
/* check for formats we need... */
- this->supported_capabilities = 0;
+ this->supported_capabilities = VO_CAP_CROP;
this->yuv_format = 0;
/*
@@ -1105,7 +1110,7 @@ static vo_info_t vo_info_syncfb = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 19, "SyncFB", XINE_VERSION_CODE, &vo_info_syncfb, init_class },
+ { PLUGIN_VIDEO_OUT, 20, "SyncFB", XINE_VERSION_CODE, &vo_info_syncfb, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_vidix.c b/src/video_out/video_out_vidix.c
index fc9520529..740bd2eb7 100644
--- a/src/video_out/video_out_vidix.c
+++ b/src/video_out/video_out_vidix.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_vidix.c,v 1.64 2004/09/12 19:23:37 mroi Exp $
+ * $Id: video_out_vidix.c,v 1.65 2004/09/22 20:29:16 miguelfreitas Exp $
*
* video_out_vidix.c
*
@@ -630,6 +630,11 @@ static void vidix_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen) {
this->sc.delivered_ratio = frame->ratio;
this->delivered_format = frame->format;
+ this->sc.crop_left = frame->vo_frame.crop_left;
+ this->sc.crop_right = frame->vo_frame.crop_right;
+ this->sc.crop_top = frame->vo_frame.crop_top;
+ this->sc.crop_bottom = frame->vo_frame.crop_bottom;
+
vidix_compute_ideal_size( this );
this->sc.force_redraw = 1;
}
@@ -915,7 +920,7 @@ static vidix_driver_t *open_plugin (video_driver_class_t *class_gen) {
this->config = config;
this->got_frame_data = 0;
- this->capabilities = 0;
+ this->capabilities = VO_CAP_CROP;
/* Find what equalizer flags are supported */
if(this->vidix_cap.flags & FLAG_EQUALIZER) {
@@ -1273,10 +1278,10 @@ static vo_info_t vo_info_vidixfb = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
#ifdef HAVE_X11
- { PLUGIN_VIDEO_OUT, 19, "vidix", XINE_VERSION_CODE, &vo_info_vidix, vidix_init_class },
+ { PLUGIN_VIDEO_OUT, 20, "vidix", XINE_VERSION_CODE, &vo_info_vidix, vidix_init_class },
#endif
#ifdef HAVE_FB
- { PLUGIN_VIDEO_OUT, 19, "vidixfb", XINE_VERSION_CODE, &vo_info_vidixfb, vidixfb_init_class },
+ { PLUGIN_VIDEO_OUT, 20, "vidixfb", XINE_VERSION_CODE, &vo_info_vidixfb, vidixfb_init_class },
#endif
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_xshm.c b/src/video_out/video_out_xshm.c
index 83bf7125d..c3d91efd6 100644
--- a/src/video_out/video_out_xshm.c
+++ b/src/video_out/video_out_xshm.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_xshm.c,v 1.134 2004/09/22 20:16:11 miguelfreitas Exp $
+ * $Id: video_out_xshm.c,v 1.135 2004/09/22 20:29:16 miguelfreitas Exp $
*
* video_out_xshm.c, X11 shared memory extension interface for xine
*
@@ -315,9 +315,18 @@ static uint32_t xshm_get_capabilities (vo_driver_t *this_gen) {
static void xshm_frame_proc_slice (vo_frame_t *vo_img, uint8_t **src) {
xshm_frame_t *frame = (xshm_frame_t *) vo_img ;
/*xshm_driver_t *this = (xshm_driver_t *) vo_img->driver; */
-
+
vo_img->proc_called = 1;
+ if( frame->vo_frame.crop_left || frame->vo_frame.crop_top ||
+ frame->vo_frame.crop_right || frame->vo_frame.crop_bottom )
+ {
+ /* we don't support crop, so don't even waste cpu cycles.
+ * cropping will be performed by video_out.c
+ */
+ return;
+ }
+
lprintf ("copy... (format %d)\n", frame->format);
if (frame->format == XINE_IMGFMT_YV12)
@@ -1295,6 +1304,6 @@ static vo_info_t vo_info_xshm = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 19, "xshm", XINE_VERSION_CODE, &vo_info_xshm, xshm_init_class },
+ { PLUGIN_VIDEO_OUT, 20, "xshm", XINE_VERSION_CODE, &vo_info_xshm, xshm_init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c
index 109e6f7b1..c3787c983 100644
--- a/src/video_out/video_out_xv.c
+++ b/src/video_out/video_out_xv.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_xv.c,v 1.204 2004/07/19 22:07:41 miguelfreitas Exp $
+ * $Id: video_out_xv.c,v 1.205 2004/09/22 20:29:16 miguelfreitas Exp $
*
* video_out_xv.c, X11 video extension interface for xine
*
@@ -712,6 +712,11 @@ static int xv_redraw_needed (vo_driver_t *this_gen) {
this->sc.delivered_height = this->cur_frame->height;
this->sc.delivered_width = this->cur_frame->width;
this->sc.delivered_ratio = this->cur_frame->ratio;
+
+ this->sc.crop_left = this->cur_frame->vo_frame.crop_left;
+ this->sc.crop_right = this->cur_frame->vo_frame.crop_right;
+ this->sc.crop_top = this->cur_frame->vo_frame.crop_top;
+ this->sc.crop_bottom = this->cur_frame->vo_frame.crop_bottom;
xv_compute_ideal_size(this);
@@ -1311,7 +1316,7 @@ static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *vi
XLockDisplay (this->display);
this->gc = XCreateGC (this->display, this->drawable, 0, NULL);
XUnlockDisplay (this->display);
- this->capabilities = 0;
+ this->capabilities = VO_CAP_CROP;
this->use_shm = 1;
this->deinterlace_method = 0;
this->deinterlace_frame.image = NULL;
@@ -1595,7 +1600,7 @@ static vo_info_t vo_info_xv = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 19, "xv", XINE_VERSION_CODE, &vo_info_xv, init_class },
+ { PLUGIN_VIDEO_OUT, 20, "xv", XINE_VERSION_CODE, &vo_info_xv, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_xvmc.c b/src/video_out/video_out_xvmc.c
index 1cfd377c2..6046910b4 100644
--- a/src/video_out/video_out_xvmc.c
+++ b/src/video_out/video_out_xvmc.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_xvmc.c,v 1.16 2004/06/26 13:52:20 mroi Exp $
+ * $Id: video_out_xvmc.c,v 1.17 2004/09/22 20:29:17 miguelfreitas Exp $
*
* video_out_xvmc.c, X11 video motion compensation extension interface for xine
*
@@ -923,6 +923,11 @@ static int xvmc_redraw_needed (vo_driver_t *this_gen) {
this->sc.delivered_width = this->cur_frame->width;
this->sc.delivered_ratio = this->cur_frame->ratio;
+ this->sc.crop_left = this->cur_frame->vo_frame.crop_left;
+ this->sc.crop_right = this->cur_frame->vo_frame.crop_right;
+ this->sc.crop_top = this->cur_frame->vo_frame.crop_top;
+ this->sc.crop_bottom = this->cur_frame->vo_frame.crop_bottom;
+
xvmc_compute_ideal_size(this);
if(_x_vo_scale_redraw_needed(&this->sc)) {
@@ -1393,7 +1398,7 @@ static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *vi
XLockDisplay(this->display);
this->gc = XCreateGC(this->display, this->drawable, 0, NULL);
XUnlockDisplay(this->display);
- this->capabilities = VO_CAP_XVMC_MOCOMP;
+ this->capabilities = VO_CAP_XVMC_MOCOMP | VO_CAP_CROP;
this->surface_type_id = class->surface_type_id;
this->max_surface_width = class->max_surface_width;
@@ -1839,7 +1844,7 @@ static vo_info_t vo_info_xvmc = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 19, "xvmc", XINE_VERSION_CODE, &vo_info_xvmc, init_class },
+ { PLUGIN_VIDEO_OUT, 20, "xvmc", XINE_VERSION_CODE, &vo_info_xvmc, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};