mirror of https://git.ffmpeg.org/ffmpeg.git
lavc/qsv: add memory type message
Signed-off-by: Zhong Li <zhong.li@intel.com>
This commit is contained in:
parent
74007dd86a
commit
525de95679
|
@ -137,6 +137,35 @@ int ff_qsv_level_to_mfx(enum AVCodecID codec_id, int level)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct {
|
||||||
|
int mfx_iopattern;
|
||||||
|
const char *desc;
|
||||||
|
} qsv_iopatterns[] = {
|
||||||
|
{MFX_IOPATTERN_IN_VIDEO_MEMORY, "input is video memory surface" },
|
||||||
|
{MFX_IOPATTERN_IN_SYSTEM_MEMORY, "input is system memory surface" },
|
||||||
|
{MFX_IOPATTERN_IN_OPAQUE_MEMORY, "input is opaque memory surface" },
|
||||||
|
{MFX_IOPATTERN_OUT_VIDEO_MEMORY, "output is video memory surface" },
|
||||||
|
{MFX_IOPATTERN_OUT_SYSTEM_MEMORY, "output is system memory surface" },
|
||||||
|
{MFX_IOPATTERN_OUT_OPAQUE_MEMORY, "output is opaque memory surface" },
|
||||||
|
};
|
||||||
|
|
||||||
|
int ff_qsv_print_iopattern(void *log_ctx, int mfx_iopattern,
|
||||||
|
const char *extra_string)
|
||||||
|
{
|
||||||
|
const char *desc = NULL;
|
||||||
|
|
||||||
|
for (int i = 0; i < FF_ARRAY_ELEMS(qsv_iopatterns); i++) {
|
||||||
|
if (qsv_iopatterns[i].mfx_iopattern == mfx_iopattern) {
|
||||||
|
desc = qsv_iopatterns[i].desc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!desc)
|
||||||
|
desc = "unknown iopattern";
|
||||||
|
|
||||||
|
av_log(log_ctx, AV_LOG_VERBOSE, "%s: %s\n", extra_string, desc);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static const struct {
|
static const struct {
|
||||||
mfxStatus mfxerr;
|
mfxStatus mfxerr;
|
||||||
int averr;
|
int averr;
|
||||||
|
|
|
@ -101,6 +101,9 @@ typedef struct QSVFramesContext {
|
||||||
int nb_mids;
|
int nb_mids;
|
||||||
} QSVFramesContext;
|
} QSVFramesContext;
|
||||||
|
|
||||||
|
int ff_qsv_print_iopattern(void *log_ctx, int mfx_iopattern,
|
||||||
|
const char *extra_string);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert a libmfx error code into an ffmpeg error code.
|
* Convert a libmfx error code into an ffmpeg error code.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -193,6 +193,8 @@ static int qsv_decode_preinit(AVCodecContext *avctx, QSVContext *q, enum AVPixel
|
||||||
iopattern = MFX_IOPATTERN_OUT_SYSTEM_MEMORY;
|
iopattern = MFX_IOPATTERN_OUT_SYSTEM_MEMORY;
|
||||||
q->iopattern = iopattern;
|
q->iopattern = iopattern;
|
||||||
|
|
||||||
|
ff_qsv_print_iopattern(avctx, q->iopattern, "Decoder");
|
||||||
|
|
||||||
ret = qsv_init_session(avctx, q, session, avctx->hw_frames_ctx, avctx->hw_device_ctx);
|
ret = qsv_init_session(avctx, q, session, avctx->hw_frames_ctx, avctx->hw_device_ctx);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "Error initializing an MFX session\n");
|
av_log(avctx, AV_LOG_ERROR, "Error initializing an MFX session\n");
|
||||||
|
|
Loading…
Reference in New Issue