libxine/ffmpeg vdpau/vaapi patches/fixes; new vdr shar

Juergen Lock nox at jelal.kn-bremen.de
Sat Mar 19 15:31:44 UTC 2011


I forgot to say testing vaapi with nvidia needs the multimedia/vdpau-video
port installed too.

On Fri, Mar 18, 2011 at 11:24:54PM +0100, Juergen Lock wrote:
> Hi!
> 
>  So I can finally test vdpau myself (see other thread about my new
> little box:
> 
> 	http://lists.freebsd.org/pipermail/freebsd-multimedia/2011-March/011759.html
> 
> ) and ended up with a few ports patches:
> 
> a) I initially started with the pcbsd version of nvidia-driver
> (260.19.29), which may be the reason I had issues with libxine and
> vdpau (streams wouldnt start etc), googling turned up this which
> suggests a libxcb problem:
> 
> 	http://www.nvnews.net/vbulletin/showthread.php?s=3a5c37bc21c6fe53f81218c4da3436b8&t=155276&page=3
> 
> and which points at this libxine 1.2 workaround commit:
> 
> 	http://hg.debian.org/hg/xine-lib/xine-lib-1.2/rev/c655ca7b6bce
> 
> I backported that to our version of the libxine port and that more
> or less fixed it:
> 
> 	http://people.freebsd.org/~nox/dvb/xine/extrapatch-vdpau-src-video_out-video_out_vdpau.c
> 
> b) Someone on the vdr irc mentioned that for him (on Linux) vdr worked
> better with vaapi than with vdpau and he pointed me at this patch:
> 
> 	http://test.oppserver.net/xine/ffmpeg-vaapi_xine-lib-1.1.19.diff
> 
> That patch needs ffmpeg built with vaapi (libva) support too so I
> made a patch to add knobs for that to the ffmpeg ports and while I
> was at it also switched the default for the vdpau knobs to on:
> 
> 	http://people.freebsd.org/~nox/dvb/ffmpeg-vaapi.patch [1]
> 
> That got vaapi working but it used more cpu than vdpau on the same
> box and it broke playback on the box with the faster cpu which uses
> xorg radeon drivers because it had no r600_drv_video.so - so I added
> a crude check (INIT_ERROR_HACK) to the ffmpeg-vaapi_xine patch
> above:
> 
> 	http://people.freebsd.org/~nox/dvb/xine/ffmpeg-vaapi_xine-lib-1.1.19-initerrorhack.diff
> 
> But you only actually need the ffmpeg port patch [1], and the resulting
> libxine port patch that adds the other above patches: [2]
> 
> 	http://people.freebsd.org/~nox/dvb/xine/libxine-vdpau-vaapi.patch [2]
> 
> then xine should be able to work pretty well with vdpau, and with vaapi too.
> 
>  And now to vdr:  I've put a new shar here:
> 
> 	http://people.freebsd.org/~nox/dvb/vdr-20110317a.shar
> 
> First, how I test vdpau with that version, the above libxine/ffmpeg
> patches, and vdr-sxfe:
> 
> 	vdr-sxfe --hotkeys --video=vdpau --post tvtime:method=use_vo_driver --audio=oss --reconnect --lirc xvdr+tcp://127.1
> 
> And vaapi:
> 
> 	vdr-sxfe --hotkeys --video=xv --post=tvtime:method=Linear,cheap_mode=1,pulldown=0,use_progressive_frame_flag=1 --reconnect --lirc xvdr+tcp://127.1
> 
> Other changes:
> 
> - Updated epgsearch and live plugins to newer git checkouts,
> 
> - Updated vdr itself to 1.7.17 and added a patch to make it handle
>   webcamd's numbering of dvb devices better (adapter0, adapter8 etc),
>   If you want to go back to only have vdr use the first device you
>   can add -D 0 to its startup commandline, (see the vdr manpage)
> 
> - Added a patch to fix the default lirc socket location for xineliboutput
>   and updated it to a more recent checkout, and
> 
> - Chased the libupnp and libextractor shlib version bumps.
> 
> There still is at least one unresolved bug about regenerating index
> files to a recording, once that is found I think the ports can finally
> be committed. :)  (The bug won't affect you as long as you never lose
> files called index in the dir of a recording, see the bugreport for
> details:
> 
> 	http://thread.gmane.org/gmane.linux.vdr/44357/focus=44379
> 
> But if you want to help test/debug this you are most welcome of course.)


More information about the freebsd-multimedia mailing list