qsvdec: Only warn about unconsumed data if it happens more than once

pull/258/head
Mark Thompson 8 years ago
parent 030d84fa2e
commit 0940b748bd
  1. 6
      libavcodec/qsvdec.c
  2. 1
      libavcodec/qsvdec.h

@ -328,8 +328,12 @@ static int qsv_decode(AVCodecContext *avctx, QSVContext *q,
/* 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) {
ff_qsv_print_warning(avctx, ret, "A decode call did not consume any data");
bs.DataOffset = avpkt->size;
++q->zero_consume_run;
if (q->zero_consume_run > 1)
ff_qsv_print_warning(avctx, ret, "A decode call did not consume any data");
} else {
q->zero_consume_run = 0;
}
if (*sync) {

@ -51,6 +51,7 @@ typedef struct QSVContext {
QSVFrame *work_frames;
AVFifoBuffer *async_fifo;
int zero_consume_run;
// the internal parser and codec context for parsing the data
AVCodecParserContext *parser;

Loading…
Cancel
Save