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.
      Test signature

      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
          Test signature

          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; 17 February 2008, 06: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 ?


              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; 17 February 2008, 08: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.
                  Test signature

                  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; 18 February 2008, 01:23 AM.

                    Comment

                    Working...
                    X