18 Replies Latest reply: Feb 18, 2011 7:42 AM by 3FXRocky RSS

    Opacity Curves and MPE+GPU

    Jhvegas

      Ok - I'm baffled...

       

      Working on my first large scale project with MPE+GPU (I'm a Matrox refugee).

       

      Noticed funny behavior on fade outs using opacity keyframes: If I keyframe a linear fade from 100-0 (or vice versa) the fade looks normal when in the 50-100 range. In the 0-50% range, it's far to opaque. So the end result is: The clip will fade out to a point, then drop off (or vice versa).

       

      I noticed this only occurs when GPU acceleration is turned on. To test, just setting a clip at 2% opacity, hardly visible w/o the GPU acceleration (as expected), but quite visible with the GUP accel (looks more like 20% to me). It's almost as if there's a tweaked opacity 'curve' in the GPU acceleration drivers.

       

      Any ideas? Will this affect the output render? Is there a fix or a setting I need to adjust? A workaround?

       

      Thanks so much in advance!

        • 1. Re: Opacity Curves and MPE+GPU
          Colin Brougham Community Member
          It's almost as if there's a tweaked opacity 'curve' in the GPU acceleration drivers.

           

          Welcome to hardware MPE and linear color processing--many more suprises await you.

           

          Hardware MPE enables 32-bit color and linear color processing; what this means is that the gamma curves we're accustomed to get flattened out to a perfect 1.0. In other words, one unit in, one unit out. This results in the rather "chunky" looking dissolve where it has the "now-you-see-it-now-you-don't" effect.

           

          We're used to smoother logarithmic curves with dissolves (and that's what you see in software mode); the opacity diminishes rapidly for the first part of the dissolve and then slows down and gently eases out through the end of the dissolve. With a linear "curve" you instead get a more stepwise approach to changing opacity. For example, let's say you have a 10 frame dissolve from 100% opacity to 0%. In software mode, the values of opacity at each frame would look something like this (I'm making these numbers up as I don't know how to calculate them, but they'll work for illustration purposes )

           

          100 - 92 - 80 - 64 - 44 - 28 - 16 - 08 - 04 - 02 - 0

           

          Whereas hardware MPE and linear color processing looks more like this:

           

          100 - 90 - 80 - 70 - 60 - 50 - 40 - 30 - 20 - 10 - 0

           

          Again, these aren't accurate numbers (though the linear should be correct-ish), but you can see why after the halfway mark of your dissolve that the hardware-rendered dissolve looks so different from the software-rendered dissolve. Beyond that, you've probably noticed a "pop" at the last frame of a dissolve when in hardware MPE mode, where the dissolved video just seems to disappear instead of dissolve; again, the numbers paint the picture.

           

          So that's the "what" and the "why" to what you're seeing. Unfortunately, the only way around this is to not use hardware MPE mode; since there is no toggle for linear color processing, we're stuck with this unfortunate side effect if we want to use hardware MPE. Additionally, 32-bit color and linear color processing have some rather deleterious effects on alpha processing as well, in my opinion. Things like glows, drop shadows, and blurs are negatively affected when using hardware MPE. Read about some of my misadventures here for more background: Battling Hardware MPE, Episode 2: Chunky Blurs

           

          Anyway, sorry I can't provide a good solution to this; it's just something we have to live with (or live without other benefits) at this time. I'm making a feature request for a 32-bit/linear color processing toggle in the preferences; won't you join me?

           

          Adobe - Feature Request/Bug Report Form

          • 2. Re: Opacity Curves and MPE+GPU
            Jhvegas Community Member

            Ok - so the big question is: Can I do all my work with MPE+GPU on (definitely need it) and then turn it off when I do output rendering? Other than the opacity differences, are there any really major 'gotchas' that will hurt me?

             

            OR - is it that these effects (linear color processing) are only for display/preview, and it will render correctly when I'm done.

             

            Thanks for your informative post!

            • 3. Re: Opacity Curves and MPE+GPU
              Colin Brougham Community Member

              Ok - so the big question is: Can I do all my work with MPE+GPU on (definitely need it) and then turn it off when I do output rendering? Other than the opacity differences, are there any really major 'gotchas' that will hurt me?

               

              OR - is it that these effects (linear color processing) are only for display/preview, and it will render correctly when I'm done.

               

              That's pretty much what I do. In fact, I set up a keyboard combo to launch the Project Settings dialog so that I can toggle GPU acceleration on and off and check what output will actually look like. But yes: if you leave GPU acceleration turned on, then what you see is what you get in output. In software mode, you can enable Maximum Render Quality and Maximum Bit Depth in order to (to certain degree) replicate the effects of hardware MPE. If you check the link I posted above, I put together a pictorial diagram showing what the combination of hardware acceleration, MRQ, and MBD can result in in the outputted file.

               

              The effects definitely trickle down into the output, and are not merely in the preview. It's really a frustrating situation, in my opinion; the scientific possibilities overtook and quelched the aesthetic sensibilities. Frankly, I'm surprised that more people aren't clamoring about this--it really hamstrings hardware MPE.

              • 4. Re: Opacity Curves and MPE+GPU
                SteveHoeg Adobe Employee

                GPU acceleration should always render the same in the monitors and for export. Just as Photoshop composites in linear color at 32-bit for greater quality, Premiere Pro with GPU acceleration is always uses 32-bit and linear color. If you turn off GPU acceleration and enable max render quality, software will also render in linear color (but not in the monitors, only for output).

                 

                See here to get an idea of why compositing in linear color is important:

                http://www.artbeats.com/assets/written_tutorials/pdfs/linear_light.pdf

                • 5. Re: Opacity Curves and MPE+GPU
                  Jhvegas Community Member

                  Steve,

                   

                  I wholeheartedly disagree that it is 'important'. It may be a preference of some (or many) people, but forcing it on us causes numerous problems (see the above and Colin's well-documented issues).

                   

                  With this new 'feature' it is now perfectly impossible to do something as simple as smoothly fade to black. Ridiculous! Can the whiz-bang and give me back a simple fade.

                   

                  At the very least, make it an option for us! There should be an easy toggle so that the average user (read: your customer base) can use the hardware acceleration they need and get it to look the way they want. If they want gamma 1.0 blending/etc they should be able to choose it.

                   

                  It's very frustrating trying to work this way - especially after the $$ invested.

                   

                   

                  • 6. Re: Opacity Curves and MPE+GPU
                    Colin Brougham Community Member
                    ...compositing in linear color is important:

                     

                    It may be important, but it's not always desirable or even acceptable. I had a client complain about how dissolves looked when I rendered them with hardware MPE, i.e. linear color processing. As a result, anything I do for this client necessitiates that I disable GPU acceleration and render in software mode. This means that I lose all the other benefits of hardware MPE to get proper performance for something as simple as a dissolve.

                     

                    This is why I say that technical achievements should not get in the way of creative freedom. Unfortunately, hardware MPE's brute force application of linear color processing is an example of just the opposite.

                    • 7. Re: Opacity Curves and MPE+GPU
                      Colin Brougham Community Member

                      [applause from the gallery]

                       

                      My sentiments exactly--though you're much more direct than I was

                      • 8. Re: Opacity Curves and MPE+GPU
                        J. Simon Community Member

                        I'll have to chime in with the others on this one Steve.  Hardware MPE messes up my titles to the point where I have simply turned it off.  Wasted $200 on a compatible card.

                        • 9. Re: Opacity Curves and MPE+GPU
                          Jhvegas Community Member

                          Ok,

                           

                          So in playing with it - i can 'simulate' a decent fade by using bezier curves and creating a drastic curve - then the fade to black will be smoother, still not perfect.

                           

                          The problem is, I'm looking at about 1000-1500 fades in this project alone - I simply don't have that kind of time.

                           

                          Saving a 'fade in' and 'fade out' preset actually seems to work (at the moment) because it (wonderfully) scales the keyframes to the clip size.

                           

                          We STILL need the MPE+GPU linear color nonsense sorted out!

                          • 10. Re: Opacity Curves and MPE+GPU
                            Colin Brougham Community Member

                            Saving a 'fade in' and 'fade out' preset actually seems to work (at the moment) because it (wonderfully) scales the keyframes to the clip size.

                             

                            Just be sure that's what you want. For example, if you set up a 1-second fade out on a 5-second clip, save as a preset with Scale to Time set, and then apply that preset to a 10-second clip, your fade will be scaled to 2 seconds. If you're trying to simultaneously fade a clip in and out, you actually have to create two separate presets--one for the fade in anchored at the in point and one for the fade out anchored to the out point.

                             

                            We STILL need the MPE+GPU linear color nonsense sorted out!

                             

                            Here, here: Adobe - Feature Request/Bug Report Form

                            • 11. Re: Opacity Curves and MPE+GPU
                              J. Simon Community Member
                              I had a client complain about how dissolves looked when I rendered them with hardware MPE,

                               

                              Help me out here, Colin.  In my tests, they looked the same with and without hardware acceleration.  I could not perceive any difference in the default transition at all.  This was exporting out a short DV clip with the same fade (once with MPE* on, once with it off) to a UT 4:2:2 file, then brining that back in to Premiere Pro in software mode, placing a crop on the two files so I could see each frame by frame.  They looked identical.  Even using the Opacity changes instead of a dissolve transition, they looked identical.  How did you guys get them to look different?

                               

                              What looked genuinely different (and more like an optical fade) was the Film Fades from below.

                               

                              http://forums.adobe.com/message/2426130#2426130

                               

                               

                               

                              *Forgive me Todd for my shortcut.  Asking for a "Coca-Cola brand soft drink" is just too cumbersome.  "Give me a Coke" is much more user friendly.

                              • 12. Re: Opacity Curves and MPE+GPU
                                Todd_Kopriva Adobe Employee

                                > Forgive me, Todd for my shortcut

                                 

                                 

                                You could refer to it as what it is: 'MPE+GPU' (as the OP did) or 'CUDA MPE', or something like that.

                                • 13. Re: Opacity Curves and MPE+GPU
                                  Colin Brougham Community Member
                                  In my tests, they looked the same with and without hardware acceleration.  I could not perceive any difference in the default transition at all.

                                   

                                  How exactly are you stacking the clips and applying the transitions? You need "something" behind the dissolve to see the issue. If you just have a clip on V1 and add a dissolve to it, you won't see a difference since the "background" is actually "nothing"--that is, it's a matte with alpha at 255. If you drop a color matte (or any non-alpha clip) behind the dissolve, you'll see the difference.

                                   

                                  This isn't the best example, but here's a 10-frame dissolve of color bars over a black matte, in both GPU and software mode:

                                   

                                  dissolve.png

                                   

                                  Anyway, try that, and see if you can replicate it.

                                  • 14. Re: Opacity Curves and MPE+GPU
                                    Jhvegas Community Member

                                    Oi vey!

                                     

                                    If I had known this - 1/2 the problem would be solved!

                                     

                                    DISCLAIMER: The problem is still nasty, especially when using custom masks/mattes from photoshop for intricate layers.

                                     

                                    HOWEVER - sometime in the past I had absorbed the habit of putting black video on track one of every project. Don't remember the details, but something about not getting a 'true black' when fading out.

                                     

                                    Since much of my issue with MPE+GPE has to do with crappy fades 'to black', simply removing that black video bg helps immensely.

                                     

                                    NOW - to get adobe to solve the issue when you are compositing layers and need proper rendering.

                                    • 15. Re: Opacity Curves and MPE+GPU
                                      Colin Brougham Community Member

                                      Since much of my issue with MPE+GPE has to do with crappy fades 'to black', simply removing that black video bg helps immensely.

                                       

                                      Well, that's only going to work if you're simply fading graphics/clips in and out; if you have a super of some sort (text over background video), you're stuck with the issue.

                                       

                                      Personally, I don't like dissolving to empty spaces in the sequence; that has been the cause of encoding issues in the past. And (maybe because I'm horribly OCD) it just seems wrong to use a single-sided transition on a background/single video layer. That might just be me, though

                                       

                                      Ultimately, this is not a solution, even a halfway solution--it's just a byproduct of the way that compositing works in Premiere, with or without hardware MPE.

                                      • 16. Re: Opacity Curves and MPE+GPU
                                        Jhvegas Community Member

                                        Absolutely.

                                         

                                        Just wanted to point out that there was at least a (dodgy) workaround for a small part of the issue. I'm still left creating ridiculously twisted bezier curves on all the other layers to make it fade correctly. And then turning hardware accel off when I need to use some of my 'ultra smooth' mattes.

                                        • 17. Re: Opacity Curves and MPE+GPU
                                          J. Simon Community Member
                                          If you just have a clip on V1 and add a dissolve to it, you won't see a difference since the "background" is actually "nothing"--that is, it's a matte with alpha at 255. If you drop a color matte (or any non-alpha clip) behind the dissolve, you'll see the difference.

                                           

                                          That actually makes sense, because in my testing with titles, adding a black clip underneath generated some weirdness.  Removing the black clip and just leaving V1 empty produced the expected and desired result.

                                          • 18. Re: Opacity Curves and MPE+GPU
                                            3FXRocky

                                            Colin-

                                             

                                            Thanks for your help (you've been there for me before!).

                                             

                                            I'm amazed and frustrated as well with this dissolve issue.  I can't, however, get the software rendered dissolve to work correctly either!

                                             

                                            I'm dissolving one clip out over another clip, with MRQ and MBD unchecked in the sequence settings (Of course in the preject settings I've turned off hardware rendering).

                                             

                                            Strangely enough I installed a Cineform plugin (stereo) demo, which comes with a 32 bit dissolve which works fine (has to be rendered), but I'm not sure we'll be buying the plugin.

                                             

                                            I don't know if it matters, but we've installed a BlackMagic multibridge for output.

                                             

                                            I've read all of these posts, and just can't figure it out!  Any thoughts?

                                             

                                            -Rocky