On 1/1/16, Michael Niedermayer <michae...@gmx.at> wrote: > From: Michael Niedermayer <mich...@niedermayer.cc> > > This causes a overall slowdown of 0.1 % (tested with mpeg4 single thread > encoding of matrixbench at QP=3) > > Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > --- > libavcodec/put_bits.h | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/libavcodec/put_bits.h b/libavcodec/put_bits.h > index 5b1bc8b..69a3049 100644 > --- a/libavcodec/put_bits.h > +++ b/libavcodec/put_bits.h > @@ -163,9 +163,11 @@ static inline void put_bits(PutBitContext *s, int n, > unsigned int value) > #ifdef BITSTREAM_WRITER_LE > bit_buf |= value << (32 - bit_left); > if (n >= bit_left) { > - av_assert2(s->buf_ptr+3<s->buf_end); > - AV_WL32(s->buf_ptr, bit_buf); > - s->buf_ptr += 4; > + if (3 < s->buf_end - s->buf_ptr) { > + AV_WL32(s->buf_ptr, bit_buf); > + s->buf_ptr += 4; > + } else > + av_assert0(0); > bit_buf = value >> bit_left; > bit_left += 32; > } > @@ -177,9 +179,11 @@ static inline void put_bits(PutBitContext *s, int n, > unsigned int value) > } else { > bit_buf <<= bit_left; > bit_buf |= value >> (n - bit_left); > - av_assert2(s->buf_ptr+3<s->buf_end); > - AV_WB32(s->buf_ptr, bit_buf); > - s->buf_ptr += 4; > + if (3 < s->buf_end - s->buf_ptr) { > + AV_WB32(s->buf_ptr, bit_buf); > + s->buf_ptr += 4; > + } else > + av_assert0(0); > bit_left += 32 - n; > bit_buf = value; > }
If this can happen, using assert0 is bad idea. If this should not happen add if under assert2. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel