[FFmpeg-devel] [PATCH] avcodec/vc1dec: Re-order init to avoid initting hwaccel too early

Philip Langdale philipl at overt.org
Sun Aug 9 19:23:26 CEST 2015


On Sun, 9 Aug 2015 12:42:22 +0200
Michael Niedermayer <michael at niedermayer.cc> wrote:

> On Sat, Aug 08, 2015 at 07:57:29PM -0700, Philip Langdale wrote:
> > 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: Philip Langdale <philipl at overt.org>
> > ---
> >  libavcodec/vc1dec.c | 55
> > ++++++++++++++++++++++++++++------------------------- 1 file
> > changed, 29 insertions(+), 26 deletions(-)
> 
> this seems to break decoding of
> http://samples.ffmpeg.org/V-codecs/WMV9/kelsy/kelsy_750.wmv
> 
> [...]

Indeed. I'm sending another updated patch with a fix.

--phil


More information about the ffmpeg-devel mailing list