gstreamer-media-SDK
gstreamer-media-SDK copied to clipboard
gstmfxfilter.c:274:gst_mfx_filter_prepare: Unable to query VPP allocation request -15
the following command works on i7-7700HQ, but not on J1900:
gst-launch-1.0 filesrc location=input.h264 ! h264parse ! mfxh264dec ! autovideoconvert ! simplevideomark ! fakesink
errors on J1900:
0:00:00.290986133 10468 0000000003C54180 ERROR mfx gstmfxfilter.c:274:gst_mfx_filter_prepare: Unable to query VPP allocation request -15
0:00:00.306609821 10468 0000000003C54180 ERROR mfx gstmfxfilter.c:1086:gst_mfx_filter_start: Error initializing MFX VPP -15
0:00:00.306804381 10468 0000000003C54180 ERROR mfxvpp gstmfxpostproc.c:828:gst_mfxpostproc_transform: failed to apply VPP (error 2)
ERROR: from element /GstPipeline:pipeline0/GstH264Parse:h264parse0: Internal data stream error.
Additional debug info:
gstbaseparse.c(3598): gst_base_parse_loop (): /GstPipeline:pipeline0/GstH264Parse:h264parse0:
streaming stopped, reason error (-5)
ERROR: pipeline doesn't want to preroll.
0:00:00.308677278 10468 0000000003C54180 ERROR mfx gstmfxfilter.c:1086:gst_mfx_filter_start: Error initializing MFX VPP -15
0:00:00.308837535 10468 0000000003C54180 ERROR mfxvpp gstmfxpostproc.c:828:gst_mfxpostproc_transform: failed to apply VPP (error 2)
0:00:00.309025439 10468 0000000003C54180 ERROR mfx gstmfxfilter.c:1086:gst_mfx_filter_start: Error initializing MFX VPP -15
0:00:00.309148831 10468 0000000003C54180 ERROR mfxvpp gstmfxpostproc.c:828:gst_mfxpostproc_transform: failed to apply VPP (error 2)
0:00:00.309547679 10468 0000000003C54180 ERROR mfx gstmfxfilter.c:1086:gst_mfx_filter_start: Error initializing MFX VPP -15
0:00:00.309785759 10468 0000000003C54180 ERROR mfxvpp gstmfxpostproc.c:828:gst_mfxpostproc_transform: failed to apply VPP (error 2)
0:00:00.310099615 10468 0000000003C54180 ERROR mfx gstmfxfilter.c:1086:gst_mfx_filter_start: Error initializing MFX VPP -15
0:00:00.310240927 10468 0000000003C54180 ERROR mfxvpp gstmfxpostproc.c:828:gst_mfxpostproc_transform: failed to apply VPP (error 2)
simplevideomark
is an element of libgstvideosignal
This could be the result of a new VPP output format and other optimizations introduced by the following commits:
https://github.com/ishmael1985/gstreamer-media-SDK/commit/9c94f2f54db9c40da7d55442d1c6b54446b490f6 https://github.com/ishmael1985/gstreamer-media-SDK/commit/4f533bb108db3cc480ea62c7a8d7f7dc03e3f4ec
With newer systems such from Haswell onwards, YUY2 output format is supported. Baytrail (J1900) and Ivybridge I suspect doesn't have such support, so unless a newer driver which allows the feature to be supported, you should force the caps:
gst-launch-1.0 filesrc location=input.h264 ! h264parse ! mfxh264dec ! video/x-raw, format=NV12 ! autovideoconvert ! simplevideomark ! fakesink
You can also try the following to get better performance but it might not work on the J1900:
gst-launch-1.0 filesrc location=input.h264 ! h264parse ! mfxh264dec ! video/x-raw, format=NV12 ! mfxvpp ! simplevideomark ! fakesink
I've tried the new commandline. Same erros.
First one or second one? First one at least should have no errors.
Also you can try to install the latest drivers to see if it resolves your issue.
https://downloadcenter.intel.com/download/27417/Intel-Graphics-Driver-for-Windows-15-33-?product=85552
Pls let me know what you get.
same errors, and I let it output warnings as following.
gst-launch-1.0 filesrc location=input.h264 ! h264parse ! mfxh264dec ! video/x-raw, format=NV12 ! autovideoconvert ! simplevideomark ! fakesink
0:00:00.246266494 8044 0000000003C5F690 WARN autoconvert gstautoconvert.c:1046:gst_auto_convert_sink_query:<autoconvertchild> Got query context while no element was selected, letting through
0:00:00.247388799 8044 0000000003C5F690 WARN basesrc gstbasesrc.c:3480:gst_base_src_start_complete:<filesrc0> pad not activated yet
0:00:00.313710241 8044 0000000003C5C180 ERROR mfx gstmfxfilter.c:274:gst_mfx_filter_prepare: Unable to query VPP allocation request -15
0:00:00.313966241 8044 0000000003C5C180 WARN basetransform gstbasetransform.c:1353:gst_base_transform_setcaps:<mfxpostproc0> FAILED to configure incaps video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)24000/1001 and outcaps video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)24000/1001
0:00:00.349995700 8044 0000000003C5C180 ERROR mfx gstmfxfilter.c:1086:gst_mfx_filter_start: Error initializing MFX VPP -15
0:00:00.350152884 8044 0000000003C5C180 ERROR mfxvpp gstmfxpostproc.c:828:gst_mfxpostproc_transform: failed to apply VPP (error 2)
0:00:00.350292148 8044 0000000003C5C180 WARN baseparse gstbaseparse.c:3598:gst_base_parse_loop:<h264parse0> error: Internal data stream error.
0:00:00.350410420 8044 0000000003C5C180 WARN baseparse gstbaseparse.c:3598:gst_base_parse_loop:<h264parse0> error: streaming stopped, reason error (-5)
ERROR: from element /GstPipeline:pipeline0/GstH264Parse:h264parse0: Internal data stream error.
Additional debug info:
gstbaseparse.c(3598): gst_base_parse_loop (): /GstPipeline:pipeline0/GstH264Parse:h264parse0:
streaming stopped, reason error (-5)
ERROR: pipeline doesn't want to preroll.
0:00:00.354986166 8044 0000000003C5C180 ERROR mfx gstmfxfilter.c:1086:gst_mfx_filter_start: Error initializing MFX VPP -15
0:00:00.355133622 8044 0000000003C5C180 ERROR mfxvpp gstmfxpostproc.c:828:gst_mfxpostproc_transform: failed to apply VPP (error 2)
0:00:00.355314358 8044 0000000003C5C180 ERROR mfx gstmfxfilter.c:1086:gst_mfx_filter_start: Error initializing MFX VPP -15
0:00:00.355439798 8044 0000000003C5C180 ERROR mfxvpp gstmfxpostproc.c:828:gst_mfxpostproc_transform: failed to apply VPP (error 2)
And I've tried replacing autovideoconvert
with videoconvert
. it works!
It seems autovideoconvert invokes mfxvpp to perform the NV12 ->YUY2 conversion, which the J1900 unfortunately doesn't support. Have you tried with the latest driver?
the last two comment above were tested under the latest driver.
That's bad. GST-MFX doesn't yet have a mechanism to determine the hardware support for colorspace conversion before finalizing the output caps. From Haswell onwards, NV12->YUY2 is supported and I enabled it for performance reasons. Can you help confirm to me what other platforms you test to get this error? Then I can work on a way to disable it for those platforms (Baytrail, Ivybridge, etc.).
I'am glad to help you. But, it's a pity that I have only Baytrail, Braswell and Kabylake. And only Baytrail runs with the error.
Thanks as well for your feedback :) It's fine. I can't just disable YUY2 output format support unless I am sure which hardware doesn't support it. I assume that 3rd gen Intel HD graphics (Baytrail, Ivybridge with HD 4000) doesn't support YUY2 output format in video / system memory. While you confirmed it for Baytrail, I need to confirm it for Ivybridge as well before I do something about it.
Also if you do have have the time to test, can HEVC Main 10 decode work on Braswell? You can get some samples here: https://kodi.wiki/view/Samples