[FFmpeg-cvslog] qsvenc.c: use query to catch all kind of setting issues

Sven Dueking git at videolan.org
Thu Oct 1 17:17:10 CEST 2015


ffmpeg | branch: master | Sven Dueking <sven at nablet.com> | Thu Oct  1 09:07:08 2015 +0100| [5d4a3563f23d39338bf6807caaec0e90cce90f3c] | committer: Michael Niedermayer

qsvenc.c: use query to catch all kind of setting issues

Reviewed-by: Ivan Uskov <ivan.uskov at nablet.com>
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5d4a3563f23d39338bf6807caaec0e90cce90f3c
---

 libavcodec/qsvenc.c |    8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index 1013fe1..55140e1 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec/qsvenc.c
@@ -264,6 +264,14 @@ int ff_qsv_enc_init(AVCodecContext *avctx, QSVEncContext *q)
     if (ret < 0)
         return ret;
 
+    ret = MFXVideoENCODE_Query(q->session, &q->param,&q->param);
+    if (MFX_WRN_PARTIAL_ACCELERATION==ret) {
+        av_log(avctx, AV_LOG_WARNING, "Encoder will work with partial HW acceleration\n");
+    } else if (ret < 0) {
+        av_log(avctx, AV_LOG_ERROR, "Error %d querying encoder params\n", ret);
+        return ff_qsv_error(ret);
+    }
+
     ret = MFXVideoENCODE_QueryIOSurf(q->session, &q->param, &q->req);
     if (ret < 0) {
         av_log(avctx, AV_LOG_ERROR, "Error querying the encoding parameters\n");



More information about the ffmpeg-cvslog mailing list