• Philip Langdale's avatar
    avcodec/vc1dec: Re-order init to avoid initting hwaccel too early · 91f1115a
    Philip Langdale authored
    At least for vdpau, the hwaccel init code tries to check the video
    profile and ensure that there is a matching vdpau profile available.
    
    If it can't find a match, it will fail to initialise.
    
    In the case of wmv3/vc1, I observed initialisation to fail all the
    time. It turns out that this is due to the hwaccel being initialised
    very early in the codec init, before the profile has been extracted
    and set.
    
    Conceptually, it's a simple fix to reorder the init code, but it gets
    messy really fast because ff_get_format(), which is what implicitly
    trigger hwaccel init, is called multiple times through various shared
    init calls from h263, etc. It's incredibly hard to prove to my own
    satisfaction that it's safe to move the vc1 specific init code
    ahead of this generic code, but all the vc1 fate tests pass, and I've
    visually inspected a couple of samples and things seem correct.
    Signed-off-by: 's avatarPhilip Langdale <philipl@overt.org>
    91f1115a
vc1dec.c 45.9 KB