summaryrefslogtreecommitdiff
path: root/xine_frontend.c
diff options
context:
space:
mode:
Diffstat (limited to 'xine_frontend.c')
-rw-r--r--xine_frontend.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/xine_frontend.c b/xine_frontend.c
index b6bf1588..a99299c5 100644
--- a/xine_frontend.c
+++ b/xine_frontend.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: xine_frontend.c,v 1.15 2006-08-23 05:30:14 phintuka Exp $
+ * $Id: xine_frontend.c,v 1.16 2006-08-25 04:03:11 phintuka Exp $
*
*/
@@ -225,6 +225,15 @@ static void fe_frame_output_cb (void *data,
}
#endif
+ if(this->overscan) {
+ int crop_x = this->overscan * this->width / 100 / 2;
+ int crop_y = this->overscan * this->height / 100 / 2;
+ *dest_x -= crop_x;
+ *dest_y -= crop_y;
+ *dest_width += crop_x;
+ *dest_height += crop_y;
+ }
+
#if 0
static int n=0,t=25/**10*/; n++;
static char *s_aspect[] = {"Auto","Default","4:3","16:9","16:10","Pan&Scan"};
@@ -1171,8 +1180,14 @@ static void *fe_control(void *fe_handle, const char *cmd)
free(result->data);
free(result);
}
+
+ } else if(!strncmp(cmd, "OVERSCAN ", 9)) {
+ int overscan;
+ if(1 == sscanf(cmd+9, "%d", &overscan))
+ this->overscan = overscan;
}
+
return NULL;
}