[FFmpeg-devel] [PATCH 1/2] avcodec/vp5/6/8: use vpX_rac_is_end()

Michael Niedermayer michael at niedermayer.cc
Thu Aug 22 18:59:05 EEST 2019


On Wed, Aug 21, 2019 at 07:41:00PM +1000, Peter Ross wrote:
> On Tue, Aug 20, 2019 at 11:51:48AM +0200, Michael Niedermayer wrote:
> > Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> > ---
> >  libavcodec/vp5.c | 2 +-
> >  libavcodec/vp6.c | 2 +-
> >  libavcodec/vp8.c | 8 ++++----
> >  3 files changed, 6 insertions(+), 6 deletions(-)
> > 
> > diff --git a/libavcodec/vp5.c b/libavcodec/vp5.c
> > index 49988b8b76..0fca282918 100644
> > --- a/libavcodec/vp5.c
> > +++ b/libavcodec/vp5.c
> > @@ -183,7 +183,7 @@ static int vp5_parse_coeff(VP56Context *s)
> >      int b, i, cg, idx, ctx, ctx_last;
> >      int pt = 0;    /* plane type (0 for Y, 1 for U or V) */
> >  
> > -    if (c->end <= c->buffer && c->bits >= 0) {
> > +    if (vpX_rac_is_end(c)) {
> >          av_log(s->avctx, AV_LOG_ERROR, "End of AC stream reached in vp5_parse_coeff\n");
> >          return AVERROR_INVALIDDATA;
> >      }
> > diff --git a/libavcodec/vp6.c b/libavcodec/vp6.c
> > index 977fcb7076..e5dec19f50 100644
> > --- a/libavcodec/vp6.c
> > +++ b/libavcodec/vp6.c
> > @@ -473,7 +473,7 @@ static int vp6_parse_coeff(VP56Context *s)
> >      int b, i, cg, idx, ctx;
> >      int pt = 0;    /* plane type (0 for Y, 1 for U or V) */
> >  
> > -    if (c->end <= c->buffer && c->bits >= 0) {
> > +    if (vpX_rac_is_end(c)) {
> >          av_log(s->avctx, AV_LOG_ERROR, "End of AC stream reached in vp6_parse_coeff\n");
> >          return AVERROR_INVALIDDATA;
> >      }
> > diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c
> > index efc62aabaf..eb51d1f3c9 100644
> > --- a/libavcodec/vp8.c
> > +++ b/libavcodec/vp8.c
> > @@ -658,7 +658,7 @@ static int vp7_decode_frame_header(VP8Context *s, const uint8_t *buf, int buf_si
> >              s->fade_present = vp8_rac_get(c);
> >      }
> >  
> > -    if (c->end <= c->buffer && c->bits >= 0)
> > +    if (vpX_rac_is_end(c))
> >          return AVERROR_INVALIDDATA;
> >      /* E. Fading information for previous frame */
> >      if (s->fade_present && vp8_rac_get(c)) {
> > @@ -693,7 +693,7 @@ static int vp7_decode_frame_header(VP8Context *s, const uint8_t *buf, int buf_si
> >          vp78_update_pred16x16_pred8x8_mvc_probabilities(s, VP7_MVC_SIZE);
> >      }
> >  
> > -    if (c->end <= c->buffer && c->bits >= 0)
> > +    if (vpX_rac_is_end(c))
> >          return AVERROR_INVALIDDATA;
> >  
> >      if ((ret = vp7_fade_frame(s, alpha, beta)) < 0)
> > @@ -2375,7 +2375,7 @@ static av_always_inline int decode_mb_row_no_filter(AVCodecContext *avctx, void
> >          curframe->tf.f->data[2] +  8 * mb_y * s->uvlinesize
> >      };
> >  
> > -    if (c->end <= c->buffer && c->bits >= 0)
> > +    if (vpX_rac_is_end(c))
> >           return AVERROR_INVALIDDATA;
> >  
> >      if (mb_y == 0)
> > @@ -2406,7 +2406,7 @@ static av_always_inline int decode_mb_row_no_filter(AVCodecContext *avctx, void
> >      td->mv_bounds.mv_max.x = ((s->mb_width - 1) << 6) + MARGIN;
> >  
> >      for (mb_x = 0; mb_x < s->mb_width; mb_x++, mb_xy++, mb++) {
> > -        if (c->end <= c->buffer && c->bits >= 0)
> > +        if (vpX_rac_is_end(c))
> >              return AVERROR_INVALIDDATA;
> >          // Wait for previous thread to read mb_x+2, and reach mb_y-1.
> >          if (prev_td != td) {
> 
> approve.

will apply

thx

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Complexity theory is the science of finding the exact solution to an
approximation. Benchmarking OTOH is finding an approximation of the exact
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20190822/ed4b2c60/attachment.sig>


More information about the ffmpeg-devel mailing list