[FFmpeg-devel] [PATCH] (for discussion): nvenc: fix wrong aspect ratio for 720x576 and 720x480 resolution

Philip Langdale philipl at overt.org
Mon Feb 13 00:20:14 EET 2017


On Sun, 12 Feb 2017 22:43:41 +0100
Miroslav Slugeň <thunder.m at email.cz> wrote:

> Dne 12.2.2017 v 22:31 Timo Rothenpieler napsal(a):
> > On 2/12/2017 10:25 PM, Miroslav Slugeň wrote:  
> >> This patch is for discussion only, not ready to commit yet and
> >> maybe newer will be.
> >>
> >> NVENC in current CUDA 8 SDK is setting wrong aspect ratio when
> >> encoding resolution 720x576 and 720x480 and using AR 4:3 or 16:9
> >> it will encode to h264 header that 15:11 and 20:11 is used. This
> >> is very very very ugly way how to fix it. I hope someone in NVIDIA
> >> will fix this soon, because all encoded streams are not displayed
> >> correctly for example in videojs player.  
> > nvenc.c had some compensation for this, which was somewhat recently
> > removed, because nvidia fixed something regarding it:
> >
> > http://git.videolan.org/?p=ffmpeg.git;a=commit;h=829db8effd76b579ae9aca5ee8f85d3ade6af253
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel at ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel  
> I know that, i am monitoring all nvenc and cuvid changes in ffmpeg.
> 
> Fix is not working anymore in current drivers. What is working is if
> you set aspect ratio 16000x9001 it will give you almost correct
> output, but fixing this in h264 SPP is better solution.
> 
> M.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

If it's still happening, let's just restore the original workaround.
But I stopped being able to reproduce the problem locally, and I can't
reproduce it right now with a 720x576 sample.

Note that the SDK is completely irrelevant to playback behaviour. The
CUDA SDK doesn't include current cuvid/nvenc headers and the Video SDK
isn't required because we bundle/reimplement headers with ffmpeg.

You are likely not using a new enough driver release to have the fix in
it. I'm using 378.09 here.

--phil


More information about the ffmpeg-devel mailing list