[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