Announcement

Collapse
No announcement yet.

Xv accelerated video scaling problems

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

  • Xv accelerated video scaling problems

    Originally posted by bridgman View Post
    The fglrx driver already has accelerated Xv using TexturedVideo on 5xx and up and VideoOverlay for the older ASICs which had video processing built into the overlay block. Right now there is tearing on the TexturedVideo implementation (a diagonal line), but you should see improvements there soon. X11 is a good option on the radeonhd driver today but Xv is a better choice on fglrx.
    Bridgman,

    I'm currently using Xv on a Mobility X1400 (Lenovo T60) and 8.02 fglrx.

    In both VLC and MPlayer, using the Xv output, video scaling is either not being done in hardware, or if it is, it has some problems, because full-screen scaling causes significant pixelation. It's nearly unwatchable.

    The diagonal tearing thing is a known issue... I know that's being addressed. What's the status of the video pixelation problem? Is the video overlay really being hardware accelerated?

    Using the OpenGL output in VLC allows smooth visual output (with a large performance hit) but the diagonal tearing is still there. I'm not sure why the OpenGL output would allow smooth scaling while the Xv does not.

    Am I missing something? Is there an obscure rendering option that needs to be set in xorg.conf, or something that needs to be done with aticonfig in order to get the Xv output working properly?

  • #2
    That's a good question (same card, same problems)! As I can see no difference in VLC between Xv and X11 mode, I also have been wondering whether Xv is used at all.

    Comment


    • #3
      For a 5xx or 6xx chip (ie most of the X1xxx, all of the HD2xxx, and the 690) you should get the best results with VideoOverlay off and TexturedVideo on. I haven't played with video myself recently but my understanding is that you get blocky pixels with VideoOverlay but not so much with TexturedVideo since that is using the 3d engine for scaling and colour space conversion.

      Xv with Textured Video and OpenGL are probably close, but Xv with TexturedVideo is where the focus will be going forward.

      Similarly, X11 and Xv with VideoOverlay are probably giving you similar (but not identical) results.

      Comment


      • #4
        Originally posted by bridgman View Post
        For a 5xx or 6xx chip (ie most of the X1xxx, all of the HD2xxx, and the 690) you should get the best results with VideoOverlay off and TexturedVideo on.
        That's the setting I am using - scaling under Xv does not work, though. Looks like it's really a problem of the X1400 boards (see our old discussion here http://www.phoronix.com/forums/showt...1431#post21431).

        Comment


        • #5
          OK, thanks. When you say "scaling doesn't work" do you mean "the image doesn't change size" or a scaling quality issue like the one described in the following post ?

          http://www.phoronix.com/forums/showp...&postcount=113

          Comment


          • #6
            Originally posted by Christian_L View Post
            That's the setting I am using - scaling under Xv does not work, though. Looks like it's really a problem of the X1400 boards (see our old discussion here http://www.phoronix.com/forums/showt...1431#post21431).
            If you have the same problem that bridgman linked to it's not a x1400 problem. I have it on my x1900XT too. And the user in the link uses a X700.

            I have always had this problem. Either that or XV didn't work at all.
            I think it has something to do how XV scales the image. If I play a clip large enough to fit my screen I don't get any pixelation what so ever.
            Last edited by ZedDB; 02-17-2008, 05:02 PM.

            Comment


            • #7
              OK, thanks. When you say "scaling doesn't work" do you mean "the image doesn't change size" or a scaling quality issue like the one described in the following post ?

              http://www.phoronix.com/forums/showp...&postcount=113
              Reply With Quote
              I think in the 8.42 release Christian_L refers to, or thereabouts, XV acted like a direct pixel to pixel scale, really blocky. Then (for me it) it stopped working completely for one or 2 releases, and now it's better than pixel for pixel scaling, but still obviously messed up.

              Comment


              • #8
                Originally posted by bridgman View Post
                OK, thanks. When you say "scaling doesn't work" do you mean "the image doesn't change size" or a scaling quality issue like the one described in the following post ?

                http://www.phoronix.com/forums/showp...&postcount=113
                The problem that I'm having is exactly what is described in your linked post.

                Any video viewed at anything other than original size is horribly pixelated, far worse than one would expect from a simple resize.

                I just switched to VideoOverlay off and TexturedVideo on, and it made no difference. Exactly the same results on all video players.
                Last edited by Porter; 02-17-2008, 07:14 PM.

                Comment


                • #9
                  OK, this is helping. Part of the problem here is terminology -- when I hear "horribly pixellated" I think "no filtering at all, just big ugly pixels". The OpenGL vs. TexturedVideo pics show something in between -- there's definitely some filtering happening but it looks like a pretty basic filter.

                  Thanks all.

                  Comment


                  • #10
                    Originally posted by bridgman View Post
                    OK, this is helping. Part of the problem here is terminology -- when I hear "horribly pixellated" I think "no filtering at all, just big ugly pixels". The OpenGL vs. TexturedVideo pics show something in between -- there's definitely some filtering happening but it looks like a pretty basic filter.

                    Thanks all.
                    Bridgman... it looks like more than that. If you watch the edges of objects, where there is a contrast transition, you can clearly see vertical and horizontal components of what should be a smooth edge extended across extra blocks both vertically and horizontally.

                    It's as if there is a scaling filter being applied but there may be a mathematic error in the code that causes the changes to edge-adjacent pixel groups to be applied either too many pixels away or with the wrong amount of mathematic emphasis.

                    I'm just shooting in the dark here, but I wanted to comment because the type of pixelation is not what one would expect from a simple pixel-double zoom. It's obviously trying to do something, it's just hard to say what exactly.
                    Last edited by Porter; 02-18-2008, 12:23 AM.

                    Comment


                    • #11
                      By the way... I just captured a bunch of full-res screenshots (1680x1050) of the pixelation on actual video material, with a bunch of different examples of the phenomenon on different types of edges.

                      Would you like me to zip them up and send them to you? I can even host them on my web space and PM you a link if you'd prefer.

                      Comment


                      • #12
                        Hm, now that you mention it: the picture may have improved a bit - not sure if this is still pixel per pixel scaling, but it's still blocky. BTW: I get the same picture in VLC regardless of whether I am using X11 or Xv overlay for output: does that mean the scaling is done in an independent step, and that it's not Xv that's broken but rather some filter that comes afterwards?

                        With OpenGLOverlay I still get the same problems with VLC that I had with 8.1 - the application instantly crashes about 9 of of 10 times when opening a video (see http://www.phoronix.com/forums/showt...2943#post22943).

                        Comment


                        • #13
                          Originally posted by Christian_L View Post
                          Hm, now that you mention it: the picture may have improved a bit - not sure if this is still pixel per pixel scaling, but it's still blocky. BTW: I get the same picture in VLC regardless of whether I am using X11 or Xv overlay for output: does that mean the scaling is done in an independent step, and that it's not Xv that's broken but rather some filter that comes afterwards?

                          With OpenGLOverlay I still get the same problems with VLC that I had with 8.1 - the application instantly crashes about 9 of of 10 times when opening a video (see http://www.phoronix.com/forums/showt...2943#post22943).
                          In mplayer and xine I also get the exact same output from xv and x11. The only difference is that a couple of times xv went black and only played audio but switching to x11 worked. I think those might have been some sort of odd fluke or file/player error, though. However, I am wondering if there's supposed to be a difference between the x11 and xv overlays or not? I never bothered trying x11 overlay till recently and right now they look identical to each other..
                          Last edited by sloggerKhan; 02-18-2008, 11:35 PM.

                          Comment


                          • #14
                            Originally posted by sloggerKhan View Post
                            However, I am wondering if there's supposed to be a difference between the x11 and xv overlays or not? I never bothered trying x11 overlay till recently and right now they look identical to each other..
                            Same here. There appears to be zero difference between the X11 and Xv outputs. Performance is the same as well.

                            Please report which card you are using, btw... it may help the devs.

                            Mobility X1400 here (M54).
                            Last edited by Porter; 02-20-2008, 09:04 AM.

                            Comment


                            • #15
                              i have the same bug, XVideo output is blocky and funky colored... i saw this bug with a X1300 and a X200 running Ubuntu Gutsy and Opensuse 10.3... BTW how do you test the drivers before they are released? Problems like this shouldn't go out...

                              Comment

                              Working...
                              X