diff options
author | Ivan Uskov <ivan.uskov@nablet.com> | 2015-08-04 06:40:06 -0400 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2015-09-07 22:04:02 +0200 |
commit | cc167f7e55dafdeeca7ac9622331db8d8f6cb463 (patch) | |
tree | 415efdf769f298e11791555e67f382205d0b17c2 /libavcodec/qsvdec.h | |
parent | ef359e724d990abb3cb6a5199e738232260eee1b (diff) | |
download | ffmpeg-cc167f7e55dafdeeca7ac9622331db8d8f6cb463.tar.gz |
libavcodec/qsvdec.c: correct handling of dynamic frame size changing has been implemented
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/qsvdec.h')
-rw-r--r-- | libavcodec/qsvdec.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libavcodec/qsvdec.h b/libavcodec/qsvdec.h index c30627a4bd..5211fb2ee8 100644 --- a/libavcodec/qsvdec.h +++ b/libavcodec/qsvdec.h @@ -51,10 +51,21 @@ typedef struct QSVContext { AVFifoBuffer *async_fifo; AVFifoBuffer *input_fifo; + // we should to buffer input packets at some cases + // else it is not possible to handle dynamic stream changes correctly + // this fifo uses for input packets buffering + AVFifoBuffer *pkt_fifo; + // this flag indicates that header parsed, // decoder instance created and ready to general decoding int engine_ready; + // we can not just re-init decoder if different sequence header arrived + // we should to deliver all buffered frames but we can not decode new packets + // this time. So when reinit_pending is non-zero we flushing decoder and + // accumulate new arrived packets into pkt_fifo + int reinit_pending; + // options set by the caller int async_depth; int iopattern; |