Announcement

Collapse
No announcement yet.

xvmc using xvba

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • xvmc using xvba

    Has anyone actually managed to get some sort of xvmc working with xvba (Radeon HD with UVD2)?

    It seems to be required to use XvMCW as wrapper because we don't have any header files for xvba available, but even with XvMCW installed (and /etc/X11/XvMCConfig in place) I can't get mplayer or xine working.

    xvmcinfo reports:
    Xv version 2.2
    XvMC version 1.1

    screen number 0
    info for adaptor 0 [ATI Radeon AVIVO Video]
    number of XvMC surface types: 1

    info about surface 0:
    max_width=1920
    max_height=1080
    subpicture_max_width=1920
    subpicture_max_height=1080
    chroma_format:
    XVMC_CHROMA_FORMAT_420
    mc_type:
    format : MPEG2
    accelaration start from : IDCT
    flags:
    XVMC_BACKEND_SUBPICTURE
    But mplayer ist just outputting garbage (green and pink dots) while xine is even segfaulting.

    This is on a Gentoo x86_64 system using a Radeon HD 4870 with Catalyst 9.5


    Thanks for any hints!

  • #2
    With my Intel X3100, I've had trouble with XvMC as well. mplayer displays solid green, no hint of a video. xine segfaults. Xorg.0.log says XvMC is enabled.

    This is with xf86-video-intel from git, mesa-7.5-rc3, libdrm-2.4.11, kernel-2.6.30, xserver-1.6.1.

    Comment


    • #3
      I'm also on Gentoo x86_64 and I'm seeing even less than you. I've configured mplayer to point to libAMBXvBA. It's definitely linked against it.

      Code:
      root@symphony # ldd /usr/bin/mplayer | grep XvBA
      	libAMDXvBA.so.1 => /usr/lib/libAMDXvBA.so.1 (0x00007f25d65c5000
      I have libAMDXvBA.so.1 in /etc/X11/XvMCConfig thanks to eselect and the extensions are showing in the log.

      Code:
      root@symphony # grep XVideo /var/log/Xorg.0.log
      (II) Loading extension XVideo
      (II) Loading extension XVideo-MotionCompensation
      But despite that, I get this when trying mplayer.

      Code:
      chewi@symphony % mplayer -vo xvmc 11210_20090228223400.mpg
      MPlayer SVN-r29330-4.3.3 (C) 2000-2009 MPlayer Team
      Can't open joystick device /dev/input/js0: No such file or directory
      Can't init input joystick
      
      Playing 11210_20090228223400.mpg.
      TS file format detected.
      VIDEO MPEG2(pid=3332) AUDIO MPA(pid=3333) NO SUBS (yet)!  PROGRAM N. 1
      VIDEO:  MPEG2  544x576  (aspect 3)  25.000 fps  10000.0 kbps (1250.0 kbyte/s)
      vo_xvmc: X-Video extension 2.2
      vo_xvmc: No X-Video MotionCompensation Extension on :0.0
      Error opening/initializing the selected video_out (-vo) device.
      ==========================================================================
      Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
      AUDIO: 48000 Hz, 2 ch, s16le, 192.0 kbit/12.50% (ratio: 24000->192000)
      Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
      ==========================================================================
      AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
      Video: no video
      Starting playback...
      I just can't figure it out. Many other people have got it working, which just makes it all the more frustrating! I have a 4670 so it should work.

      Comment


      • #4
        It actually works for me. I have an HD4870 using mplayer from svn (2009-06-26).

        You're telling mplayer to use the ffmpeg12mc decoder, rigth?

        For example:
        Code:
        $ mplayer -vc ffmpeg12mc -vo xvmc dvd://
        MPlayer SVN-r29404-4.3.3 (C) 2000-2009 MPlayer Team
        
        Playing dvd://.
        libdvdread: Using libdvdcss version 1.2.10 for DVD access
        There are 7 titles on this DVD.
        There are 1 angles in this DVD title.
        
        libdvdread: Attempting to retrieve all CSS keys
        libdvdread: This can take a _long_ time, please be patient
        
        libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x0000012d
        libdvdread: Elapsed time 0
        libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x00002735
        libdvdread: Elapsed time 0
        libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x0002b12c
        libdvdread: Elapsed time 0
        libdvdread: Get key for /VIDEO_TS/VTS_02_0.VOB at 0x0033d709
        libdvdread: Elapsed time 0
        libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x003404eb
        libdvdread: Elapsed time 1
        libdvdread: Found 2 VTS's
        libdvdread: Elapsed time 1
        audio stream: 0 format: ac3 (5.1) language: fr aid: 128.
        audio stream: 1 format: ac3 (stereo) language: en aid: 129.
        audio stream: 2 format: ac3 (stereo) language: fr aid: 130.
        number of audio channels on disk: 3.
        subtitle ( sid ): 3 language: en
        subtitle ( sid ): 4 language: es
        subtitle ( sid ): 5 language: en
        number of subtitles on disk: 3
        Cache fill:  1.37% (114688 bytes)   
        MPEG-PS file format detected.
        VIDEO:  MPEG2  720x480  (aspect 3)  29.970 fps  9801.6 kbps (1225.2 kbyte/s)
        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.
        [VD_FFMPEG] XVMC-accelerated MPEG-2.
        [VD_FFMPEG] XVMC-accelerated MPEG-2.
        Selected video codec: [ffmpeg12mc] vfm: ffmpeg (FFmpeg MPEG-1/2 (XvMC))
        ==========================================================================
        ==========================================================================
        Opening audio decoder: [liba52] AC3 decoding with liba52
        Using SSE optimized IMDCT transform
        Using MMX optimized resampler
        AUDIO: 48000 Hz, 2 ch, s16le, 448.0 kbit/29.17% (ratio: 56000->192000)
        Selected audio codec: [a52] afm: liba52 (AC3-liba52)
        ==========================================================================
        AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
        Starting playback...
        [VD_FFMPEG] Trying pixfmt=0.
        [VD_FFMPEG] XVMC-accelerated MPEG-2.
        VDec: vo config request - 720 x 480 (preferred colorspace: MPEG1/2 Motion Compensation and IDCT)
        vo_xvmc: Found matching surface with id=3231564E on 131 port at 0 adapter
        VDec: using MPEG1/2 Motion Compensation and IDCT as output csp (no 0)
        Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
        VO: [xvmc] 720x480 => 854x480 MPEG1/2 Motion Compensation and IDCT 
        vo_xvmc: Found matching surface with id=3231564E on 131 port at 0 adapter
        vo_xvmc: Using Xv Adaptor #0 (ATI Radeon AVIVO Video)
        vo_xvmc: Port 131 grabed
        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=1 unsigned_intra=0
        vo_xvmc: looking for OSD support
        vo_xvmc: No OSD support for this mode
        [VD_FFMPEG] XVMC-accelerated MPEG-2.
        [mpegvideo_xvmc @ 0xc5fd20]ac-tex damaged at 12 3
        [mpegvideo_xvmc @ 0xc5fd20]Warning MVs not available
        [mpegvideo_xvmc @ 0xc5fd20]concealing 1215 DC, 1215 AC, 1215 MV errors
        A:   0.8 V:   0.7 A-V:  0.054 ct:  0.042  17/ 14 25%  0%  0.9% 0 0 46% 
        demux_mpg: 24000/1001fps progressive NTSC content detected, switching framerate.
        A:  22.2 V:  22.2 A-V:  0.007 ct:  0.202 534/531  6%  0%  0.5% 0 0 49% 
        etc...
        Now, MPEG2 acceleration is pretty silly this day and age, any modern processor should be able to decode even highres video without even breaking a sweat. It'd be neat if we got HW-accelerated MPEG4-AVC though.
        Last edited by albatorsk; 06-26-2009, 07:52 PM.

        Comment


        • #5
          I forgot to select ffmpeg12mc but it still doesn't work. xvmcinfo actually doesn't see my adapter. I'm wondering if it's because I'm using dual-head (zaphod) mode?

          Comment

          Working...
          X