Announcement

Collapse
No announcement yet.

AMD's UVD2-based XvBA Finally Does Something On Linux

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

  • Yesterday I have tried with 9.12-HotFix driver. vainfo works, however, mplayer still not. Maybe some problem with 1440x1080 movie aspect?
    $ grep Gating /etc/ati/amdpcsdb
    Shows nothing.

    Code:
    $ ./mplayer -vo vaapi:gl -va vaapi /media/500gb/Camcorder/001/001.m2ts
    MPlayer SVN-r30589-4.4.1 (C) 2000-2010 MPlayer Team
    mplayer: could not connect to socket
    mplayer: No such file or directory
    Failed to open LIRC support. You will not be able to use your remote control.
    
    Playing /media/500gb/Camcorder/001/001.m2ts.
    TS file format detected.
    VIDEO H264(pid=4113) AUDIO A52(pid=4352) NO SUBS (yet)!  PROGRAM N. 1
    FPS seems to be: 25.000000
    [vo_vaapi] Using OpenGL rendering
    libva: libva version 0.31.0-sds5
    libva: va_getDriverName() returns 0
    libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
    libva: va_openDriver() returns 0
    ==========================================================================
    Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
    [VD_FFMPEG] VA API accelerated codec.
    Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
    ==========================================================================
    ==========================================================================
    Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
    AUDIO: 48000 Hz, 2 ch, s16le, 256.0 kbit/16.67% (ratio: 32000->192000)
    Selected audio codec: [ffac3] afm: ffmpeg (FFmpeg AC-3)
    ==========================================================================
    AO: [oss] 48000Hz 2ch s16le (2 bytes per sample)
    Starting playback...
    Unsupported PixelFormat 61
    [VD_FFMPEG] Trying pixfmt=1.
    Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
    VO: [vaapi] 1440x1080 => 1920x1080 H.264 VA API Acceleration
    [vo_vaapi] Using 1:1 VA surface mapping
    [VD_FFMPEG] XVMC-accelerated MPEG-2.
    xvba_video: XVBA_CreateDecode(): status 2
    [vo_vaapi] vaCopySurfaceGLX(): unknown libva error
    xvba_video: XVBA_CreateDecode(): status 2  9/  9 ??% ??% ??,?% 5 0
    [vo_vaapi] vaCopySurfaceGLX(): unknown libva error
    xvba_video: XVBA_CreateDecode(): status 2 11/ 11 ??% ??% ??,?% 5 0
    [vo_vaapi] vaCopySurfaceGLX(): unknown libva error
    xvba_video: XVBA_CreateDecode(): status 2 13/ 13 ??% ??% ??,?% 5 0
    [vo_vaapi] vaCopySurfaceGLX(): unknown libva error
    xvba_video: XVBA_CreateDecode(): status 2 15/ 15 125% 50%  1.5% 5 0
    [vo_vaapi] vaCopySurfaceGLX(): unknown libva error
    xvba_video: XVBA_CreateDecode(): status 2 17/ 17 109% 49%  1.4% 5 0
    [vo_vaapi] vaCopySurfaceGLX(): unknown libva error
    xvba_video: XVBA_CreateDecode(): status 2 19/ 19 97% 49%  1.4% 5 0
    [vo_vaapi] vaCopySurfaceGLX(): unknown libva error
    xvba_video: XVBA_CreateDecode(): status 2 21/ 21 87% 49%  1.4% 5 0
    [vo_vaapi] vaCopySurfaceGLX(): unknown libva error
    xvba_video: XVBA_CreateDecode(): status 2 23/ 23 79% 49%  1.4% 5 0
    [vo_vaapi] vaCopySurfaceGLX(): unknown libva error
    xvba_video: XVBA_CreateDecode(): status 2 25/ 25 73% 49%  1.3% 5 0
    [vo_vaapi] vaCopySurfaceGLX(): unknown libva error
    xvba_video: XVBA_CreateDecode(): status 2 27/ 27 67% 49%  1.3% 5 0
    [vo_vaapi] vaCopySurfaceGLX(): unknown libva error
    xvba_video: XVBA_CreateDecode(): status 2 29/ 29 62% 49%  1.8% 5 0
    [vo_vaapi] vaCopySurfaceGLX(): unknown libva error
    xvba_video: XVBA_CreateDecode(): status 2 31/ 31 58% 49%  1.8% 5 0
    [vo_vaapi] vaCopySurfaceGLX(): unknown libva error
    xvba_video: error: Assertion failed in file xvba_decode.c at line 770
    
    
    MPlayer interrupted by signal 6 in module: decode_video
    - MPlayer crashed. This shouldn't happen.
      It can be a bug in the MPlayer code _or_ in your drivers _or_ in your
      gcc version. If you think it's MPlayer's fault, please read
      DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and
      won't help unless you provide this information when reporting a possible bug.
    Code:
    $ vainfo
    libva: libva version 0.31.0-sds5
    libva: va_getDriverName() returns 0
    libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
    libva: va_openDriver() returns 0
    vainfo: VA API version: 0.31
    vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA API - 0.6.9
    vainfo: Supported profile and entrypoints
          VAProfileMPEG2Simple            : VAEntrypointIDCT
          VAProfileMPEG2Main              : VAEntrypointIDCT
          VAProfileH264High               : VAEntrypointVLD
          VAProfileVC1Advanced            : VAEntrypointVLD
    $ lspci | grep VGA
    05:00.0 VGA compatible controller: ATI Technologies Inc RV730XT [Radeon HD 4670]

    Comment


    • Originally posted by Kano View Post
      There is no Cat for squeeze - or didn't you update to Xserver 1.7?
      I held back the xorg packages. Like you and many others, I really wish AMD would catch up and support us : (

      Comment


      • Almost the same story with h264.mp4 from hwdecode demos.
        Code:
        $ ./mplayer-vaapi-20100224/mplayer-vaapi/mplayer -vo vaapi:gl -va vaapi hwdecode-demos-0.9.2/src/h264.mp4 
        MPlayer SVN-r30589-4.4.1 (C) 2000-2010 MPlayer Team
        mplayer: could not connect to socket
        mplayer: No such file or directory
        Failed to open LIRC support. You will not be able to use your remote control.
        
        Playing hwdecode-demos-0.9.2/src/h264.mp4.
        libavformat file format detected.
        [mov,mp4,m4a,3gp,3g2,mj2 @ 0x2af42f0]moov atom not found
        LAVF_header: av_open_input_stream() failed
        Quicktime/MOV file format detected.
        [mov] Video stream found, -vid 0
        VIDEO:  [avc1]  320x240  24bpp  12.000 fps    0.0 kbps ( 0.0 kbyte/s)
        [vo_vaapi] Using OpenGL rendering
        libva: libva version 0.31.0-sds5
        libva: va_getDriverName() returns 0
        libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
        libva: va_openDriver() returns 0
        ==========================================================================
        Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
        [VD_FFMPEG] VA API accelerated codec.
        Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
        ==========================================================================
        Audio: no sound
        Starting playback...
        Unsupported PixelFormat 61
        [VD_FFMPEG] Trying pixfmt=1.
        Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
        VO: [vaapi] 320x240 => 320x240 H.264 VA API Acceleration 
        [vo_vaapi] Using 1:1 VA surface mapping
        [VD_FFMPEG] XVMC-accelerated MPEG-2.
        xvba_video: XVBA_CreateDecode(): status 2
        [vo_vaapi] vaCopySurfaceGLX(): unknown libva error
        V:   0.0   1/  1 ??% ??% ??,?% 0 0 
        
        Exiting... (End of file)

        Comment


        • Installed 10.1 (8.690) driver. vainfo works, mplayer still no. Tried also with h264.mp4 and it almost freezed my system. I thought it hang, but after half of a minute it unfreezed.
          Code:
          $ ./mplayer-vaapi-20100224/mplayer-vaapi/mplayer -vo vaapi:gl -va vaapi hwdecode-demos-0.9.2/src/mpeg4.mp4
          MPlayer SVN-r30589-4.4.1 (C) 2000-2010 MPlayer Team
          mplayer: could not connect to socket
          mplayer: No such file or directory
          Failed to open LIRC support. You will not be able to use your remote control.
          
          Playing hwdecode-demos-0.9.2/src/mpeg4.mp4.
          libavformat file format detected.
          [mov,mp4,m4a,3gp,3g2,mj2 @ 0x29ac2f0]moov atom not found
          LAVF_header: av_open_input_stream() failed
          Quicktime/MOV file format detected.
          [mov] Video stream found, -vid 0
          VIDEO:  [mp4v]  320x240  24bpp  12.000 fps    0.0 kbps ( 0.0 kbyte/s)
          [vo_vaapi] Using OpenGL rendering
          libva: libva version 0.31.0-sds5
          Xlib:  extension "XFree86-DRI" missing on display ":0.1".
          libva: va_getDriverName() returns 0
          libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
          libva: va_openDriver() returns 0
          ==========================================================================
          Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
          [VD_FFMPEG] VA API accelerated codec.
          Unsupported PixelFormat 61
          [VD_FFMPEG] Trying pixfmt=1.
          Movie-Aspect is undefined - no prescaling applied.
          VO: [vaapi] 320x240 => 320x240 MPEG-4 VA API Acceleration 
          [vo_vaapi] Using 1:1 VA surface mapping
          FATAL: Cannot initialize video driver.
          Unsupported PixelFormat 61
          [VD_FFMPEG] Trying pixfmt=0.
          Unsupported PixelFormat 61
          Could not find matching colorspace - retrying with -vf scale...
          Opening video filter: [scale]
          The selected video_out device is incompatible with this codec.
          Try appending the scale filter to your filter list,
          e.g. -vf spp,scale instead of -vf spp.
          [VD_FFMPEG] Trying pixfmt=2.
          Could not find matching colorspace - retrying with -vf scale...
          Opening video filter: [scale]
          The selected video_out device is incompatible with this codec.
          Try appending the scale filter to your filter list,
          e.g. -vf spp,scale instead of -vf spp.
          [VD_FFMPEG] Trying pixfmt=3.
          Movie-Aspect is undefined - no prescaling applied.
          VO: [vaapi] 320x240 => 320x240 Planar YV12 
          Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
          ==========================================================================
          Audio: no sound
          Starting playback...
          Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
          VO: [vaapi] 320x240 => 320x240 Planar YV12 
          V:   0.0   1/  1 ??% ??% ??,?% 0 0 
          
          Exiting... (End of file)

          Comment


          • Originally posted by DivineGrace View Post
            Pure AMD64 build here, mate. What is strange is that with Cat 9.10, Squeeze amd64, mobile HD 2600, with xvba-video 0.6.9, libva version 0.31.0-sds4, I hear audio but see no video with 720p or 1080p videos.
            After switching to xvba-video 0.6.8, everything works perfectly.

            This weekend, I'll try my desktop with HD 3300 and HD 3870 on Jaunty and try the newest libva and xvba-video.
            It seems I missed a '0' in the version. For xvba-video 0.6.9, use libva 0.31.0-1+sds10.

            BTW, I never got XvBA to work correctly on a Debian system. It seems this has to match what it currently supported by AMD. e.g. Ubuntu/9.04 -> the same kernel, X.org, drm et al. Yes, this is terribly painful...

            Comment


            • Originally posted by zhenya_k View Post
              Installed 10.1 (8.690) driver. vainfo works, mplayer still no. Tried also with h264.mp4 and it almost freezed my system. I thought it hang, but after half of a minute it unfreezed.
              Your log doesn't show an H.264 clip. Besides, it's simpler you try hwdecode-demos first. e.g. vaapi_h264. Don't be too optimistic when trying XvBA. vainfo will rarely fail because it doesn't try to open a decode pipeline.

              Comment


              • Originally posted by gbeauche View Post
                Your log doesn't show an H.264 clip. Besides, it's simpler you try hwdecode-demos first. e.g. vaapi_h264. Don't be too optimistic when trying XvBA. vainfo will rarely fail because it doesn't try to open a decode pipeline.
                I wasn't too brave to try h264 again . By the way the freeze of system was connected with high cpu load. Any way I tried hwdecode-demos as you suggested. Here are the results for h264 and mpeg4. vc1 and mpeg2 behave the same respectively
                Code:
                $ ./vaapi_h264 
                Display type 'x11'
                Hardware accelerator 'vaapi'
                [hwdecode_demos] VA display 0x193ba60
                libva: libva version 0.31.0-sds5
                Xlib:  extension "XFree86-DRI" missing on display ":0.1".
                libva: va_getDriverName() returns 0
                libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
                libva: va_openDriver() returns 0
                [hwdecode_demos] VA API version 0.31
                [hwdecode_demos] 6 display attributes available
                [hwdecode_demos]   VADisplayAttribDirectSurface     (get/---) min 0 max 0 value 0x0
                [hwdecode_demos]   VADisplayAttribBackgroundColor   (get/set) min 0 max 16777215 value 0xffffff
                [hwdecode_demos]   VADisplayAttribBrightness        (get/set) min -100 max 100 value 0x0
                [hwdecode_demos]   VADisplayAttribContrast          (get/set) min -100 max 100 value 0x0
                [hwdecode_demos]   VADisplayAttribHue               (get/set) min -100 max 100 value 0x0
                [hwdecode_demos]   VADisplayAttribSaturation        (get/set) min -100 max 100 value 0x0
                [hwdecode_demos] Decoded surface size: 320x240
                [hwdecode_demos] 4 profiles available
                [hwdecode_demos]   VAProfileMPEG2Simple
                [hwdecode_demos]   VAProfileMPEG2Main
                [hwdecode_demos]   VAProfileH264High
                [hwdecode_demos]   VAProfileVC1Advanced
                [hwdecode_demos] 1 entrypoints available for VAProfileH264High
                [hwdecode_demos]   VAEntrypointVLD
                X Error of failed request:  BadMatch (invalid parameter attributes)
                  Major opcode of failed request:  1 (X_CreateWindow)
                  Serial number of failed request:  76
                  Current serial number in output stream:  79
                
                $ ./vaapi_mpeg4 
                Display type 'x11'
                Hardware accelerator 'vaapi'
                [hwdecode_demos] VA display 0x9eba60
                libva: libva version 0.31.0-sds5
                Xlib:  extension "XFree86-DRI" missing on display ":0.1".
                libva: va_getDriverName() returns 0
                libva: Trying to open /usr/lib/va/drivers/fglrx_drv_video.so
                libva: va_openDriver() returns 0
                [hwdecode_demos] VA API version 0.31
                [hwdecode_demos] 6 display attributes available
                [hwdecode_demos]   VADisplayAttribDirectSurface     (get/---) min 0 max 0 value 0x0
                [hwdecode_demos]   VADisplayAttribBackgroundColor   (get/set) min 0 max 16777215 value 0xffffff
                [hwdecode_demos]   VADisplayAttribBrightness        (get/set) min -100 max 100 value 0x0
                [hwdecode_demos]   VADisplayAttribContrast          (get/set) min -100 max 100 value 0x0
                [hwdecode_demos]   VADisplayAttribHue               (get/set) min -100 max 100 value 0x0
                [hwdecode_demos]   VADisplayAttribSaturation        (get/set) min -100 max 100 value 0x0
                [hwdecode_demos] Decoded surface size: 320x240
                [hwdecode_demos] 4 profiles available
                [hwdecode_demos]   VAProfileMPEG2Simple
                [hwdecode_demos]   VAProfileMPEG2Main
                [hwdecode_demos]   VAProfileH264High
                [hwdecode_demos]   VAProfileVC1Advanced
                ERROR: decode failed

                Comment


                • Right, using some voodoo (why does make --install-ing libva not install the drivers?? why are there no pre-patched libva packages (or a patch.tar.gz?) Why is there no installer for xvba?? It's not obvious that I need to put it into /usr/local/lib, when the .tar unzips to /usr/lib) I managed to get mplayer run hardware accelerated 1080p, scaled down to 720p on a 780g/3200 on gentoo-amd64-multilib.

                  I guess I should use what I learned to make a gentoo ebuild...

                  Comment


                  • Originally posted by Rick View Post
                    Right, using some voodoo (why does make --install-ing libva not install the drivers?? why are there no pre-patched libva packages (or a patch.tar.gz?) Why is there no installer for xvba?? It's not obvious that I need to put it into /usr/local/lib, when the .tar unzips to /usr/lib) I managed to get mplayer run hardware accelerated 1080p, scaled down to 720p on a 780g/3200 on gentoo-amd64-multilib.

                    I guess I should use what I learned to make a gentoo ebuild...
                    Rick, from Gwenole's website, I can download a tar.gz file for any xvba-video file available, and install without any problems. For a Debian-based system, the .deb file does the job normally.
                    Since you mentioned Gentoo, perhaps you should ask Gwenole if he could accommodate Gentoo users such as yourself?

                    Comment


                    • @gbeauche

                      Could you define which debian system you tested and what was working on ubuntu which did not work on debian? I can not see those differences - only broken code sometime...

                      Comment

                      Working...
                      X