• wm4's avatar
    avcodec: allow multiple hwaccels for the same codec/pixfmt · ae5046e4
    wm4 authored
    Currently, AVHWAccels are looked up using a (codec_id, pixfmt) tuple.
    This means it's impossible to have 2 decoders for the same codec and
    using the same opaque hardware pixel format.
    
    This breaks merging Libav's CUVID hwaccel. FFmpeg has its own CUVID
    support, but it's a full stream decoder, using NVIDIA's codec parser.
    The Libav one is a true hwaccel, which is based on the builtin software
    decoders.
    
    Fix this by introducing another field to disambiguate AVHWAccels, and
    use it for our CUVID decoders. FF_CODEC_CAP_HWACCEL_REQUIRE_CLASS makes
    this mechanism backwards compatible and optional.
    ae5046e4
cuviddec.c 38.7 KB