- while ((pkt_desc = stream->predecode_packet) &&
-+ pkt_desc != stream->premux_packet &&
- scr > pkt_desc->dts) { // FIXME: > vs >=
-- if (stream->buffer_index < pkt_desc->size ||
-- stream->predecode_packet == stream->premux_packet) {
-+ if (stream->buffer_index < pkt_desc->size) {
- av_log(ctx, AV_LOG_ERROR,
- "buffer underflow st=%d bufi=%d size=%d\n",
- i, stream->buffer_index, pkt_desc->size);
+- if (!s->divx_packed && avctx->hwaccel)
++ if (s->divx_packed && avctx->hwaccel)
+ ff_thread_finish_setup(avctx);
+
+ av_assert1(s->current_picture.f->pict_type == s->current_picture_ptr->f->pict_type);