[FFmpeg-devel] [PATCH] avcodec/pngdec: mark previous_picture as done on end of decode_frame_common()

Michael Niedermayer michaelni at gmx.at
Thu Oct 1 02:24:45 CEST 2015


On Wed, Sep 30, 2015 at 08:14:10PM -0400, Ronald S. Bultje wrote:
> Hi,
> 
> On Sun, Sep 27, 2015 at 9:13 PM, Michael Niedermayer <michaelni at gmx.at>
> wrote:
> 
> > From: Michael Niedermayer <michael at niedermayer.cc>
> >
> > Fixes deadlock with threads
> >
> > Found-by: Paul B Mahol
> > Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> > ---
> >  libavcodec/pngdec.c |    2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
> > index ee11f12..743144b 100644
> > --- a/libavcodec/pngdec.c
> > +++ b/libavcodec/pngdec.c
> > @@ -1217,6 +1217,7 @@ exit_loop:
> >          }
> >      }
> >      ff_thread_report_progress(&s->picture, INT_MAX, 0);
> > +    ff_thread_report_progress(&s->previous_picture, INT_MAX, 0);
> >
> >      av_frame_set_metadata(p, metadata);
> >      metadata   = NULL;
> > @@ -1225,6 +1226,7 @@ exit_loop:
> >  fail:
> >      av_dict_free(&metadata);
> >      ff_thread_report_progress(&s->picture, INT_MAX, 0);
> > +    ff_thread_report_progress(&s->previous_picture, INT_MAX, 0);
> >      return ret;
> >  }
> >
> > --
> > 1.7.9.5
> 
> 
> So I directly admit I didn't look very deep, so I may be missing something
> terribly obvious, but uhm. Shouldn't we mark previous_picture as done when
> it's current? Why mark it as done in the frame after?

previous_picture is directly allocated and copied into

if you can&want to redesign this, i wouldnt mind

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In fact, the RIAA has been known to suggest that students drop out
of college or go to community college in order to be able to afford
settlements. -- The RIAA
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20151001/8ccee812/attachment.sig>


More information about the ffmpeg-devel mailing list