cx88 panic, and a (hacky) way to grab composite/svideo in when it's not panicing :) (and vlc...) (Juergen Lock)

Jason Harmening jason.harmening at gmail.com
Wed May 27 22:19:11 UTC 2009


On Wed, May 27, 2009 at 4:34 PM, Juergen Lock <nox at jelal.kn-bremen.de> wrote:
> In article <2d1264630905270827q4e85376ds530488edf62b4c1a at mail.gmail.com> you write:

>>
> Actually my vlc invocation,
>
>>>        vlc --demux rawvideo --rawvid-fps 25 --rawvid-width 768 --rawvid-height 576 --rawvid-chroma I422 vpipe
>
> uses the raw video from the vpipe directly so there's no mpeg involved.
> (But still the video is jerky.)
>
>>> (I first wanted to do this with mplayer but the closest I got,
>>>        mplayer -demuxer rawvideo -rawvideo w=768:h=576:format=422p:size=884736 vpipe
>>> still gets false colours.)
>>>
>  And btw doing it with mplayer like this doesn't seem to be affected by
> the jerkyness, only the colours are wrong.  (Maybe there's a way to do it
> right with a more recent mplayer, but unfortunately there's no mplayer
> svn snapshot in ports and they stopped doing formal releases so our
> mplayer is now pretty old... ):
>
>  So maybe the above is just a bug in vlc?  (And also, mplayer only uses
> ~8% cpu for this here while vlc uses around 20%...)

It does seem likely that it's a VLC bug then.  How exactly are the
colors wrong in mplayer? The cx88 app captures in YUV422 planar IIRC,
but the kernel drivers allow selection of different pixel formats.
Perhaps a more straightforward RGB format would work better.  You'd
have to hack the cx88 app to do that right now, since I don't (yet)
have a command-line option for it.

>

>  You are talking about these commits, right?
>
> SVN rev 191011 on 2009-04-13 19:20:32Z by kib
>
>  The bus_dmamap_load_uio(9) shall use pmap of the thread recorded in the
>  uio_td to extract pages from, instead of unconditionally use kernel
>  pmap.
>
>  Submitted by:   Jason Harmening <jason.harmening gmail com> (amd64 version)
>  PR:     amd64/133592
>  Reviewed by:    scottl (original patch), jhb
>  MFC after:      2 weeks
>
> SVN rev 191809 on 2009-05-05 09:08:37Z by kib
>
>  MFC r191011:
>  The bus_dmamap_load_uio(9) shall use pmap of the thread recorded in the
>  uio_td to extract pages from, instead of unconditionally use kernel
>  pmap.

Yep, those are the ones.

>  I'm running that here now (after applying the patch; my 7-stable
> checkout is from May 10 so it has the above commit), and there was no
> panic yet.  Thanx! :)

No problem, sorry about the downtime.  I probably should have issued a
port update when I found the problem back in April.

>
>>The cx88 driver in the repo adds a new kernel module.  The code in
>>mpeg/ now builds a module called cx88mpegcore.ko.  cx88mpeg.ko is now
>>a wrapper around this module which is built from the cx23880/
>>directory.  So now you have to load cx88mpegcore before you can load
>>cx88mpeg.  The reason for this is that the driver now supports
>>cx23885/7-based PCI-e cards, which Konstantin & I are working on
>>polishing so we can do a formal release to ports Really Soon Now.
>
>  Will this also include the dvb-s(2) code that was mentioned on
> this list once (I think by Konstantin)?

I know Konstantin has at least some of it working, but you'd have to
ask him to be sure.  There will need to be a cx88 update to add
support for additional DVB-S(2) tuning params to the XML file, but
most of the work will actually have to be done in libtuner.  I may end
up pushing the big cx23885 update first just to get some breathing
room.


More information about the freebsd-multimedia mailing list