[HEADS UP/CFT] Xserver 1.6: testing XvMC HOWTO
Marcin Cieslak
saper at system.pl
Wed Feb 4 16:03:30 PST 2009
A short how-to:
1) Compile and configure Xserver 1.6 with xf86-video-intel driver 2.6.1
2) Add
Option "XvMC" "on"
to your /etc/X11/xorg.conf in the Section "Device" for the "intel" driver:
Section "Device"
Identifier "Intel945"
Driver "intel"
VendorName "Intel Corporation"
BoardName "Mobile 945GM/GMS, 943/940GML Express Integrated
Graphics Controller"
(...)
Option "XvMC" "on"
EndSection
3) Add two flags to your ports/multimedia/mplayer/Makefile, so it looks
more or less like this:
CONFIGURE_ARGS+= --disable-ssse3 \
--disable-directfb \
--disable-faac \
--disable-twolame \
--disable-mencoder \
--enable-xvmc \
--with-xvmclib=XvMCW
4) Verify that /usr/local/lib/libXvMCW.so is installed (should be
required by the intel driver).
5) Recompile mplayer and reinstall
6) Get a pure MPEG-2 video stream (MPEG-2 TS for example)
7) Play it with:
% mplayer -vo xvmc -vc ffmpeg12mc El_Rep_35.mpg
MPlayer 1.0rc2-4.2.1 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Core(TM)2 CPU T5600 @ 1.83GHz (Family: 6, Model:
15, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2
Playing El_Rep_35.mpg.
MPEG-PS file format detected.
VIDEO: MPEG2 640x480 (aspect 1) 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
xscreensaver_disable: Could not find XScreenSaver window.
dcop: not found
vo_xvmc: X-Video extension 2.2
vo_xvmc: X-Video MotionCompensation Extension version 1.1
==========================================================================
Forced video codec: ffmpeg12mc
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
[VD_FFMPEG] XVMC accelerated codec.
Selected video codec: [ffmpeg12mc] vfm: ffmpeg (FFmpeg MPEG-1/2 (XvMC))
==========================================================================
(...)
[VD_FFMPEG] XVMC-accelerated MPEG-2.
[VD_FFMPEG] Trying pixfmt=0.
VDec: vo config request - 640 x 480 (preferred colorspace: MPEG1/2
Motion Compensation and IDCT)
VDec: using MPEG1/2 Motion Compensation as output csp (no 1)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO: [xvmc] 640x480 => 640x480 MPEG1/2 Motion Compensation
vo_xvmc: Port 80 grabed
vo_xvmc: Found matching surface with id=434D5658 on 80 port at 0 adapter
[intel_xvmc] info: decoder type is i915/945 MPEG2 MC decoder
vo_xvmc: Allocated Direct Context
vo_xvmc: data_blocks allocated
vo_xvmc: mv_blocks allocated
vo_xvmc: Motion Compensation context allocated - 8 surfaces
vo_xvmc: idct=0 unsigned_intra=0
vo_xvmc: looking for OSD support
vo_xvmc: No OSD support for this mode
OSD does not work, and I probably don't have IDCT but other than that it
seems to work, from -msglevel vo=9 output:
vo_xvmc: query_format=1DC70002
vo_xvmc: Querying 2 adaptors
vo_xvmc: Quering adaptor #0
vo_xvmc: probing port #80
vo_xvmc: XvMC list have 2 surfaces
vo_xvmc: Found matching surface with id=434D5658 on 80 port at 0 adapter
vo_xvmc: Querying 2 adaptors
vo_xvmc: Quering adaptor #0
vo_xvmc: probing port #80
vo_xvmc: XvMC list have 2 surfaces
vo_xvmc: Port 80 grabed
vo_xvmc: Found matching surface with id=434D5658 on 80 port at 0 adapter
vo_xvmc: Allocated Direct Context
vo_xvmc: data_blocks allocated
vo_xvmc: mv_blocks allocated
vo_xvmc: surface[0] = 0xdb0c60 .rndr=0x80775d800
vo_xvmc: surface[1] = 0xdb0c80 .rndr=0x80775d870
vo_xvmc: surface[2] = 0xdb0ca0 .rndr=0x80775d8e0
vo_xvmc: surface[3] = 0xdb0cc0 .rndr=0x80775d950
vo_xvmc: surface[4] = 0xdb0ce0 .rndr=0x80775d9c0
vo_xvmc: surface[5] = 0xdb0d00 .rndr=0x80775da30
vo_xvmc: surface[6] = 0xdb0d20 .rndr=0x80775daa0
vo_xvmc: surface[7] = 0xdb0d40 .rndr=0x80775db10
vo_xvmc: Motion Compensation context allocated - 8 surfaces
vo_xvmc: idct=0 unsigned_intra=0
vo_xvmc: looking for OSD support
vo_xvmc: No OSD support for this mode
--Marcin
More information about the freebsd-x11
mailing list