summaryrefslogtreecommitdiff
path: root/libavcodec/qsvenc.c
diff options
context:
space:
mode:
authorIvan Uskov <ivan.uskov@nablet.com>2015-07-09 22:01:00 +0300
committerMichael Niedermayer <michaelni@gmx.at>2015-07-10 01:26:16 +0200
commit5985316fba3b886699cc7f237bf10466d113fd08 (patch)
tree4c0b82f0d63db9ac2cb99dcf82f75bf449c68d26 /libavcodec/qsvenc.c
parentb160fc290cf49b516c5b6ee0730fd9da7fc623b1 (diff)
libavcodec/qsvenc.c: improving handling for return codes of MFXVideoENCODE_EncodeFrameAsync
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/qsvenc.c')
-rw-r--r--libavcodec/qsvenc.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index 5f59b6c702..3f376399c9 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec/qsvenc.c
@@ -417,12 +417,20 @@ int ff_qsv_encode(AVCodecContext *avctx, QSVEncContext *q,
break;
} while ( 1 );
- if (ret < 0)
- return (ret == MFX_ERR_MORE_DATA) ? 0 : ff_qsv_error(ret);
-
- if (ret == MFX_WRN_INCOMPATIBLE_VIDEO_PARAM && frame->interlaced_frame)
- print_interlace_msg(avctx, q);
+ if (ret < 0) {
+ if (ret == MFX_ERR_MORE_DATA)
+ return 0;
+ av_log(avctx, AV_LOG_ERROR, "EncodeFrameAsync returned %d\n", ret);
+ return ff_qsv_error(ret);
+ }
+ if (ret == MFX_WRN_INCOMPATIBLE_VIDEO_PARAM) {
+ if (frame->interlaced_frame)
+ print_interlace_msg(avctx, q);
+ else
+ av_log(avctx, AV_LOG_WARNING,
+ "EncodeFrameAsync returned 'incompatible param' code\n");
+ }
if (sync) {
MFXVideoCORE_SyncOperation(q->session, sync, 60000);