[FFmpeg-devel] [PATCH 1/2] avcodec/vp5/6/8: use vpX_rac_is_end()
Michael Niedermayer
michael at niedermayer.cc
Tue Aug 20 12:51:48 EEST 2019
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) {
--
2.23.0
More information about the ffmpeg-devel
mailing list