#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".

Reply via email to