summaryrefslogtreecommitdiff
path: root/libavcodec/qsvdec.h
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2015-07-21 18:57:49 +0200
committerAnton Khirnov <anton@khirnov.net>2015-07-25 17:24:25 +0200
commit96dca089b19bf55293136277f5b081c56146e10e (patch)
treeacbab77ca0267d8088c6ee39a5a56ccfae21e20e /libavcodec/qsvdec.h
parentfa85fcf2b7d1ab822a59245077b8bb855406d3e9 (diff)
qsvdec: move qsv_process_data() from qsvdec_h264 to the common code
It will be shared with the upcoming mpeg2 and hevc decoders.
Diffstat (limited to 'libavcodec/qsvdec.h')
-rw-r--r--libavcodec/qsvdec.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/libavcodec/qsvdec.h b/libavcodec/qsvdec.h
index 01f7690137..d5f2bce254 100644
--- a/libavcodec/qsvdec.h
+++ b/libavcodec/qsvdec.h
@@ -50,6 +50,11 @@ typedef struct QSVContext {
AVFifoBuffer *async_fifo;
+ // the internal parser and codec context for parsing the data
+ AVCodecParserContext *parser;
+ AVCodecContext *avctx_internal;
+ enum AVPixelFormat orig_pix_fmt;
+
// options set by the caller
int async_depth;
int iopattern;
@@ -62,9 +67,10 @@ int ff_qsv_map_pixfmt(enum AVPixelFormat format);
int ff_qsv_decode_init(AVCodecContext *s, QSVContext *q, mfxSession session);
-int ff_qsv_decode(AVCodecContext *s, QSVContext *q,
- AVFrame *frame, int *got_frame,
- AVPacket *avpkt);
+int ff_qsv_process_data(AVCodecContext *avctx, QSVContext *q,
+ AVFrame *frame, int *got_frame, AVPacket *pkt);
+
+void ff_qsv_decode_flush(AVCodecContext *avctx, QSVContext *q);
int ff_qsv_decode_close(QSVContext *q);