[FFmpeg-user] NVENC HEVC Stuttering / macroblock display issue onLG TV

Pierre-Yves Hocquellet zheer34 at gmail.com
Sat Feb 6 11:01:59 CET 2016

My issue was resolved thanks the email below, I wanted to share as my be useful to others. If developers are reading this, it may be helpful to add a command line option to enable or disable AUDs for nvenc

I was however able to correctly play files encoded with x265 without AUD so there’s possibly another issue with nvenc there...

Also a couple of observations on Nvenc hevc:
- To encode with constant quantizer, only the -global_quality parameter works, using -qscale or -q doesn’t work, not sure why
- With -qmin and -qmax, basically the file ends up begin all at qmin ... 
- The resulting bitrate varies enormously when using constant q on source files with similar bitrate which I found a bit odd

Thanks a lot for all the help !

On Fri, Feb 5, 2016 at 10:58 AM, Ali KIZIL <alikizil at gmail.com> wrote:

Sony reported a similar problem (they cant decode HEVC properly due to no AUD) yesterday to me.
I enabled access unit delimiters (AUD) in NVENC HEVC as below:


Line:949 /nvenc.c
+        ctx->encode_config.encodeCodecConfig.hevcConfig.outputAUD = 1;

From: Zheer Zheer
Sent: 05 February 2016 11:41
To: Carl Eugen Hoyos; ffmpeg-user at ffmpeg.org
Subject: Re: [FFmpeg-user]NVENC HEVC Stuttering / macroblock display issue onLG TV

Hi Carl, 
I have now tried with level 3.1 and have the same problem. Running the same command line with x265 however plays perfectly well. 

ffmpeg -i sample.mp4 -y -c:v nvenc_hevc -preset slow  -s 720:576 -level 3.1   -r 24000/1001 -c:a aac -aq 128k -c:s copy  sampleNvencHEVC.ts
ffmpeg -i sample.mp4 -y -c:v libx265 -preset slow -x265-params bframes=0   -s 720:576 -level 3.1 -r 24000/1001 -c:a aac -aq 128k -c:s copy  sampleX265bf0.ts
I've also done more test, and seen differences with the GOP and bufsize parameters that I had missed in my previous testing. I have not been able to get a defect free video though...
Reducing GOP a lot, to say 15 helps (the default appears to be 250) - my take is something goes wrong playing the P frames and the I frame wipe things clean..  X265 is using a 250 GOP though so why would it not work with NVENC .. 
The buffsize also delayed the apparition of macroblock issues. the command line above resulted in a VBR of 2.5M so I've tested with bufsize from 500k to 10M - the best result was around 2M but it only just delayed the problem showing up

Any other thoughts ?
Many thanks

The original frame rate which is 23.976. setting in to -r 24 seems to work too, but with other framerates (20, 25, 30), I'm seeing stuttering issues. 
> > - HEVC levels 4.1 to 5.0
> - Did you also try lower levels?
I have not tried lower than 4.1 with HEVC (the encoder returned an error from 4.0, probably because the resolution / bit rates I used were higher than allowed at 4)

More information about the ffmpeg-user mailing list