Adapted from the code by Rémi Denis-Courmont from VLC
This merges libav commit eb34d40354e2474517c9b9bd787e0dadc89c2a81.
Signed-off-by: Wan-Teh Chang <wtc@google.com>
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>