[FFmpeg-devel] [PATCH] pthread_frame: minor simplification to error handling

wm4 nfxjfg at googlemail.com
Thu Mar 30 01:00:15 EEST 2017


On Wed, 29 Mar 2017 22:25:48 +0200
Alexander Strasser <eclipse7 at gmx.net> wrote:

> Hi,
> 
> I already saw this on -cvslog ml, so apparently I am too late...
> 
> On 2017-03-29 12:19 +0200, wm4 wrote:
> > On Mon, 27 Mar 2017 14:28:17 +0200
> > wm4 <nfxjfg at googlemail.com> wrote:
> >   
> > > Get rid of the "ret" variable, and always use err. Report the packet as
> > > consumed if err is unset. This should be equivalent to the old code,
> > > which obviously required err=0 for p->result>=0 (and otherwise,
> > > p->result must have had the value err was last set to). The code block
> > > added by commit 32a5b631267 is also not needed anymore, because the new
> > > code strictly returns err if it's >=0.
> > > ---
> > > Not totally sure about this, but it seems to work out? I probably missed
> > > something obvious.
> > > ---
> > >  libavcodec/pthread_frame.c | 19 +++++--------------
> > >  1 file changed, 5 insertions(+), 14 deletions(-)
> > > 
> > > diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c
> > > index b618be0bf5..36e4a8affa 100644
> > > --- a/libavcodec/pthread_frame.c
> > > +++ b/libavcodec/pthread_frame.c
> > > @@ -468,7 +468,7 @@ int ff_thread_decode_frame(AVCodecContext *avctx,
> > >      FrameThreadContext *fctx = avctx->internal->thread_ctx;
> > >      int finished = fctx->next_finished;
> > >      PerThreadContext *p;
> > > -    int err, ret = 0;
> > > +    int err;  
> 
> Wouldn't it have been more readable to keep ret instead of err?

It actually always used "err" - ret was introduced by a recent commit.
err also seemed to be used more often in the function.

> Assigning a size to err looks a bit strange. I am not insisting on changing
> it now, just wanted to point this out.

Actually I think the packet size could be removed, and the utils.c code
adjusted.


More information about the ffmpeg-devel mailing list