- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My decoder outputs a mfxFrameSurface1* (MFX_IOPATTERN_OUT_VIDEO_MEMORY) . Feeding one Encoder is simple and you basically just feed the mfxFrameSurface1* and off you go.
However since a session only supports one decoder/encoder/vpp adding another decoder to consume the mfxFrameSurface1* is not possible as I understand it.
I tried feeding the mfxFrameSurface1* to multiple encoders but then I get ->
intel_transcoder: /opt/src/msdk/_studio/mfx_lib/shared/src/mfx_h264_encode_vaapi.cpp:3026: virtual mfxStatus MfxHwH264Encode::VAAPIEncoder::Execute(mfxHDLPair, const MfxHwH264Encode::DdiTask&, mfxU32, const MfxHwH264Encode::PreAllocatedVector&): Assertion `0x00000000 == vaSts' failed.
I guess it's due to the other encoders are using the same buffer in other sessions.
So I realise the 'problem' is that i need som kind of buffer management between the Producer (decoder) and Consumers (Encoder / VPP).
Is there a copy mfxFrameSurface1*?
I've looked at the multi-transcode sample but it's several 100kb of code and just too complex to understand for me what it's doing and there is no 'simple' multi_transcode example available that i've found.
My system is :
Ubuntu 20.04
bva info: VA-API version 1.10.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_9
libva info: va_openDriver() returns 0
MSDK 1.34
Is there a simple up to date information about how to feed multiple consumers a mfxFrameSurface1* that resides in the video memory?
Thanks for helping,
/Anders
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I meant to write -> "adding another encoder to consume the mfxFrameSurface1* is not possible as I understand it."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We are forwarding your case to Subject matter Experts.
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Anders,
Sorry for the late response. There seem to be 2 questions: multiple session and memory locking. Media SDK don't have specific memory locking APIs, so the general memory management should work.
For multi-session, would following document be helpful?
https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#multiple-sessions
Mark
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Anders,
Did my answer solved your question?
Mark
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page