Announcement

Collapse
No announcement yet.

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

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

  • Originally posted by gbeauche View Post
    See earlier in the thread. Basically, download & build hwdecode-demos. Then, I want the console & window output for each of the following command.
    $ XVBA_VIDEO_DEBUG=1 ./vaapi_h264
    $ XVBA_VIDEO_DEBUG=1 ./vaapi_h264 --glx
    $ XVBA_VIDEO_DEBUG=1 XVBA_VIDEO_EVERGREEN_WORKAROUND=0 ./vaapi_h264
    $ XVBA_VIDEO_DEBUG=1 XVBA_VIDEO_EVERGREEN_WORKAROUND=0 ./vaapi_h264 --glx
    Had to use hwdecode-demos-0.9.3.tar.gz instead of the last one (0.9.4) because I had some conflicts to compile it. If you need tests with that last version, I'll try harder to make it work, just let me know.

    XVBA_VIDEO_DEBUG=1 ./vaapi_h264



    Code:
    Display type 'x11'
    Hardware accelerator 'vaapi'
    [hwdecode_demos] VA display 0x22fbb20
    libva: libva version 0.31.1
    Xlib:  extension "XFree86-DRI" missing on display ":0".
    libva: va_getDriverName() returns 0
    libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
    xvba_video: FGLRX driver version 8.79.4 detected
    xvba_video: FGLRX device ID 0x6899
    xvba_video: Evergreen GPU detected
    xvba_video: XvBA version 0.74 detected
    libva: va_openDriver() returns 0
    [hwdecode_demos] VA API version 0.31
    [hwdecode_demos] 6 display attributes available
    [hwdecode_demos]   VADisplayAttribDirectSurface     (get/---) min 1 max 1 value 0x1
    [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
    xvba_video: vaCreateSurfaces(): size 320x240, format YUV420
    xvba_video:   surface 0x03000000
    xvba_video: vaCreateContext(): config 0x01000000, size 320x240
    xvba_video:   surface 0x03000000
    xvba_video:   context 0x02000000
    xvba_video: vaBeginPicture(): context 0x02000000, surface 0x03000000
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000000
    xvba_video:   buffer 0x04000001
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000002
    xvba_video:   buffer 0x04000003
    xvba_video: vaEndPicture(): context 0x02000000
    xvba_video: vaPutSurface(): surface 0x03000000, drawable 0x06a00001, src rect (0,0):320x240, dest rect (0,0):640x480
    xvba_video: Using Evergreen workaround 15
    XVBA_VIDEO_DEBUG=1 ./vaapi_h264 --glx



    Code:
    Display type 'glx'
    Hardware accelerator 'vaapi'
    [hwdecode_demos] VA display 0xc450f0
    libva: libva version 0.31.1
    Xlib:  extension "XFree86-DRI" missing on display ":0".
    libva: va_getDriverName() returns 0
    libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
    xvba_video: FGLRX driver version 8.79.4 detected
    xvba_video: FGLRX device ID 0x6899
    xvba_video: Evergreen GPU detected
    xvba_video: XvBA version 0.74 detected
    libva: va_openDriver() returns 0
    [hwdecode_demos] VA API version 0.31
    [hwdecode_demos] 6 display attributes available
    [hwdecode_demos]   VADisplayAttribDirectSurface     (get/---) min 1 max 1 value 0x1
    [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
    xvba_video: vaCreateSurfaces(): size 320x240, format YUV420
    xvba_video:   surface 0x03000000
    xvba_video: vaCreateContext(): config 0x01000000, size 320x240
    xvba_video:   surface 0x03000000
    xvba_video:   context 0x02000000
    xvba_video: vaBeginPicture(): context 0x02000000, surface 0x03000000
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000000
    xvba_video:   buffer 0x04000001
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000002
    xvba_video:   buffer 0x04000003
    xvba_video: vaEndPicture(): context 0x02000000
    xvba_video: Using Evergreen workaround 7
    VAAPI: use vaCopySurfaceGLX()
    XVBA_VIDEO_DEBUG=1 XVBA_VIDEO_EVERGREEN_WORKAROUND=0 ./vaapi_h264



    Code:
    Display type 'x11'
    Hardware accelerator 'vaapi'
    [hwdecode_demos] VA display 0x7c5b20
    libva: libva version 0.31.1
    Xlib:  extension "XFree86-DRI" missing on display ":0".
    libva: va_getDriverName() returns 0
    libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
    xvba_video: FGLRX driver version 8.79.4 detected
    xvba_video: FGLRX device ID 0x6899
    xvba_video: Evergreen GPU detected
    xvba_video: XvBA version 0.74 detected
    libva: va_openDriver() returns 0
    [hwdecode_demos] VA API version 0.31
    [hwdecode_demos] 6 display attributes available
    [hwdecode_demos]   VADisplayAttribDirectSurface     (get/---) min 1 max 1 value 0x1
    [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
    xvba_video: vaCreateSurfaces(): size 320x240, format YUV420
    xvba_video:   surface 0x03000000
    xvba_video: vaCreateContext(): config 0x01000000, size 320x240
    xvba_video:   surface 0x03000000
    xvba_video:   context 0x02000000
    xvba_video: vaBeginPicture(): context 0x02000000, surface 0x03000000
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000000
    xvba_video:   buffer 0x04000001
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000002
    xvba_video:   buffer 0x04000003
    xvba_video: vaEndPicture(): context 0x02000000
    xvba_video: vaPutSurface(): surface 0x03000000, drawable 0x06a00001, src rect (0,0):320x240, dest rect (0,0):640x480
    xvba_video: Using Evergreen workaround 0
    XVBA_VIDEO_DEBUG=1 XVBA_VIDEO_EVERGREEN_WORKAROUND=0 ./vaapi_h264 --glx



    Code:
    Display type 'glx'
    Hardware accelerator 'vaapi'
    [hwdecode_demos] VA display 0x120b0f0
    libva: libva version 0.31.1
    Xlib:  extension "XFree86-DRI" missing on display ":0".
    libva: va_getDriverName() returns 0
    libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
    xvba_video: FGLRX driver version 8.79.4 detected
    xvba_video: FGLRX device ID 0x6899
    xvba_video: Evergreen GPU detected
    xvba_video: XvBA version 0.74 detected
    libva: va_openDriver() returns 0
    [hwdecode_demos] VA API version 0.31
    [hwdecode_demos] 6 display attributes available
    [hwdecode_demos]   VADisplayAttribDirectSurface     (get/---) min 1 max 1 value 0x1
    [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
    xvba_video: vaCreateSurfaces(): size 320x240, format YUV420
    xvba_video:   surface 0x03000000
    xvba_video: vaCreateContext(): config 0x01000000, size 320x240
    xvba_video:   surface 0x03000000
    xvba_video:   context 0x02000000
    xvba_video: vaBeginPicture(): context 0x02000000, surface 0x03000000
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000000
    xvba_video:   buffer 0x04000001
    xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
    xvba_video:   buffer 0x04000002
    xvba_video:   buffer 0x04000003
    xvba_video: vaEndPicture(): context 0x02000000
    xvba_video: Using Evergreen workaround 0
    VAAPI: use vaCopySurfaceGLX()

    Comment


    • Originally posted by javonera View Post
      Had to use hwdecode-demos-0.9.3.tar.gz instead of the last one (0.9.4) because I had some conflicts to compile it.
      What kind of conflict?

      XVBA_VIDEO_DEBUG=1 XVBA_VIDEO_EVERGREEN_WORKAROUND=0 ./vaapi_h264 --glx
      OK, please try:
      $ XVBA_VIDEO_DEBUG=1 XVBA_VIDEO_EVERGREEN_WORKAROUND=169 ./vaapi_h264 --glx

      I am indeed checking for fglrx >= 8.79.4 but forgot to conditionalize it further for Fusion chips... So the wrong workaround is used for hd 5 series and fglrx >= 8.79.4.

      You can either use XVBA_VIDEO_EVERGREEN_WORKAROUND=169 or downgrade to an earlier driver. Well, please tell me if the former case works or not. Thanks.

      Comment


      • Originally posted by gbeauche View Post
        What kind of conflict?
        Code:
        Making all in src
        make[1]: se ingresa al directorio `/home/javo/instalar/hwdecode-demos-0.9.4/src'
        make  all-am
        make[2]: se ingresa al directorio `/home/javo/instalar/hwdecode-demos-0.9.4/src'
        gcc -DHAVE_CONFIG_H -I.     -pthread -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14    -DUSE_FFMPEG    -DUSE_VAAPI -DUSE_VAAPI_X11 -DUSE_VAAPI_GLX  -DUSE_H264 -g -O2 -MT ffmpeg_h264-glx.o -MD -MP -MF .deps/ffmpeg_h264-glx.Tpo -c -o ffmpeg_h264-glx.o `test -f 'glx.c' || echo './'`glx.c
        In file included from utils_glx.h:26:0,
                         from glx.h:25,
                         from glx.c:23:
        glx_compat.h:42:28: error: tipos en conflicto para ‘PFNGLVDPAUREGISTERVIDEOSURFACENVPROC’
        /usr/include/GL/glext.h:11009:37: nota: la declaración previa de ‘PFNGLVDPAUREGISTERVIDEOSURFACENVPROC’ estaba aquí
        In file included from utils_glx.h:26:0,
                         from glx.h:25,
                         from glx.c:23:
        glx_compat.h:43:28: error: tipos en conflicto para ‘PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC’
        /usr/include/GL/glext.h:11010:37: nota: la declaración previa de ‘PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC’ estaba aquí
        make[2]: *** [ffmpeg_h264-glx.o] Error 1
        make[2]: se sale del directorio `/home/javo/instalar/hwdecode-demos-0.9.4/src'
        make[1]: *** [all] Error 2
        make[1]: se sale del directorio `/home/javo/instalar/hwdecode-demos-0.9.4/src'
        make: *** [all-recursive] Error 1
        /usr/include/GL/glext.h is part of Mesa. I can try to replace that package with mesa-git, but I also have to replace othes packages with their corresponding git packages.....so it will make a little mess.

        OK, please try:
        $ XVBA_VIDEO_DEBUG=1 XVBA_VIDEO_EVERGREEN_WORKAROUND=169 ./vaapi_h264 --glx

        I am indeed checking for fglrx >= 8.79.4 but forgot to conditionalize it further for Fusion chips... So the wrong workaround is used for hd 5 series and fglrx >= 8.79.4.

        You can either use XVBA_VIDEO_EVERGREEN_WORKAROUND=169 or downgrade to an earlier driver. Well, please tell me if the former case works or not. Thanks.
        Thanks to you for all this work.
        I've tried previous versions of catalyst, but it has never worked.
        Here's the console output:

        Code:
        Display type 'glx'
        Hardware accelerator 'vaapi'
        [hwdecode_demos] VA display 0x27aa0f0
        libva: libva version 0.31.1
        Xlib:  extension "XFree86-DRI" missing on display ":0".
        libva: va_getDriverName() returns 0
        libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
        xvba_video: FGLRX driver version 8.79.4 detected
        xvba_video: FGLRX device ID 0x6899
        xvba_video: Evergreen GPU detected
        xvba_video: XvBA version 0.74 detected
        libva: va_openDriver() returns 0
        [hwdecode_demos] VA API version 0.31
        [hwdecode_demos] 6 display attributes available
        [hwdecode_demos]   VADisplayAttribDirectSurface     (get/---) min 1 max 1 value 0x1
        [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
        xvba_video: vaCreateSurfaces(): size 320x240, format YUV420
        xvba_video:   surface 0x03000000
        xvba_video: vaCreateContext(): config 0x01000000, size 320x240
        xvba_video:   surface 0x03000000
        xvba_video:   context 0x02000000
        xvba_video: vaBeginPicture(): context 0x02000000, surface 0x03000000
        xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
        xvba_video:   buffer 0x04000000
        xvba_video:   buffer 0x04000001
        xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
        xvba_video:   buffer 0x04000002
        xvba_video:   buffer 0x04000003
        xvba_video: vaEndPicture(): context 0x02000000
        xvba_video: Using Evergreen workaround 169
        VAAPI: use vaCopySurfaceGLX()
        and here's the screenshot:

        Comment


        • Originally posted by javonera View Post
          Code:
          Making all in src
          make[1]: se ingresa al directorio `/home/javo/instalar/hwdecode-demos-0.9.4/src'
          make  all-am
          make[2]: se ingresa al directorio `/home/javo/instalar/hwdecode-demos-0.9.4/src'
          gcc -DHAVE_CONFIG_H -I.     -pthread -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14    -DUSE_FFMPEG    -DUSE_VAAPI -DUSE_VAAPI_X11 -DUSE_VAAPI_GLX  -DUSE_H264 -g -O2 -MT ffmpeg_h264-glx.o -MD -MP -MF .deps/ffmpeg_h264-glx.Tpo -c -o ffmpeg_h264-glx.o `test -f 'glx.c' || echo './'`glx.c
          In file included from utils_glx.h:26:0,
                           from glx.h:25,
                           from glx.c:23:
          glx_compat.h:42:28: error: tipos en conflicto para ‘PFNGLVDPAUREGISTERVIDEOSURFACENVPROC’
          /usr/include/GL/glext.h:11009:37: nota: la declaración previa de ‘PFNGLVDPAUREGISTERVIDEOSURFACENVPROC’ estaba aquí
          In file included from utils_glx.h:26:0,
                           from glx.h:25,
                           from glx.c:23:
          glx_compat.h:43:28: error: tipos en conflicto para ‘PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC’
          /usr/include/GL/glext.h:11010:37: nota: la declaración previa de ‘PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC’ estaba aquí
          make[2]: *** [ffmpeg_h264-glx.o] Error 1
          make[2]: se sale del directorio `/home/javo/instalar/hwdecode-demos-0.9.4/src'
          make[1]: *** [all] Error 2
          make[1]: se sale del directorio `/home/javo/instalar/hwdecode-demos-0.9.4/src'
          make: *** [all-recursive] Error 1
          /usr/include/GL/glext.h is part of Mesa. I can try to replace that package with mesa-git, but I also have to replace othes packages with their corresponding git packages.....so it will make a little mess.
          Please configure with the --disable-vdpau option. I will fix compilation later.

          Great, so we have a match vertically. I don't have the time to think properly, but could you please try iteratively with the following values (with vaapi_vc1 instead): 168, 172, 184.

          If you use 0.9.4, please also add --no-glx-use-reflection so that I can postprocess your screenshots. Thanks.

          Comment


          • Hi mr. gbeauche, did you remember me? :lol:

            I've some updates for problems decoding h264 videos in my HD2600 (Using Catalyst 10.10 or 10.11).

            Here comes some text:

            mplayer -vo vaapi -va vaapi -ao alsa /media/disk/home/evolution/Downloads/homens\ da\ luta\ Faro\ HD\(720p_H.264-AAC\).mp4
            MPlayer SVN-r32669-4.5.1 (C) 2000-2010 MPlayer Team
            161 audio & 345 video codecs
            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/disk/home/evolution/Downloads/homens da luta Faro HD(720p_H.264-AAC).mp4.
            libavformat file format detected.
            [lavf] stream 0: video (h264), -vid 0
            [lavf] stream 1: audio (aac), -aid 0, -alang und
            VIDEO: [H264] 1280x720 24bpp 25.000 fps 2774.4 kbps (338.7 kbyte/s)
            Clip info:
            major_brand: mp42
            minor_version: 0
            compatible_brands: isommp42
            creation_time: 2010-10-11 12:21:42
            libva: libva version 0.31.1
            Xlib: extension "XFree86-DRI" missing on display ":0".
            libva: va_getDriverName() returns 0
            libva: Trying to open /usr/lib/dri/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: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 15997->176400)
            Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
            ================================================== ========================
            AO: [alsa] 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] 1280x720 => 1280x720 H.264 VA-API Acceleration
            [VD_FFMPEG] XVMC-accelerated MPEG-2.
            xvba_video: XVBA_CreateGLSharedSurface(): status 11
            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 11% ??% ??,?% 0 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 11% ??% ??,?% 1 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 11% ??% ??,?% 2 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 11% ??% ??,?% 3 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 11% ??% ??,?% 4 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 11% ??% ??,?% 5 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 11% ??% ??,?% 6 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 11% ??% ??,?% 7 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 11% ??% ??,?% 8 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 11% ??% ??,?% 9 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 11% ??% ??,?% 10 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 11% ??% ??,?% 11 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 11% ??% ??,?% 12 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 110% 37% 3.1% 13 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 111% 35% 3.2% 14 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 112% 32% 3.3% 15 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 113% 30% 3.6% 16 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 114% 29% 3.5% 17 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 115% 27% 3.5% 18 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 116% 26% 3.4% 19 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            xvba_video: XVBA_CreateGLSharedSurface(): status 116% 25% 3.4% 20 0

            [vo_vaapi] vaPutSurface(): resource allocation failed
            A: 2.8 V: 0.8 A-V: 1.960 ct: 0.001 0/ 0 317% 23% 3.3% 21 0

            ... and the mplayer output window is black (it doesn't show anything).

            What do these errors mean?


            Btw, I can confirm, by the positive side, my desktop's HD4650 AGP is working well with latest xvba-video (0.7.6) + Catalyst (10.11)...

            Cheers

            Comment


            • Maybe you have got more luck with 10-7, but i would add a nv card, thats more easy

              I had a 3450, sold it becaue it always sucked when i tested xvba. I only use 4550+5670 for testing now. But i don't watch complete movies with it, i only test my usual samples to see a progress or not.

              Comment


              • Originally posted by Kano View Post
                Maybe you have got more luck with 10-7, but i would add a nv card, thats more easy

                I had a 3450, sold it becaue it always sucked when i tested xvba. I only use 4550+5670 for testing now. But i don't watch complete movies with it, i only test my usual samples to see a progress or not.
                someone should send you an hd6850 to make sure you have much fun

                Comment


                • I know Kano!

                  Originally posted by Kano View Post
                  Maybe you have got more luck with 10-7, but i would add a nv card, thats more easy

                  I had a 3450, sold it becaue it always sucked when i tested xvba. I only use 4550+5670 for testing now. But i don't watch complete movies with it, i only test my usual samples to see a progress or not.
                  Well, my desktop doesn't have problems... Its UVD2 function works properly for the full/standard HD videos I watch...

                  Yes, I might buy a new laptop with a nVidia card, but that only will happen if AMD doesn't support HW video decoding in Linux 'till there...

                  Cheers

                  Comment


                  • finely it works on my radeon 5850. i download
                    xvba-video_0.7.6-1
                    libva1_0.31.1-1+sds4
                    catalyst 10.11
                    and latest mplayer and hwdecode-demos.

                    from hwdecode-demos works h264 and vc1. mpeg2/4 exit with "ERROR: decode failed"

                    h264 and vc1 works fine. and even mplayer works. when i try --glx option to demos i get garbled output and with vaapi:gl with mplayer i get garbage too.

                    Comment


                    • Originally posted by gbeauche View Post
                      Please configure with the --disable-vdpau option. I will fix compilation later.
                      I'm having the same conflict with any of these:
                      --disable-vdpau
                      --disable-vaapi
                      --disable-ffmpeg
                      --disable-crystalhd
                      --disable-xvba

                      The only way I can make it compile is with --disable-glx

                      Great, so we have a match vertically. I don't have the time to think properly, but could you please try iteratively with the following values (with vaapi_vc1 instead): 168, 172, 184.

                      If you use 0.9.4, please also add --no-glx-use-reflection so that I can postprocess your screenshots. Thanks.
                      I used 0.9.3 because of my previous explanation.

                      XVBA_VIDEO_DEBUG=1 XVBA_VIDEO_EVERGREEN_WORKAROUND=168 ./vaapi_vc1 --glx

                      Code:
                      Display type 'glx'
                      Hardware accelerator 'vaapi'
                      [hwdecode_demos] VA display 0x1e4a1d0
                      libva: libva version 0.31.1
                      Xlib:  extension "XFree86-DRI" missing on display ":0".
                      libva: va_getDriverName() returns 0
                      libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
                      xvba_video: FGLRX driver version 8.79.4 detected
                      xvba_video: FGLRX device ID 0x6899
                      xvba_video: Evergreen GPU detected
                      xvba_video: XvBA version 0.74 detected
                      libva: va_openDriver() returns 0
                      [hwdecode_demos] VA API version 0.31
                      [hwdecode_demos] 6 display attributes available
                      [hwdecode_demos]   VADisplayAttribDirectSurface     (get/---) min 1 max 1 value 0x1
                      [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 VAProfileVC1Advanced
                      [hwdecode_demos]   VAEntrypointVLD
                      xvba_video: vaCreateSurfaces(): size 320x240, format YUV420
                      xvba_video:   surface 0x03000000
                      xvba_video: vaCreateContext(): config 0x01000000, size 320x240
                      xvba_video:   surface 0x03000000
                      xvba_video:   context 0x02000000
                      xvba_video: vaBeginPicture(): context 0x02000000, surface 0x03000000
                      xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
                      xvba_video:   buffer 0x04000000
                      xvba_video:   buffer 0x04000001
                      xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
                      xvba_video:   buffer 0x04000002
                      xvba_video:   buffer 0x04000003
                      xvba_video: vaEndPicture(): context 0x02000000
                      xvba_video: Using Evergreen workaround 168
                      VAAPI: use vaCopySurfaceGLX()


                      XVBA_VIDEO_DEBUG=1 XVBA_VIDEO_EVERGREEN_WORKAROUND=178 ./vaapi_vc1 --glx

                      Code:
                      Display type 'glx'
                      Hardware accelerator 'vaapi'
                      [hwdecode_demos] VA display 0xab91d0
                      libva: libva version 0.31.1
                      Xlib:  extension "XFree86-DRI" missing on display ":0".
                      libva: va_getDriverName() returns 0
                      libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
                      xvba_video: FGLRX driver version 8.79.4 detected
                      xvba_video: FGLRX device ID 0x6899
                      xvba_video: Evergreen GPU detected
                      xvba_video: XvBA version 0.74 detected
                      libva: va_openDriver() returns 0
                      [hwdecode_demos] VA API version 0.31
                      [hwdecode_demos] 6 display attributes available
                      [hwdecode_demos]   VADisplayAttribDirectSurface     (get/---) min 1 max 1 value 0x1
                      [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 VAProfileVC1Advanced
                      [hwdecode_demos]   VAEntrypointVLD
                      xvba_video: vaCreateSurfaces(): size 320x240, format YUV420
                      xvba_video:   surface 0x03000000
                      xvba_video: vaCreateContext(): config 0x01000000, size 320x240
                      xvba_video:   surface 0x03000000
                      xvba_video:   context 0x02000000
                      xvba_video: vaBeginPicture(): context 0x02000000, surface 0x03000000
                      xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
                      xvba_video:   buffer 0x04000000
                      xvba_video:   buffer 0x04000001
                      xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
                      xvba_video:   buffer 0x04000002
                      xvba_video:   buffer 0x04000003
                      xvba_video: vaEndPicture(): context 0x02000000
                      xvba_video: Using Evergreen workaround 172
                      VAAPI: use vaCopySurfaceGLX()


                      XVBA_VIDEO_DEBUG=1 XVBA_VIDEO_EVERGREEN_WORKAROUND=184 ./vaapi_vc1 --glx

                      Code:
                      Display type 'glx'
                      Hardware accelerator 'vaapi'
                      [hwdecode_demos] VA display 0x297b1d0
                      libva: libva version 0.31.1
                      Xlib:  extension "XFree86-DRI" missing on display ":0".
                      libva: va_getDriverName() returns 0
                      libva: Trying to open /usr/lib/dri/fglrx_drv_video.so
                      xvba_video: FGLRX driver version 8.79.4 detected
                      xvba_video: FGLRX device ID 0x6899
                      xvba_video: Evergreen GPU detected
                      xvba_video: XvBA version 0.74 detected
                      libva: va_openDriver() returns 0
                      [hwdecode_demos] VA API version 0.31
                      [hwdecode_demos] 6 display attributes available
                      [hwdecode_demos]   VADisplayAttribDirectSurface     (get/---) min 1 max 1 value 0x1
                      [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 VAProfileVC1Advanced
                      [hwdecode_demos]   VAEntrypointVLD
                      xvba_video: vaCreateSurfaces(): size 320x240, format YUV420
                      xvba_video:   surface 0x03000000
                      xvba_video: vaCreateContext(): config 0x01000000, size 320x240
                      xvba_video:   surface 0x03000000
                      xvba_video:   context 0x02000000
                      xvba_video: vaBeginPicture(): context 0x02000000, surface 0x03000000
                      xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
                      xvba_video:   buffer 0x04000000
                      xvba_video:   buffer 0x04000001
                      xvba_video: vaRenderPicture(): context 0x02000000, 2 buffers
                      xvba_video:   buffer 0x04000002
                      xvba_video:   buffer 0x04000003
                      xvba_video: vaEndPicture(): context 0x02000000
                      xvba_video: Using Evergreen workaround 184
                      VAAPI: use vaCopySurfaceGLX()


                      I also tried with every number between 168 and 184, but no one shows the image correctly.
                      Thanks.

                      Comment


                      • Works!

                        I've been reading around here for quite a bit, trying to get my HD5550 to work under Linux with XBMC vaapi enabled. I tried a number of suggested combinations (different xorg and catalyst versions), but in the end I also always ended up with the garbled screens as seen here in the screenshots.

                        After some more searching on this forum, the conclusion seemed to be that XvBA support is "broken" for the Evergreen ATi GPU series (HD5xxx). Until now I guess .

                        I decided to install everything from scratch today, and was surprised to see catalyst 10.12 being released - eventhough the link still said 10.11.

                        Here is what I ended up with:
                        • Ubuntu 10.10 AMD64 ("Maverick")
                        • xvba-video_0.7.7.pre2-1 (AMD64)
                        • libva 0.31.1-1+sds4 (AMD64)
                        • XBMC PRE-10.5 r35635 (--enable-vaapi)
                        • Ati Catalyst 10.12 (fglrx-8.801)

                        Result? (screenshots are from an antique CRT monitor)





                        No more distorted decoding. Very low CPU load (averages from 8 to 9%, with 10 to 11% peaks). Perfect image quality. I have not tried and tested lost of different videos, but so far the results seem great!

                        Curious what others will get for result!

                        Comment


                        • So UVD1 cards are fucked for vaapi? I've been trying to get vaapi working with my hd2600 with mplayer-vaapi and vlc and ended up with the same libraries as you but unfortunately my output is always totally garbled.

                          Comment


                          • Originally posted by bwat47 View Post
                            So UVD1 cards are fucked for vaapi? I've been trying to get vaapi working with my hd2600 with mplayer-vaapi and vlc and ended up with the same libraries as you but unfortunately my output is always totally garbled.
                            bwat47, I don't know. From what I read here I gathered that non 'Evergreen' (UVD2) cards kind of do/did seem to work (saw some posts mentioning Xorg 1.8.2 and Catalyst 10.7). In the end I concluded that it was actually the HD5xxx series of cards that had troubles using xvba, and they did. Reported 'working' UVD1 software combinations never worked on my UVD2 card. Until catalyst 10.12 it seems. Works great now. So 10.12 gives you the same results as before?

                            Comment


                            • My HD5850 is working OK now, just by using XVBA_VIDEO_EVERGREEN_WORKAROUND=0

                              Thanks everybody.

                              Comment


                              • When you use xvba-video 0.7.7+ this is default.

                                Comment

                                Working...
                                X