Browse Source

Merge commit 'aa9d15d89bb4ee8a31607d3db1b8c5334eb88d2d'

* commit 'aa9d15d89bb4ee8a31607d3db1b8c5334eb88d2d':
  qsvdec: avoid an infinite loop with no consumed data and no output

Conflicts:
	libavcodec/qsvdec.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
tags/n2.8
Michael Niedermayer 10 years ago
parent
commit
ef2a85ac53
1 changed files with 7 additions and 0 deletions
  1. +7
    -0
      libavcodec/qsvdec.c

+ 7
- 0
libavcodec/qsvdec.c View File

@@ -339,6 +339,13 @@ int ff_qsv_decode(AVCodecContext *avctx, QSVContext *q,
break;
}

/* make sure we do not enter an infinite loop if the SDK
* did not consume any data and did not return anything */
if (!sync && !bs.DataOffset) {
av_log(avctx, AV_LOG_WARNING, "A decode call did not consume any data\n");
bs.DataOffset = avpkt->size;
}

if (buffered) {
qsv_fifo_relocate(q->input_fifo, bs.DataOffset);
} else if (bs.DataOffset!=avpkt->size) {


Loading…
Cancel
Save