From: Yukinori Yamazoe <[email protected]>
Signed-off-by: Luca Barbato <[email protected]>
---
Looks fine.
libavcodec/qsv.c | 2 +-
libavcodec/qsv.h | 1 +
libavcodec/qsv_h264.c | 15 +++++++++++++++
3 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
index d014f96..0f526eb 100644
--- a/libavcodec/qsv.c
+++ b/libavcodec/qsv.c
@@ -155,7 +155,7 @@ int ff_qsv_init(AVCodecContext *c, QSVContext *q)
"Unknown Intel QuickSync implementation %d.\n", impl);
q->param.IOPattern = MFX_IOPATTERN_OUT_SYSTEM_MEMORY;
- q->param.AsyncDepth = ASYNC_DEPTH_DEFAULT;
+ q->param.AsyncDepth = q->async_depth;
q->bs.DataFlag = MFX_BITSTREAM_COMPLETE_FRAME;
diff --git a/libavcodec/qsv.h b/libavcodec/qsv.h
index 078b918..7aabc74 100644
--- a/libavcodec/qsv.h
+++ b/libavcodec/qsv.h
@@ -61,6 +61,7 @@ typedef struct QSVContext {
mfxBitstream bs;
int last_decode_status;
int need_postinit;
+ int async_depth;
AVPacketList *pending, *pending_end;
} QSVContext;
diff --git a/libavcodec/qsv_h264.c b/libavcodec/qsv_h264.c
index c10a456..6b11ba6 100644
--- a/libavcodec/qsv_h264.c
+++ b/libavcodec/qsv_h264.c
@@ -111,6 +111,20 @@ static void qsv_dec_flush(AVCodecContext *avctx)
ff_qsv_flush(&q->qsv);
}
+#define OFFSET(x) offsetof(QSVH264Context, x)
+#define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM
+static const AVOption options[] = {
+ { "async_depth", "Number of parallel processing",
OFFSET(qsv.async_depth), AV_OPT_TYPE_INT, { .i64 = ASYNC_DEPTH_DEFAULT }, 0,
INT_MAX, VD },
+ { NULL },
+};
+
+static const AVClass class = {
+ .class_name = "h264_qsv",
+ .item_name = av_default_item_name,
+ .option = options,
+ .version = LIBAVUTIL_VERSION_INT,
+};
+
AVCodec ff_h264_qsv_decoder = {
.name = "h264_qsv",
.long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4
part 10 (Intel Quick Sync Video acceleration)"),
@@ -122,4 +136,5 @@ AVCodec ff_h264_qsv_decoder = {
.flush = qsv_dec_flush,
.close = qsv_dec_close,
.capabilities = CODEC_CAP_DELAY | CODEC_CAP_PKT_TS | CODEC_CAP_DR1,
+ .priv_class = &class,
};
--
1.8.3.2
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel