Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums VEGAS Pro Worse video quality with GPU acceleration than without ? (MainConcept Codec)

  • Worse video quality with GPU acceleration than without ? (MainConcept Codec)

    Posted by Cedric Divang on May 6, 2014 at 7:03 pm

    Hello, I was so excited after buying my new video Card ATI Radeon 6970 to benefit from the GPU acceleration (I was previously using CPU-Only rendering).

    Problem : It’s blazing fast (3 times faster than before) BUT the video quality is much worse ! 🙁

    CPU-Only Rendering : https://www56.zippyshare.com/v/95082741/file.html
    With GPU Acceleration : https://www56.zippyshare.com/v/62334799/file.html

    The very same project and parameters have been used for both renderings.
    CPU-Only looks clearly much better (look at the logo in the upper right hand corner).

    Can you please tell me if I have wasted 120€ on my new video card ? :-/

    Thanks everybody for your time. I’m waiting for your replies.

    _______________________________________________________________________________

    Here’s the codec used for rendering :

    MainConcept AVC/AAC (*.mp4,*.avc)
    Frame Size : HDV 1440×1080
    Profile : High
    Frame Rate : 25fps
    Field Order : None (progressive scan)
    Pixel Aspect Ratio : 1,3333
    Number of reference frames : 2 (default) – Using Deblocking filter : YES
    Variable bit rate : 2-PASS, Max 10Mbs, Average 3Mbs
    Number of slices : 4 (default)
    Enable progressive download : YES
    _______________________________________________________________________________

    Here’s the Media Info of the original Video :

    General
    ID : 255 (0xFF)
    Complete name : I:\TEMP\VEGAS\Les Marseillais à Rio (S03E47), 05-05-2014, HDTV-1.ts
    Format : MPEG-TS
    Commercial name : HDV 1080i
    File size : 3.49 GiB
    Duration : 19mn 6s
    Start time : UTC 165-25-45 45:85:85
    End time : UTC 165-25-45 45:85:85
    Overall bit rate mode : Variable
    Overall bit rate : 26.1 Mbps
    Maximum Overall bit rate : 33.0 Mbps
    Encoded date : UTC 165-25-45 45:85:85

    Video
    ID : 2064 (0x810)
    Menu ID : 100 (0x64)
    Format : MPEG Video
    Commercial name : HDV 1080i
    Format version : Version 2
    Format profile : Main@High 1440
    Format settings, BVOP : Yes
    Format settings, Matrix : Custom
    Format settings, GOP : M=3, N=12
    Codec ID : 2
    Duration : 19mn 6s
    Bit rate : 24.5 Mbps
    Maximum bit rate : 25.0 Mbps
    Width : 1 440 pixels
    Height : 1 080 pixels
    Display aspect ratio : 16:9
    Frame rate : 25.000 fps
    Standard : Component
    Color space : YUV
    Chroma subsampling : 4:2:0
    Bit depth : 8 bits
    Scan type : Interlaced
    Scan order : Top Field First
    Compression mode : Lossy
    Bits/(Pixel*Frame) : 0.629
    Time code of first frame : 14:05:01:23
    Time code source : Group of pictures header
    Stream size : 3.26 GiB (94%)
    Color primaries : BT.709
    Transfer characteristics : BT.709
    Matrix coefficients : BT.709

    Audio
    ID : 2068 (0x814)
    Menu ID : 100 (0x64)
    Format : MPEG Audio
    Format version : Version 1
    Format profile : Layer 2
    Codec ID : 3
    Duration : 19mn 6s
    Bit rate mode : Constant
    Bit rate : 384 Kbps
    Channel(s) : 2 channels
    Sampling rate : 48.0 KHz
    Compression mode : Lossy
    Delay relative to video : -230ms
    Stream size : 52.5 MiB (1%)

    Menu
    ID : 129 (0x81)
    Menu ID : 100 (0x64)
    List : 2064 (0x810) (MPEG Video) / 2068 (0x814) (MPEG Audio) / 2069 (0x815) () / 2065 (0x811) ()

    _______________________________________________________________________________

    Here’s the Media Info of the CPU-Rendered Video :

    General
    Complete name : I:\TEMP\VEGAS\svp13-CPU-Rendering-MainConcept-VBR-3Mbs-10Mbs.mp4
    Format : MPEG-4
    Format profile : Base Media / Version 2
    Codec ID : mp42
    File size : 19.6 MiB
    Duration : 52s 200ms
    Overall bit rate mode : Variable
    Overall bit rate : 3 149 Kbps
    Encoded date : UTC 2014-05-06 18:16:35
    Tagged date : UTC 2014-05-06 18:16:35

    Video
    ID : 2
    Format : AVC
    Format/Info : Advanced Video Codec
    Format profile : High@L4.0
    Format settings, CABAC : Yes
    Format settings, ReFrames : 3 frames
    Codec ID : avc1
    Codec ID/Info : Advanced Video Coding
    Duration : 52s 200ms
    Bit rate mode : Variable
    Bit rate : 3 017 Kbps
    Maximum bit rate : 10 000 Kbps
    Width : 1 440 pixels
    Height : 1 080 pixels
    Display aspect ratio : 4:3
    Original display aspect ratio : 16:9
    Frame rate mode : Constant
    Frame rate : 25.000 fps
    Standard : NTSC
    Color space : YUV
    Chroma subsampling : 4:2:0
    Bit depth : 8 bits
    Scan type : Progressive
    Bits/(Pixel*Frame) : 0.078
    Stream size : 18.8 MiB (96%)
    Language : English
    Encoded date : UTC 2014-05-06 18:16:35
    Tagged date : UTC 2014-05-06 18:16:35
    Color primaries : BT.709
    Transfer characteristics : BT.709
    Matrix coefficients : BT.709

    Audio
    ID : 1
    Format : AAC
    Format/Info : Advanced Audio Codec
    Format profile : LC
    Codec ID : 40
    Duration : 52s 152ms
    Bit rate mode : Constant
    Bit rate : 128 Kbps
    Channel(s) : channel0
    Channel(s)_Original : 2 channels
    Channel positions : Front: L R
    Sampling rate : 44.1 KHz
    Compression mode : Lossy
    Stream size : 815 KiB (4%)
    Language : English
    Encoded date : UTC 2014-05-06 18:16:35
    Tagged date : UTC 2014-05-06 18:16:35
    _______________________________________________________________________________

    Here’s the Media Info of the GPU-Rendered Video :

    General
    Complete name : I:\TEMP\VEGAS\svp13-GPU-Rendering-MainConcept-VBR-3Mbs-10Mbs.mp4
    Format : MPEG-4
    Format profile : Base Media / Version 2
    Codec ID : mp42
    File size : 18.7 MiB
    Duration : 52s 160ms
    Overall bit rate : 3 002 Kbps
    Encoded date : UTC 2014-05-06 18:10:45
    Tagged date : UTC 2014-05-06 18:10:45

    Video
    ID : 2
    Format : AVC
    Format/Info : Advanced Video Codec
    Format profile : High@L4.0
    Format settings, CABAC : Yes
    Format settings, ReFrames : 2 frames
    Format settings, GOP : M=2, N=15
    Codec ID : avc1
    Codec ID/Info : Advanced Video Coding
    Duration : 52s 160ms
    Bit rate : 2 870 Kbps
    Width : 1 440 pixels
    Height : 1 080 pixels
    Display aspect ratio : 4:3
    Original display aspect ratio : 16:9
    Frame rate mode : Constant
    Frame rate : 25.000 fps
    Standard : NTSC
    Color space : YUV
    Chroma subsampling : 4:2:0
    Bit depth : 8 bits
    Scan type : Progressive
    Bits/(Pixel*Frame) : 0.074
    Stream size : 17.8 MiB (96%)
    Language : English
    Encoded date : UTC 2014-05-06 18:10:45
    Tagged date : UTC 2014-05-06 18:10:45
    Color primaries : BT.709
    Transfer characteristics : BT.709
    Matrix coefficients : BT.709

    Audio
    ID : 1
    Format : AAC
    Format/Info : Advanced Audio Codec
    Format profile : LC
    Codec ID : 40
    Duration : 52s 152ms
    Bit rate mode : Constant
    Bit rate : 128 Kbps
    Channel(s) : channel0
    Channel(s)_Original : 2 channels
    Channel positions : Front: L R
    Sampling rate : 44.1 KHz
    Compression mode : Lossy
    Stream size : 815 KiB (4%)
    Language : English
    Encoded date : UTC 2014-05-06 18:10:45
    Tagged date : UTC 2014-05-06 18:10:45

    Izzy Mason replied 10 years, 11 months ago 7 Members · 14 Replies
  • 14 Replies
  • Norman Black

    May 7, 2014 at 1:27 am

    This is known. GPU based encoders, thus far, do not have the same encoding quality as purely CPU based encoders. They make compromises in quality for performance. The difference is typically only noticed at low bitrates which is what you are encoding to.

    Note that when you select CPU or OpenCL/CUDA in Mainconcept, each one is a completely different encoder with different algorithms.

    When it comes to max quality at low bitrates nothing really compares to the x264 encoder.

  • Cedric Divang

    May 7, 2014 at 10:15 am

    Oh noooo 🙁 Thank you very much for your reply Norman. Now I understand why they ask us to choose with of without GPU acceleration in the MainConcept Render Properties :-/ The quality difference is huge !

    You said that x264 is the best codec for max quality at low bitrates, but I far as I know, it’s not available in Sony Vegas because of the GPL restrictions. That’s why I use MainConcept which gives me amazing results on Variable Bit Rate mode.

    Let’s hope that MainConcept updates his GPU algortyhm but apparently it hasn’t been touched for years since the latest compatible Video card is the ATI Radeon 6970 that came out in … 2011 ! ( See the “Tech Specs” tab here : https://www.mainconcept.com/eu/products/sdks/gpu-acceleration/opencltm-h264avc.html ).

    After your message, I did some research and have found that GPU acceleration is actually “incredibly difficult” for video encoding because video encoding is a linear process while GPU relies on parallel processing. A guy from the x264 project says that the only way of making it non linear is by using different algorythms and make significant sacrifies 🙁

    Look at this very interesting video : https://www.youtube.com/watch?v=uOOOTqqI18A

  • Norman Black

    May 7, 2014 at 3:16 pm

    [Cedric Divang]
    You said that x264 is the best codec for max quality at low bitrates, but I far as I know, it’s not available in Sony Vegas because of the GPL restrictions”

    I render an intermediate format and use Handbrake to use x264 for final low bitrate encodes.

    XAVC-S and DNxHD are two formats that work well as an intermediate to Handbrake.

  • Dave Haynie

    May 7, 2014 at 4:31 pm

    [Cedric Divang] “The quality difference is huge !”

    This does tend to be a low-bitrate thing. And that’s not a shock… it’s pretty difficult to get just the right look at lower bitrates, and I’ll bet that the CPU version is doing things that simply don’t translate well to GPU coding… or are maybe just too complex.

    Another thing to realize about MainConcept is that, as Norman mentioned, the GPU coder is a totally different piece of software. Main Concept MPEG and AVC go back decades, but the accelerated encoder was brand new code in Vegas 11, and unfortunately, that’s about the time MainConcept (and parent company DivX) were acquired by Rovio. Nothing much seems to have happened with this CODEC over these last three years. I suspect it’s typical of this… when a company like Rovio acquires a “components” company like DivX, they’re more interested in spending time getting that tech put into their other products than they are worrying about the future of that company’s much smaller market.

    Anyway, even the CPU rendering isn’t as good as x264, as Norman mentioned. x264 is an open source project that’s had some clever and very vocal programmers working on it, pushing it harder than I’d guess just about anyone’s ever pushed the H.264/AVC spec. So particularly on low-bitrate stuff, it’s just better. This is the same AVC engine that Google uses for YouTube.

    Handbrake is a good open source encoder that uses x264. Though you’ll probably find that just about anything that’s open source and creates H.264 video is doing it with x264. I’m kind of surprised someone like, oh I dunno, Sony, hasn’t incorporated x264 into their products. Sound be possible, even under the GPL, since Sony’s rendering engines are already external modules. And given that Main Concept seems to have given up on improving things.

    TMPGenc’s Video Mastering Works also uses x264 as one of several AVC encoding engines (also supports Intel’s, which is tweaked for some x86 chips, and nVidia’s, which of course runs on nVidia GPUs… no OpenCL yet).

    I love the integrated encoders. But given the rate at which Sony’s been adapting to new things like GPU acceleration, H.264 improvements, WebM/VP8/VP9, H.265, etc (eg, pretty much not at all), it doesn’t hurt to at least be aware of external encoding options. To use an external encoder, you have to export your complete project, of course, in some intermediate, high-quality format that’s accepted by the encoding program.

    Nice video… yeah, that’s the x264 guy… very opinionated, but he’s got the results to back him up. And he does touch on some of the real problems. Obviously, video encoding does benefit from parallelism… that’s what happens in every actual hardware implementation. Of course, the x264 folks will claim they do better encoding than hardware encoders, too (and keep in mind, every hardware encoder is actually a bunch of software, some regular everyday CPU encoding, and a bunch of application-specific hardware). And they might be right.

    Good news is that the GPU active in Vegas makes every render faster, simply because it’s applied to plug-ins, compositing, etc. So even if you run CPU-based AVC encoding, you benefit from the GPU (GPU acceleration ON in Vegas, CPU-Only on MainConcept).

    -Dave

  • Cedric Divang

    May 7, 2014 at 5:33 pm

    Thanks for this very long and interesting post Dave. It was a pleasure to read !

    Handbrake seems to be the software most people use to encode in x264. I tried it and it looked pretty complicated (too many parameters to set), not to mention that I’d have to render in Vegas before passing the video to Handbrake. Too much work 😉 I’ll stick with MainConcept for now.

    Yes I have GPU enabled in Vegas and disabled on MainConcept 🙂

  • Cedric Divang

    May 8, 2014 at 6:14 pm

    Hi again norman, I’ve followed your advice and am now exporting the project to .MXF (blazing fast because it doesn’t need recompression !!!) before passing it to handbrake. I have a little question : A .sfl file is created by SVP along with the .mxf file. What is the .sfl ? Can I safely delete it ? Is there a way to prevent SVP from creating this file ? Thanks for your help 🙂

    BTW you were right, the x264 render is better than MainConcept (which still gets very good results for me) and looks somewhat faster with the settings I use. I hope the x264 developers find a way to implement GPU acceleration (apparently it’s just used for cropping or scaling down for now) because their codec is awesome and the devs look talented 😀

  • Cedric Divang

    May 9, 2014 at 5:50 am

    nvm i’ve found the answer on the web, the .sfl can be safely deleted

  • Gabe Carter

    April 11, 2015 at 7:43 pm

    I was also having some serious problems getting decent render quality out of Vegas using the MainConcept encoder. I went deep down the rabbit hole of rendering out uncompressed and passing into Handbrake for the final render, until I discovered that Vegas CAN render H.264 or x264 with a simple codec pack. For some reason I had just assumed there was some reason it couldn’t do this, or else why wouldn’t Sony just included it?

    Anyways, I grabbed the x264vfw coded pack here:
    https://sourceforge.net/projects/x264vfw/files/

    That gives me the H264 codec option in Vegas under the “Video for Windows (.avi)” if you customize any template you’ll see the new codec option. It renders WAY better than MainConcept or SonyAVC, at about half the file size. To my eyes, it’s as good as Handbrake after getting my settings right.

  • Jim Prisby

    April 16, 2015 at 1:59 am

    Gabe,
    Following your instructions…After installing the x264vfw coded pack I chose to render my Sony Vegas 13 HD project to “Video for Windows (.avi)” and selected HD 1080P-60i and changed the video format from Sony YUV codec to the x264 codec. But then there is a configure button there to configure it. What settings should I change in the configuration? I’m rendering this to go into DVD Architect and then burn it to a Blu-ray disk.

    Thanks,
    Jim

    Intel 2.67GHz Core2 Quad CPU.
    8 GB RAM
    NVIDIA GForce GTX 570 superclocked
    Windows 7 64bit

  • Wayne Waag

    April 16, 2015 at 4:10 am

    For the easiest way of encoding with Handbrake from Vegas, do this.

    https://www.vegasvideo.de/vegas-2-handbrake-en

    Frameserve–No intermediates. As many would say, it works a treat. Try it.

    wwaag

Page 1 of 2

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy