It might be an “old†version of Intel Media SDK runtime but still it is expected that software is running fine in older environments as well.
MFXVideoVPP_Reset
API is available since SDK API 1.0, there is nothing new with it. In certain scenario I use the API to change resolution of the processed video and
I respectively update mfxVideoParam
structure then MFXVideoVPP_Reset
, MFXVideoVPP_Query
, MFXVideoVPP_QueryIOSurf
all succeed – nice.
The system is an i7-3571U laptop, that is equipped with Intel 3rd Gen CPU. MFX version reported is 1.11.
When the reset sequence succeeds as expected, however further MFXVideoVPP_GetVideoParam
reports unchanged properties… Hey, come on!
I quote below feedback from Intel I just found on a seemingly similar matter, enjoy:
for some algorithm,
MFXVideoVPP_Reset
is not supported, and it will returnMFX_ERR_NONE
but no effect.
you can try replaceMFXVideoVPP_Reset
withMFXVideoVPP_Close
&MFXVideoVPP_Init
to make it work.
Just for the record the runtime there is producing weird D3D11 errors with a pretty straightforward texture scaling operation:
D3D11_VIDEO_PROCESSOR_DEVICE_CAPS:
RateConversionCapsCount: 1
MaxInputStreams: 8
MaxStreamStates: 8
D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS: -1000 – 1000, 0, 0.100000
D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST: 0 – 1000, 100, 0.010000
D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE: -1800 – 1800, 0, 0.100000
D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION: 0 – 1000, 100, 0.010000
D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION: 0 – 64, 0, 1.000000
D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT: 0 – 64, 44, 1.000000
D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS:
CustomRateCount: 0
FutureFrames: 1
PastFrames: 1
103 is supported as input
103 is supported as output
107 is supported as input
107 is supported as output
106 is supported as input
106 is supported as output
87 is supported as input
87 is supported as output
DESCRIPTION
InputFrameFormat: 0
InputFrameRate: -16843010 -16843010
InputWidth: 352 InputHeight: 288
OutputFrameRate: -16843010 -16843010
OutputWidth: 1920 OutputHeight: 1080
Usage: 0
RATE CONV CAPS
PastFrames: 1
FutureFrames: 1
ProcessorCaps: 31
ITelecineCaps: 511
CustomRateCount: 0
D3D11_VIDEO_PROCESSOR_DEVICE_CAPS:
RateConversionCapsCount: 1
MaxInputStreams: 8
MaxStreamStates: 8
D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS: -1000 – 1000, 0, 0.100000
D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST: 0 – 1000, 100, 0.010000
D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE: -1800 – 1800, 0, 0.100000
D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION: 0 – 1000, 100, 0.010000
D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION: 0 – 64, 0, 1.000000
D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT: 0 – 64, 44, 1.000000
D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS:
CustomRateCount: 0
FutureFrames: 1
PastFrames: 1
103 is supported as input
103 is supported as output
107 is supported as input
107 is supported as output
106 is supported as input
106 is supported as output
87 is supported as input
87 is supported as output
DESCRIPTION
InputFrameFormat: 0
InputFrameRate: 50000 1000
InputWidth: 1280 InputHeight: 720
OutputFrameRate: 50000 1000
OutputWidth: 1920 OutputHeight: 1080
Usage: 0
RATE CONV CAPS
PastFrames: 1
FutureFrames: 1
ProcessorCaps: 31
ITelecineCaps: 511
CustomRateCount: 0
D3D11 ERROR: ID3D11DeviceContext::CreateVideoProcessorEnumerator: Invalid input frame rate specified. The numerator is non-zero, but the denominator is zero! [ STATE_CREATION ERROR #3145795: CREATEVIDEOPROCESSORENUMERATOR_INVALIDINPUTFRAMERATE]
1920×1080 and 1280×720 are mine, it is okay. Where the heck 352×288 comes from? With a frame rate built out of values from uninitialized memory… It is not only debug output, it is also a _com_error
E_INVALIDARG
exception in d3d11.dll, but MFX runtime plays this game internally and produces no failure on its application requested activity though.
A really good thing in Intel Media SDK in MFX_ERR_GPU_HANG
status code. “Oh yeah, it’s our bug, sorry for this”. I appreciate it.