|
|
|
@@ -606,7 +606,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)) { |
|
|
|
@@ -2301,7 +2301,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) |
|
|
|
@@ -2332,7 +2332,7 @@ static av_always_inline int decode_mb_row_no_filter(AVCodecContext *avctx, void |
|
|
|
s->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) { |
|
|
|
|