[FFmpeg-devel] h264 threading fate tests
Clément Bœsch
ubitux at gmail.com
Thu Jul 19 19:35:35 CEST 2012
On Thu, Jul 19, 2012 at 04:47:23PM +0200, Michael Niedermayer wrote:
> On Wed, Jul 11, 2012 at 05:48:50PM +0200, Clément Bœsch wrote:
> > On Mon, Apr 16, 2012 at 04:43:42PM +0200, Clément Bœsch wrote:
> > > Hi,
> > >
> > > I recently setup a few fate instances to test the threading (2, 8, 16 and
> > > auto), and regularly one of the h264 conformance test fails; look at the
> > > yellow entries here for instance:
> > > http://fate.ffmpeg.org/history.cgi?slot=x86_64-archlinux-gcc-threads-8
> > >
> > > The other day, I tried to run an automated git bisect run, but
> > > unfortunately testing the potential regression would requires to run
> > > something like "while true; do make fate-h264 -j20 THREADS=8; done" for
> > > around 15 minutes at least each time, and it might not even be reliable.
> > >
> > > I'm not familiar at all with AVC decoding or threading in FFmpeg, but
> > > maybe someone has an idea of what could cause this?
> > >
> >
> > I added a helgrind box on FATE and it seems to detect a few races:
> > http://fate.ffmpeg.org/report.cgi?time=20120711153812&slot=x86_64-archlinux-gcc-valgrind-threads
> >
> > If anyone is up to fix the more obvious ones...
> >
>
> > Some of them look simple to fix at first sight, for instance:
> >
> > diff --git a/libavcodec/pthread.c b/libavcodec/pthread.c
> > index 7f2ea09..597aeba 100644
> > --- a/libavcodec/pthread.c
> > +++ b/libavcodec/pthread.c
> > @@ -975,9 +975,9 @@ int ff_thread_get_buffer(AVCodecContext *avctx, AVFrame *f)
> > avctx->get_buffer == avcodec_default_get_buffer) {
> > err = avctx->get_buffer(avctx, f);
> > } else {
> > + pthread_mutex_lock(&p->progress_mutex);
> > p->requested_frame = f;
> > p->state = STATE_GET_BUFFER;
> > - pthread_mutex_lock(&p->progress_mutex);
> > pthread_cond_broadcast(&p->progress_cond);
> >
> > while (p->state != STATE_SETTING_UP)
>
> LGTM
>
Pushed.
Note: I'm not looking at fixing the other for now.
--
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20120719/4c4ee1a7/attachment.asc>
More information about the ffmpeg-devel
mailing list