Hello,

In H.264 and MPEG-1/2, the decoded pixel format can change mid-stream. Yet, get_format() is only called if the new pixel format is compatible with hardware acceleration. This triggers undefined behaviour in hwaccel-enabled applications when hardware acceleration is first enabled, and then the new pixel format changes to unaccelerated.

Forcing the callback to be called lets the application detect the change and disable hardware acceleration cleanly.

(Note: The other get_format()-using codecs are not patched as they do not seem to allow mid-stream change of the pixel format.)

--
Rémi Denis-Courmont
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to