Announcement

Collapse
No announcement yet.

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

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

  • VLC/Mplayer use FFmpeg as their core.

    Originally posted by smitty3268 View Post
    VLC copies the decoded video back to the CPU before displaying it, while other programs just pipe the output straight to the monitor.

    This was done intentionally, so that they can send the decoded video through their whole existing pipeline of filters, etc., and doesn't just do a dumb display to the screen.

    For most people that's not very important, but it is nice for some.
    actually as i understand it, it's far more important as a basic generic need than its made out to be.

    as VLC and Mplayer and indeed many others are actually using the FFMPEG code-base, so thats why all UVD video related patches should really be back parted to that FFmpeg current code base and the x264 code base too.

    after all it is the x264/FFmpeg C/assembly dev's that gave you the worlds fastest VP8 http://x264dev.multimedia.cx/, and best visual quality x264/H.264 Encoder in the world , so show some support and port those new and existing patch's to their code-base, and get some code optimizations back in return, as they DO Seem to like making existing code (patches welcome) better and faster.

    Comment



    • 10-bit depth for Dummies?

      the new x264/FFmpeg 10 bit encoding and soon decoding options patches Just submitted being a case in point, with the generic C code getting new assembly patch's added real soon now (thats a x264 soon as in days, not soon as in ATI/AMD soon it might kind of work 2+ years and counting )to make it even better.

      actually, thinking about it,the question needs asking does ANY UVD actually work with 10bit depth and greater encodes Today ?.

      Comment


      • Originally posted by DivineGrace View Post
        To a certain extent, I agree with you. However, with mobile computing, XvBA is essential for power conservation. For example, if I can keep my dual-core down to 800mhz while watching 720p content, my notebook will not get as hot and will be much more energy efficient.
        With fast cpus on my desktop, I don't care much for power conservation nor do I need gpu-accelerated video; ffmpeg-mt takes care of all that.
        and as i like to point out, as 1080P Mpeg-4 AVC becomes even more popular as time passes

        try saying that after testing this current top of the line clip (the 'Bird Scene' from Planet Earth) PlanetEarthBirds.mkv sample



        i think thats a working sample but iv not checked it.

        Comment


        • Originally posted by popper View Post
          and as i like to point out, as 1080P Mpeg-4 AVC becomes even more popular as time passes

          try saying that after testing this current top of the line clip (the 'Bird Scene' from Planet Earth) PlanetEarthBirds.mkv sample



          i think thats a working sample but iv not checked it.
          It's working for me right now using the command :
          mplayer -vo vaapi:reflect -va vaapi PlanetEarthBirds.mkv
          Those who would give up Essential Liberty to purchase a little Temporary Safety,deserve neither Liberty nor Safety.
          Ben Franklin 1755

          Comment


          • Hey! Great work, gbeauche. Your work is appreciated!

            I'm running an ATI 5730 Mobile 1002:68c0 (Dell XPS 1647)

            Using 2.6.36-rc8-git3, fglrx 10.10, libva 0.31.1-sds1, xorg 1.9.0.902, xvba-video 0.7.6.pre2, mplayer-vaapi 20100713, hwdecode-demos 0.9.4. Running on Gentoo ~x64.

            Getting the garbled vaapi output, interestingly enabling XVBA_VIDEO_DEBUG (with any XVBA_VIDEO_EVERGREEN_WORKAROUND value or with none) results in a segfault (see below code snippet)

            Code:
            gabe@daglaptop64 ~ $ XVBA_VIDEO_DEBUG=1 XVBA_VIDEO_EVERGREEN_WORKAROUND=15 vaapi_vc1 --size 320x240 
            Display type 'x11'
            Hardware accelerator 'vaapi'
            [hwdecode_demos] VA display 0x1767e20
            libva: libva version 0.31.1-sds1
            Xlib:  extension "XFree86-DRI" missing on display ":0.0".
            libva: va_getDriverName() returns 0
            libva: Trying to open /usr/lib64/va/drivers/fglrx_drv_video.so
            xvba_video: FGLRX driver version 8.78.30 detected
            xvba_video: FGLRX device ID 0x68c0
            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
            Segmentation fault
            vaapi_vc1 --size 320x240:

            vaapi_vc1 --size 320x240 --glx --no-glx-use-reflection:

            Comment


            • Hello!

              I'm trying to get H264/VC1 acceleration to work on my HD3850 AGP. I'm running Ubuntu 10.4 x86 with fglrx 10.9. I've installed the latest versions of libva, xvba-video, mplayer-vaapi, and hwdecode-demos. Vaapi_h264 and vaapi_vc1 seem to give ok output (nice cat).

              mplayer -vo vaapi -va vaapi gives accelerated, but completely garbled video (with the exception of a few keyframes):

              Code:
              vlix@karolinux:~/mplayer-vaapi-20100713/mplayer-vaapi$ mplayer -vo vaapi -va vaapi /home/vlix/Videos/killa.sampla.x264.mkv 
              MPlayer SVN-r31722-4.4.3 (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 /home/vlix/Videos/killa.sampla.x264.mkv.
              libavformat file format detected.
              [matroska @ 0xa64aa70] Estimating duration from bitrate, this may be inaccurate
              [lavf] stream 0: video (h264), -vid 0
              [lavf] stream 1: audio (ac3), -aid 0
              VIDEO:  [H264]  1920x1080  0bpp  47.917 fps    0.0 kbps ( 0.0 kbyte/s)
              Clip info:
               title: Avidemux
              libva: libva version 0.31.1-sds1
              Xlib:  extension "XFree86-DRI" missing on display ":0.0".
              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, 448.0 kbit/29.17% (ratio: 56000->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] 1920x1080 => 1920x1080 H.264 VA-API Acceleration 
              [VD_FFMPEG] XVMC-accelerated MPEG-2.
              xvba_video: driver does not support H.264 content over [email protected]. Please upgrade.
              A:  11.9 V:  11.4 A-V:  0.480 ct: -0.080   0/  0 30% 11% 15.5% 60 0
              mplayer -vo vaapi:gl -va vaapi does not work, the relevant part of the error message being:

              Code:
              vlix@karolinux:~/mplayer-vaapi-20100713/mplayer-vaapi$ mplayer -vo vaapi:gl -va vaapi /home/vlix/Videos/killa.sampla.x264.mkv 
              MPlayer SVN-r31722-4.4.3 (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 /home/vlix/Videos/killa.sampla.x264.mkv.
              libavformat file format detected.
              [matroska @ 0x9dcda70] Estimating duration from bitrate, this may be inaccurate
              [lavf] stream 0: video (h264), -vid 0
              [lavf] stream 1: audio (ac3), -aid 0
              VIDEO:  [H264]  1920x1080  0bpp  47.917 fps    0.0 kbps ( 0.0 kbyte/s)
              Clip info:
               title: Avidemux
              Could not parse arguments at the position indicated below:
              gl
              ^
              
              -vo vaapi command line help:
              Example: mplayer -vo vaapi:gl

              I guess something is not installed correctly, but what? I would really appreciate any help or hints, thanks!

              Comment


              • Sorry for the misinformation in my earlier post popper and vlix
                I saw PlanetEarthBirds.mkv and thought it was the same file I downloaded from way earlier in this thread.

                I was wrong once I downloaded killa.sampla.x264.mkv and tried to play it.
                .. I see the same error as you vlix, using both :
                Code:
                mplayer -vo vaapi:gl -va vaapi killa.sampla.x264.mkv
                or
                Code:
                mplayer -vo vaapi:reflect -va vaapi killa.sampla.x264.mkv
                Code:
                Starting playback...
                Unsupported PixelFormat 61
                [VD_FFMPEG] Trying pixfmt=1.
                Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
                VO: [vaapi] 1920x1080 => 1920x1080 H.264 VA API Acceleration  [zoom]
                [VD_FFMPEG] XVMC-accelerated MPEG-2.
                [h264 @ 0xbb6fa0]number of reference frames exceeds max (probably corrupt input), discarding one  (multiple times)
                xvba_video: driver does not support H.264 content over [email protected]. Please upgrade.
                Given the miracle gbeauche has worked just getting xvba and vaapi into a usable state..I wouldn't hold my breath waiting for AMD to introduce support
                for a new format anytime soon..I don't think it's been announced as officially supported yet, has it ?
                Those who would give up Essential Liberty to purchase a little Temporary Safety,deserve neither Liberty nor Safety.
                Ben Franklin 1755

                Comment


                • Originally posted by vlix View Post
                  mplayer -vo vaapi -va vaapi gives accelerated, but completely garbled video (with the exception of a few keyframes):

                  Code:
                  VO: [vaapi] 1920x1080 => 1920x1080 H.264 VA-API Acceleration 
                  [VD_FFMPEG] XVMC-accelerated MPEG-2.
                  xvba_video: driver does not support H.264 content over [email protected]. Please upgrade.
                  A:  11.9 V:  11.4 A-V:  0.480 ct: -0.080   0/  0 30% 11% 15.5% 60 0
                  Given the last xvba-video debug message, the video output you see is then "normal" in your configuration. Only reference frames and other frames that don't rely on reference frames that are still available in the DPB will be showed correctly.

                  mplayer -vo vaapi:gl -va vaapi does not work, the relevant part of the error message being:

                  Code:
                  Could not parse arguments at the position indicated below:
                  gl
                  ^
                  
                  -vo vaapi command line help:
                  Example: mplayer -vo vaapi:gl
                  I guess something is not installed correctly, but what? I would really appreciate any help or hints, thanks!
                  You probably have not the VA/GLX support compiled it. Make sure GL and GLU libraries are installed. You can check your mplayer config.log, around "Checking for VA-API (with GLX support)", and see what it tells you is missing.

                  Comment


                  • Originally posted by DarkFoss View Post
                    Code:
                    mplayer -vo vaapi:reflect -va vaapi killa.sampla.x264.mkv
                    This is not related to your problem but please note that the "reflect" option will only work with the "gl" renderer, thus -vo vaapi:gl:reflect.

                    Given the miracle gbeauche has worked just getting xvba and vaapi into a usable state..I wouldn't hold my breath waiting for AMD to introduce support for a new format anytime soon..I don't think it's been announced as officially supported yet, has it ?
                    If people are trying to use that, this means this was advertised as such... Since those people don't have any other "better" driver, this is the same that what common users are getting. Anyway, as for other driver features, I don't think there is any official bug reporting system for fglrx on Linux, neither for NVIDIA BTW. So users usually report bugs to their distributor, whom forward to the relevant people @ ATI, IMHO.

                    Comment


                    • iv been meaning to ask you gbeauche for a while now and seeing the latest news ....

                      have you been given access to the new sandy bridge prototypes yet ?


                      the news being http://www.phoronix.com/scan.php?pag...item&px=ODY2OQ
                      Intel To Have Sandybridge 3D In Mesa Done By Q4
                      Posted by Michael Larabel on October 11, 2010

                      and it seems AMD's UVD is nearly now as good as dead for end user use ,given the sandy bridge Open Encode/Decode ASIC progress


                      Francois Piednoel , (Senior Performance analyst at Intel) says he's beta patched a current x264 master code-base, to give it a lower level access than the new higher level Intel? Media SDK 2.0 has to the new sandy bridge internal Encode/Decode engine and open up some internal routines for direct x264 use as he understands x264 assembly etc and that "the x264 community would not include a call to a DLL without any control of the encoding process."

                      he also said in IRC about the x264 patches he's working on right now.

                      "2010-10-18 05:58:07 < Dark_Shikari> a) What exactly is this hardware?

                      2010-10-18 05:58:12 < Dark_Shikari> Is it a single encoding ASIC that takes YUV in?
                      2010-10-18 05:58:27 < Dark_Shikari> Is it a set of asynchronous units, like on the OMAP4?
                      2010-10-18 05:58:35 < frpiednoel> it does take YUV in ... and few other formats
                      2010-10-18 05:58:40 < Dark_Shikari> Is it a set of synchronous units, accessible via CPU instructions?
                      2010-10-18 05:59:18 < frpiednoel> for the moment, we are only supporting windows ... and via DXVA2
                      2010-10-18 05:59:40 < frpiednoel> I am the one who is trying to get it out as "hardware" ...
                      "
                      "
                      you ll get access to the motion vector field, you ll be able to use Quanti, inverse quanti, hard Zig Zag, and reserve ZigZag
                      2010-10-18 06:02:39 full hard decoder
                      2010-10-18 06:02:56 < Dark_Shikari> can it search an arbitrary number of refs?
                      2010-10-18 06:02:58 < frpiednoel> and the decoder decode in the L3 cache" so far.

                      Comment

                      Working...
                      X