Announcement

Collapse
No announcement yet.

XvMC support

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

  • XvMC support

    Moving this discussion out of the open source 6xx/7xx thread...

    Originally posted by Dieter View Post
    Look at



    XvMC is listed as TODO across the board. When can we expect to
    see FLOSS AMD/ATI drivers supporting XvMC?
    There hasn't been much interest in XvMC so far -- general feeling seems to be that even a laptop CPU can handle MPEG2 decoding well enough. There seem to be an increasing number of HD MPEG2 use cases, and we have already released enough information to implement MC on 5xx (and, as of today, 6xx/7xx I guess) but nobody has even asked how to implement it, which surprises me. We have IDCT on the list of hardware to try and open up, but given the lack of interest in MC it doesn't seem like a real priority (MC eats more CPU time than IDCT and is probably easier to implement).

    If the issue is simply that not enough developers know how to implement XvMC then we could probably put together a sample implementation to get things started, but nobody seems to even ask about XvMC let alone show any interest in implementing it. I guess the issue is that the only place XvMC really buys you much these days is playing HD resolution MPEG2 streams, typically from off-the-air HDTV (ATSC, DVB), and not many people seem to do that.

    EDIT -- I might have found the answer. The "classic use case" for XvMC was European digital TV, which was heavily standardized on MPEG2 at HD resolutions. Looks like many countries have already jumped ship to MPEG4 for most of their HD broadcasts, so the demand for HD MPEG2 acceleration seems to have evaporated. Given that, I think interest in XvMC is going to continue to be lukewarm until there is some agreement on an API which cleanly handles H.264 and VC-1 as well, whether it be an XvMC extension or something new like VAAPI, XVBA or VDPAU.

    Originally posted by Dieter View Post
    > There hasn't been much interest in XvMC so far

    Perhaps you missed Phoronix's "2008 Linux Graphics Survey"?

    The #1 activity was video playback, listed by 37.90%

    "the second area with the most interest is seeing video improvements to X.Org"
    Chart says 21.26%

    Video playback/acceleration was listed by 15.09%

    "When it comes to video playback improvements, the leading open-source solution
    right now is through XvMC"

    A related feature, TV-out was listed by 19.6%

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite


    > I guess the issue is that the only place XvMC really buys you much these
    > days is playing HD resolution MPEG2 streams, typically from off-the-air
    > HDTV (ATSC, DVB), and not many people seem to do that.

    Does the date 2009-02-17 mean anything to you? Do you actually think that
    not many people watch TV?

    So there is need/interest. When will FLOSS drivers accelerate mpeg decoding
    on AMD/ATI GPUs?
    Test signature

  • #2
    I read the survey and I saw the interest in video acceleration. I also understand that there is a mandatory transition to digital broadcasting going on. I don't know many people who watch TV but I understand that most people do (although relatively few seem to watch TV on Linux PCs).

    The question is not whether people watch TV, or whether there is interest in video acceleration, but whether XvMC itself is the solution to their needs. My point was that I'm not seeing a lot of demand for accelerated MPEG2 playback - the bulk of the interest is in MPEG4, which XvMC does not directly support.

    Both the European and North American TV standards now include MPEG4 as well as MPEG2. The move to MPEG4 seems to be happening very quickly, and right now XvMC only standardizes MPEG2 acceleration.

    Are you asking about MPEG2 (XvMC) or MPEG4 / H.264 / VC-1 ? They really are two different questions.

    Originally posted by BlackStar View Post
    > > There hasn't been much interest in XvMC so far

    > Perhaps you missed Phoronix's "2008 Linux Graphics Survey"?

    Bridgman is probably talking about developer interest, not general interest. We may not like it, but unless someone with the technical knowhow becomes motivated, neither XvMC not tv-out will see the light of day. That's the way the open-source world works.

    What's so signifcant about 2009-02-17?
    You are right about the developer interest, although I'm actually not seeing a lot of pull for MPEG2 acceleration in general. All of the interest seems to be in H.264/VC-1 acceleration, which XvMC doesn't handle today.

    From the other thread, Feb 17 is the mandatory cutover date when analog broadcasting is supposed to end in the USA.
    Last edited by bridgman; 30 December 2008, 03:16 AM.
    Test signature

    Comment


    • #3
      Originally posted by bridgman View Post
      You are right about the developer interest, although I'm actually not seeing a lot of pull for MPEG2 acceleration in general. All of the interest seems to be in H.264/VC-1 acceleration, which XvMC doesn't handle today.
      I think this is spot on, everyone I know wants H264 and to a lesser extend VC1 acceleration, I never hear about MPEG2 playback issues (on any os).

      Comment


      • #4
        Very true

        Originally posted by StefanHamminga View Post
        I think this is spot on, everyone I know wants H264 and to a lesser extend VC1 acceleration, I never hear about MPEG2 playback issues (on any os).
        I agree completely. I'm getting really sick of people whining about the lack of XvMC. With modern CPUs (rough guess last 6 years) MPEG2 isn't a problem. There is plenty of work to do that will result in real benefits and XvMC isn't one of them.

        I even feel that accelerating H264/VC1 should be a low priority. My ranking (in rough order, for all cards) EXA optimizations, Improving 3D (Wine support), DRI2/GEM (redirected OpenGL vblank), Gallium3d, and finally next gen codec accel (maybe part of gallium3d). The big reason for this opinion is that there is no stable API to implement. VA-API is vapor and the rest proprietary. Let someone else do R&D until the OSS drivers catch up. Once caught up, then lead.

        Comment


        • #5
          h.264

          Hi,

          I've been using VDR for about two years know and I visit the VDRPortal (forum) on a daily basis.

          HDTV (h.264-mpeg4) is one of the main topics on this forum, and the next stable version of VDR will support HDTV.

          It took the MythTV guys a few days before they integrated VDPAU.
          VDPAU meanwhile also kind of works with Xine and is being tested on VDR, with mixed results.

          So, yes there are lots of people out there waiting for h.264 video accelaration. MPEG-2 can be handled with CPU power.
          For the moment I'm using my good old Sapphire X550 and a dual core 5000+ and they can barely cope with the BBC 1080i HD signal.

          Bridgman, if you don't mind, I'd like to link this thread to the VDRPortal. Just in case somebody's interested over there.

          Greetings,
          Steven
          Last edited by steefjeqv; 30 December 2008, 05:24 AM.

          Comment


          • #6
            I never tested the MythTV VDPAU port, but I tested the xine-vdpau implementation. It works well with kaffeine tuning in a DVB-C hd channel (kaffeine svn should be able to tune in DVB-S2 directly). Also I tested the mpeg2 accelleration via VDR + xvdr (not really needed however for sd channels). With disabled composite extension tearing is not there, but bad frames seem to be able to crash the Xserver - or at least corrupt the display. CPU usage is really low with it. When you test mplayer vdpau you usually can not tune in hd channels directly, but you can use it for playing h264 media in containers. mkv does not work for example using xine but using mplayer. As the input data is usually better it did not crash for me yet testing this. A cpu usuage below 20% is really nice... ATI should work on it very soon.

            Comment


            • #7
              Spending time/resources on a GPU hardware MPEG2 implementation is atm a waste of resources.

              Like mentioned above every modern CPU will be more than capable te playback an (HD) MPEG2 movie.

              H.264/VC-1 would be a lot better!
              Though a standard and open API for it would be nice...

              Comment


              • #8
                I was playing MPEG2 fine even on my old Pentium 2 400MHz! That's not a "modern" CPU by any stretch of the imagination. People are interested about MPEG4 formats and think MC is going to help them.

                Comment


                • #9
                  Meanwhile, OUTSIDE the USA...

                  Originally posted by bridgman View Post
                  I read the survey and I saw the interest in video acceleration. I also understand that there is a mandatory transition to digital broadcasting going on. I don't know many people who watch TV but I understand that most people do (although relatively few seem to watch TV on Linux PCs).
                  Well I do, and my DVB-T devices are all based on MPEG2, as are all of the digital broadcast signals here in the UK. If DVB-T starts broadcasting MPEG4 then a lot of devices are going to break, which in turn would mean that there would have to be a lot of advance warning given. And I'm not seeing any right now.

                  If the UK is waiting until the analogue signals are all switched off before moving to MPEG4 (the extra bandwidth would allow HD DVB-T channels) then that won't be until 2012.

                  My point was that I'm not seeing a lot of demand for accelerated MPEG2 playback - the bulk of the interest is in MPEG4, which XvMC does not directly support.

                  Are you asking about MPEG2 (XvMC) or MPEG4 / H.264 / VC-1 ? They really are two different questions.
                  Well obviously we all want accelerated MPEG4 / H.264 / VC-1 but that doesn't mean that I wouldn't want to accelerate MPEG2 either! I don't care if my CPUs are "up to the task" of MPEG2 - I might be using them for something else at the same time!

                  Are we just talking about just R500+ here? I do have older machines with CPUs barely capable of MPEG2: R100, for example. (Or possibly rv100 - it's a Radeon 7000.)

                  I also happen to be a C developer with time on my hands (apart from WoW, which is like a black hole for free time) so what's the harm in a little extra functionality?
                  Last edited by chrisr; 30 December 2008, 08:55 AM.

                  Comment


                  • #10
                    Originally posted by chrisr View Post
                    Well obviously we all want accelerated MPEG4 / H.264 / VC-1 but that doesn't mean that I wouldn't want to accelerate MPEG2 either! I don't care if my CPUs are "up to the task" of MPEG2 - I might be using them for something else at the same time!
                    Yes, but that should be at the bottom of the priority list because we can live without it :P MPEG2 takes ~5% of your CPU lol.

                    Are we just talking about just R500+ here? I do have older machines with CPUs barely capable of MPEG2: R100, for example. (Or possibly rv100 - it's a Radeon 7000.)
                    This just needs good overlay support, not XvMC. I thought overlay is supported for those old cards?

                    Comment

                    Working...
                    X