Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Apr 1997 19:44:47 -0700
From:      Amancio Hasty <hasty@rah.star-gate.com>
To:        multimedia@freebsd.org
Subject:   The clip code should be ready tonite 8)
Message-ID:  <199704210244.TAA01761@rah.star-gate.com>

next in thread | raw e-mail | index | archive | help

So far testing is favorable over here so after code clean up and further
testing I will release the code tonite. The clip algorithm is only
for rectangles. If there is interest I may look into implement polygons 
which is not necessarily easy to do at the driver because I want to avoid 
as much as possible recursion.

Here is a sample of the code to use hardware clipping:

This code alternates between not clipping, by setting clip_region[0].y_min
and clip_region[0].y_max  to 0, and specifying two clipping rectangles. 
The maximum number of rectangles that we can specify is 100 which I think 
is plenty.

Setting clip_region[0].y_min and clip_region[1].y_max sets the number
of clip rectangles to 0 in the driver . The rectangles should be 
sorted by the application . "x" first then "y". I will do error
checking to ensure that the policy is enforced.


	while (got_signal) {
	    ++j;
	    if ( (j - ( j / 60 ) * 60)  == 0   ) {
		i = METEOR_CAP_STOP_CONT;
		ioctl(video, METEORCAPTUR, &i);
		if (clip_region[0].y_min ==  0 ) {
		    clip_region[0].x_min = 10;
		    clip_region[0].x_max = 20;
		    clip_region[0].y_min = 20;
		    clip_region[0].y_max = 40;
		    clip_region[1].x_min = 10;
		    clip_region[1].x_max = 20;
		    clip_region[1].y_min = 80;
		    clip_region[1].y_max = 100;

		    printf("clip \n");

		} else {
		    printf("don't clip \n");
		    clip_region[0].y_min = 0;
		    clip_region[0].y_max = 0;

		}
	

		ioctl( video, BT848SCLIP, &clip_region );
	
	    }
		i = METEOR_CAP_SINGLE ;			/* buffer up 1 frame */
		ioctl(video, METEORCAPTUR, &i);

         .
	 .
         .


I will probably change Bt848SCLIP to METEORSCLIP ...

Last but not least we clip much faster than the latest Win95 WinCast client.

Every time clipping gets activated in win95 in order for the clip to 
take effect the whole screen gets refresh at least with the latest
Wincast client and my lastest S3 driver.

	Enjoy,
	Amancio





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704210244.TAA01761>