mirror of
https://github.com/librempeg/librempeg
synced 2024-11-22 00:51:37 +00:00
qsv: Update ffmpeg qsv_errors to recognize GPU hang and other statuses
GPU hang is one of the most typical errors on Intel GPUs in case something goes wrong. It's important to recognize it explicitly for easier bugs triage. Also, this error code can be used to trigger GPU recovery path in self-written applications. There were 2 other statuses which MediaSDK can ppotentially return, MFX_ERR_NONE_PARTIAL_OUTPUT and MFX_ERR_REALLOC_SURFACE. Adding them as well. v2: move MFX_ERR_NONE_PARTIAL_OUTPUT next to MFX_WRN_* (Haihao) Signed-off-by: Hon Wai Chow <hon.wai.chow@intel.com> Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
This commit is contained in:
parent
6b12208646
commit
e0691eab22
@ -125,6 +125,8 @@ static const struct {
|
|||||||
{ MFX_ERR_INVALID_VIDEO_PARAM, AVERROR(EINVAL), "invalid video parameters" },
|
{ MFX_ERR_INVALID_VIDEO_PARAM, AVERROR(EINVAL), "invalid video parameters" },
|
||||||
{ MFX_ERR_UNDEFINED_BEHAVIOR, AVERROR_BUG, "undefined behavior" },
|
{ MFX_ERR_UNDEFINED_BEHAVIOR, AVERROR_BUG, "undefined behavior" },
|
||||||
{ MFX_ERR_DEVICE_FAILED, AVERROR(EIO), "device failed" },
|
{ MFX_ERR_DEVICE_FAILED, AVERROR(EIO), "device failed" },
|
||||||
|
{ MFX_ERR_GPU_HANG, AVERROR(EIO), "GPU Hang" },
|
||||||
|
{ MFX_ERR_REALLOC_SURFACE, AVERROR_UNKNOWN, "need bigger surface for output" },
|
||||||
{ MFX_ERR_INCOMPATIBLE_AUDIO_PARAM, AVERROR(EINVAL), "incompatible audio parameters" },
|
{ MFX_ERR_INCOMPATIBLE_AUDIO_PARAM, AVERROR(EINVAL), "incompatible audio parameters" },
|
||||||
{ MFX_ERR_INVALID_AUDIO_PARAM, AVERROR(EINVAL), "invalid audio parameters" },
|
{ MFX_ERR_INVALID_AUDIO_PARAM, AVERROR(EINVAL), "invalid audio parameters" },
|
||||||
|
|
||||||
@ -137,6 +139,10 @@ static const struct {
|
|||||||
{ MFX_WRN_OUT_OF_RANGE, 0, "value out of range" },
|
{ MFX_WRN_OUT_OF_RANGE, 0, "value out of range" },
|
||||||
{ MFX_WRN_FILTER_SKIPPED, 0, "filter skipped" },
|
{ MFX_WRN_FILTER_SKIPPED, 0, "filter skipped" },
|
||||||
{ MFX_WRN_INCOMPATIBLE_AUDIO_PARAM, 0, "incompatible audio parameters" },
|
{ MFX_WRN_INCOMPATIBLE_AUDIO_PARAM, 0, "incompatible audio parameters" },
|
||||||
|
|
||||||
|
#if QSV_VERSION_ATLEAST(1, 31)
|
||||||
|
{ MFX_ERR_NONE_PARTIAL_OUTPUT, 0, "partial output" },
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -100,6 +100,8 @@ static const struct {
|
|||||||
{ MFX_ERR_INVALID_VIDEO_PARAM, AVERROR(EINVAL), "invalid video parameters" },
|
{ MFX_ERR_INVALID_VIDEO_PARAM, AVERROR(EINVAL), "invalid video parameters" },
|
||||||
{ MFX_ERR_UNDEFINED_BEHAVIOR, AVERROR_BUG, "undefined behavior" },
|
{ MFX_ERR_UNDEFINED_BEHAVIOR, AVERROR_BUG, "undefined behavior" },
|
||||||
{ MFX_ERR_DEVICE_FAILED, AVERROR(EIO), "device failed" },
|
{ MFX_ERR_DEVICE_FAILED, AVERROR(EIO), "device failed" },
|
||||||
|
{ MFX_ERR_GPU_HANG, AVERROR(EIO), "GPU Hang" },
|
||||||
|
{ MFX_ERR_REALLOC_SURFACE, AVERROR_UNKNOWN, "need bigger surface for output" },
|
||||||
{ MFX_ERR_INCOMPATIBLE_AUDIO_PARAM, AVERROR(EINVAL), "incompatible audio parameters" },
|
{ MFX_ERR_INCOMPATIBLE_AUDIO_PARAM, AVERROR(EINVAL), "incompatible audio parameters" },
|
||||||
{ MFX_ERR_INVALID_AUDIO_PARAM, AVERROR(EINVAL), "invalid audio parameters" },
|
{ MFX_ERR_INVALID_AUDIO_PARAM, AVERROR(EINVAL), "invalid audio parameters" },
|
||||||
|
|
||||||
@ -112,6 +114,10 @@ static const struct {
|
|||||||
{ MFX_WRN_OUT_OF_RANGE, 0, "value out of range" },
|
{ MFX_WRN_OUT_OF_RANGE, 0, "value out of range" },
|
||||||
{ MFX_WRN_FILTER_SKIPPED, 0, "filter skipped" },
|
{ MFX_WRN_FILTER_SKIPPED, 0, "filter skipped" },
|
||||||
{ MFX_WRN_INCOMPATIBLE_AUDIO_PARAM, 0, "incompatible audio parameters" },
|
{ MFX_WRN_INCOMPATIBLE_AUDIO_PARAM, 0, "incompatible audio parameters" },
|
||||||
|
|
||||||
|
#if QSV_VERSION_ATLEAST(1, 31)
|
||||||
|
{ MFX_ERR_NONE_PARTIAL_OUTPUT, 0, "partial output" },
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static int qsv_map_error(mfxStatus mfx_err, const char **desc)
|
static int qsv_map_error(mfxStatus mfx_err, const char **desc)
|
||||||
|
Loading…
Reference in New Issue
Block a user