diff libmpcodecs/vf_pullup.c @ 12549:bb9bf9a97ac6

configurable 'junk' borders for pullup
author rfelker
date Thu, 10 Jun 2004 05:20:50 +0000
parents 8584fdad0188
children 8d4a16cb1e97
line wrap: on
line diff
--- a/libmpcodecs/vf_pullup.c	Thu Jun 10 05:06:34 2004 +0000
+++ b/libmpcodecs/vf_pullup.c	Thu Jun 10 05:20:50 2004 +0000
@@ -80,11 +80,6 @@
 		c->metric_plane = 0;
 	}
 
-	c->strict_breaks = 0;
-	c->junk_left = c->junk_right = 1;
-	c->junk_top = c->junk_bottom = 4;
-	c->verbose = verbose;
-
 	if (gCpuCaps.hasMMX) c->cpu |= PULLUP_CPU_MMX;
 	if (gCpuCaps.hasMMX2) c->cpu |= PULLUP_CPU_MMX2;
 	if (gCpuCaps.has3DNow) c->cpu |= PULLUP_CPU_3DNOW;
@@ -315,6 +310,7 @@
 static int open(vf_instance_t *vf, char* args)
 {
 	struct vf_priv_s *p;
+	struct pullup_context *c;
 	vf->get_image = get_image;
 	vf->put_image = put_image;
 	vf->config = config;
@@ -322,8 +318,15 @@
 	vf->uninit = uninit;
 	vf->default_reqs = VFCAP_ACCEPT_STRIDE;
 	vf->priv = p = calloc(1, sizeof(struct vf_priv_s));
-	p->ctx = pullup_alloc_context();
+	p->ctx = c = pullup_alloc_context();
 	p->fakecount = 2;
+	c->verbose = verbose;
+	c->junk_left = c->junk_right = 1;
+	c->junk_top = c->junk_bottom = 4;
+	c->strict_breaks = 0;
+	if (args) {
+		sscanf(args, "%d:%d:%d:%d:%d", &c->junk_left, &c->junk_right, &c->junk_top, &c->junk_bottom, &c->strict_breaks);
+	}
 	return 1;
 }