#11110: Corrupted output on h264 veryslow preset with common hardware decoders
------------------------------------+-----------------------------------
Reporter: Zeblote | Owner: (none)
Type: defect | Status: closed
Priority: normal | Component: avcodec
Version: git-master | Resolution: invalid
Keywords: h264 | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
------------------------------------+-----------------------------------
Comment (by Zeblote):
Thanks for the hint! Searching for the Decoding Pictures Buffer led me to
discover that there are different feature levels of H.264, which among
other things, change how many frames this can hold.
On the NVIDIA documentation, we find: https://docs.nvidia.com/video-
technologies/video-codec-sdk/12.2/nvdec-video-decoder-api-prog-
guide/index.html#video-decoder-capabilities
> Maximum Resolution: 4096x4096 Profile: Baseline, Main, High profile up
to Level 5.1
But in the log above, it is trying to use:
> [libx264 @ 00000224a6ee6bc0] profile High, level 6.0, 4:2:0, 8-bit
So the underlying issue is that ffmpeg defaults to using a feature level
that the hardware decoder can't support.
Adding {{{ -level 5.1 }}} to the command line fixes the problem.
Why there is no mechanism for the hardware decoder to report that a given
file is "too new", and perhaps refuse to play it rather than corrupt
everything, is anyone's guess...
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11110#comment:4>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker_______________________________________________
FFmpeg-trac mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-trac
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".