From owner-freebsd-multimedia@FreeBSD.ORG Fri Sep 26 07:26:56 2008 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F1431065697 for ; Fri, 26 Sep 2008 07:26:56 +0000 (UTC) (envelope-from shoesoft@gmx.net) Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by mx1.freebsd.org (Postfix) with SMTP id A0A148FC12 for ; Fri, 26 Sep 2008 07:26:55 +0000 (UTC) (envelope-from shoesoft@gmx.net) Received: (qmail invoked by alias); 26 Sep 2008 07:26:53 -0000 Received: from 85-127-94-178.dynamic.xdsl-line.inode.at (EHLO taxman.pepperland) [85.127.94.178] by mail.gmx.net (mp038) with SMTP; 26 Sep 2008 09:26:53 +0200 X-Authenticated: #16703784 X-Provags-ID: V01U2FsdGVkX18QKkdJgN8QVtZxT/nW/iA0SId9tJPPxB2+Qd2lS0 jnkrnay0ukw3bg From: Stefan Ehmann To: freebsd-multimedia@freebsd.org Date: Fri, 26 Sep 2008 09:26:51 +0200 User-Agent: KMail/1.10.1 (FreeBSD/7.1-PRERELEASE; KDE/4.1.1; i386; ; ) References: <200809251834.SAA00096@sopwith.solgatos.com> In-Reply-To: <200809251834.SAA00096@sopwith.solgatos.com> MIME-Version: 1.0 Message-Id: <200809260926.52192.shoesoft@gmx.net> X-Y-GMX-Trusted: 0 X-FuHaFi: 0.52,0.52 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Subject: Re: Which Userland Interface for USB Video Class Driver? X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Sep 2008 07:26:56 -0000 On Thursday 25 September 2008 12:34:25 Dieter wrote: > > > > > > > As a driver writer, the AV encoding standard concerns me. For, > > > the driver must be able to decode compressed frame into plain bitmap > > > if the chip cannot decode frame on its own. Of course, the Chinese > > > standard is so cheap that many hardware vendors are willing to > > > integrate decoder into chips, I believe. > > >=20 > > > > I'm not sure this is necessarily true anymore. From a European view > > point, the vast majority of DVB-{S,T,C} cards on the market are 'budget' > > cards; they simply demodulate an MPEG-2 Program Stream from the signal. > > Certainly, under linux, neither of my DVB-T tuners (pci saa based, usb > > dibcom), nor my DVB-S card (also pci saa based) can decode a single > > frame of actual video data. > > > > Even when the actual video is not MPEG-2, like HD streams encoded in > > MPEG-4 AVC, it is contained in an MPEG-2 PS. All the drivers do is to > > setup and tune the device to the appropriate channel, and provide a > > device to read the PS from. It is up to whatever userland program which > > is using the device to decode the data, if that is even required. I > > certainly wouldn't like a driver to decode high bitrate MPEG-4 AVC if > > all I am trying to do is record a show to disk. > > > > As far as I can tell, ATSC tuners do precisely the same thing. > > I suspect you mean MPEG-2 TS (transport stream), not MPEG-2 PS > (program stream)? > > Yes, ATSC is the same way, at least in the US. The "tuner" provides > a mpeg2 ts. You can write this to disk and/or decode it and view it. > You don't *want* the tuner to decode it, because the decoded video > is gigantic and would quickly fill your disks. And a PCI bus isn't > fast enough for a single stream of uncompressed HD video. The > compressed version eats enough disk space as it is. > > Decoding is a bit of a problem. To decode HD in real time, you need a > recent fast CPU (and PCIe), or a GPU that supports Xv and XvMC, or some > hardware decoder. As far as I know, *BSD has no support for hardware > decoders. There are Ethernet to TV bridges, but they seem to all have > significant limitations (counterexamples welcome). ATI may have released > enough documentation to allow using some models of their GPUs for decoding, > but no one has written the code yet. They have not released docs for the > UVD/UVD2 on the R600/R700 yet, and might never release it. Supposedly VIA > Chrome GPUs have open source Xv and XvMC support, does this work on *BSD? mplayer supports xvmc: http://lists.mplayerhq.hu/pipermail/mplayer-docs/2003-November/000301.html The post also lists other cards supporting xvmc, but it's probably outdated. I got this working with my old graphic card + nvidia binary driver. While the speedup was noticeable it was rather disappointing. IIRC for videos needing about 40% CPU, with xvmc it was maybe 30%.