From owner-freebsd-hackers Fri Apr 18 04:56:57 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id EAA27870 for hackers-outgoing; Fri, 18 Apr 1997 04:56:57 -0700 (PDT) Received: from hda.hda.com (hda-bicnet.bicnet.net [207.198.1.121]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id EAA27865 for ; Fri, 18 Apr 1997 04:56:53 -0700 (PDT) Received: (from dufault@localhost) by hda.hda.com (8.8.5/8.8.5) id HAA17161; Fri, 18 Apr 1997 07:44:13 -0400 (EDT) From: Peter Dufault Message-Id: <199704181144.HAA17161@hda.hda.com> Subject: Re: video capture driver interface to file system? In-Reply-To: <199704181119.EAA04704@rah.star-gate.com> from Amancio Hasty at "Apr 18, 97 04:19:52 am" To: hasty@rah.star-gate.com (Amancio Hasty) Date: Fri, 18 Apr 1997 07:44:13 -0400 (EDT) Cc: hackers@freebsd.org X-Mailer: ELM [version 2.4ME+ PL25 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > Lets see, > We can daisy chain buffers in physical memory pending upon the resolution > and the amount of memory available for the system. > > A good resolution for mpeg is 320x240 30 frames/sec for yuv12 that translates > to 3456000 bytes/sec so lets called it 3.5MB/sec substain thruput. What kind of performance can you get now through the file system to your disks? On my not-fancy system I see 1974857/sec saving 30 seconds of "video" at a block size of 3456000 to a Fujitsu disk. (dd if=/dev/zero of=/sd1/A/foo bs=3456000 count=30). Note that I've optimized nothing. Since you can apparently collect the video into a suitably aligned user buffer and I assume that there is some FIFO on the board to give you some time to reprogram at frame done interrupt time, a simple driver with no double buffering other than a regular start queue (so that the done interrupt has a place to store incoming data in), "team", and "dd" may be all you need to store video through the file system on a lightly loaded fast system. It will provide a starting point to see where to focus our efforts, and "dd if=/dev/yuv12 of=~/clip.yuv" is a good interface to support even if only for debugging. Peter -- Peter Dufault (dufault@hda.com) Realtime Machine Control and Simulation HD Associates, Inc. Voice: 508 433 6936