[FFmpeg-devel] [PATCH] vp9: assert -> av_assert and fix associated compile error.

Ronald S. Bultje rsbultje at gmail.com
Mon Sep 11 23:04:08 EEST 2017


Hi,

On Mon, Sep 11, 2017 at 3:58 PM, James Almer <jamrial at gmail.com> wrote:

> On 9/11/2017 4:41 PM, Ronald S. Bultje wrote:
> > ---
> >  libavcodec/vp9.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
> > index f626f81..66ccb6c 100644
> > --- a/libavcodec/vp9.c
> > +++ b/libavcodec/vp9.c
> > @@ -1603,7 +1603,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
> >          if (avctx->active_thread_type == FF_THREAD_SLICE) {
> >              int tile_row, tile_col;
> >
> > -            assert(!pass);
> > +            av_assert1(!s->pass);
>
> avassert.h says
>
> av_assert1()
>  * assert() equivalent, that does not lie in speed critical code.
>  * These asserts() thus can be enabled without fearing speed loss.
>
> av_assert2()
>  * assert() equivalent, that does lie in speed critical code.
>
> Since this is in a loop inside vp9_decode_frame() i think the latter is
> more correct. But patch LGTM either way.


As discussed on IRC, this is not a per-block loop, but rather a "2-pass"
decoding loop (i.e. the loop executes either once or twice), and this
particular piece of code only executes in 1-pass decoding mode (so it is
guaranteed to execute once per frame), so we agreed av_assert1 is fine.

Pushed.

Ronald


More information about the ffmpeg-devel mailing list