After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 789240 - Add Multi-Frame Context support for Parallel Encode use cases
Add Multi-Frame Context support for Parallel Encode use cases
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gstreamer-vaapi
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-10-20 11:25 UTC by sreerenj
Modified: 2018-11-03 15:51 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description sreerenj 2017-10-20 11:25:29 UTC
VA-API is going to bring some new apis to support Multi-Frame processing.


Currently, Multi-frame processing is an optimization for making better hardware resource utilization in multi-stream encoding/transcoding applications.
This allows combining several jobs from different parallel pipelines inside one GPU task execution to better reuse engines that can't be loaded fully in single frame case, as well as decrease CPU overhead for task submission.

Here is the Pull Request landed in libva:https://github.com/01org/libva/pull/112

I am not sure how we could implement this in gstreamer.

These new APIs bringing the idea of a having a single "super-encoder" element which can accept multiple input streams and encode them to different formats
like one h264 and the other to hevc or multiple h264 encoded streams.

From VA-API perspective there could be 3-4 new APIs

vaCreateMFContext(VADisplay dpy, VAMFContextID *mf_context) : Create a new MultiFrameContext

vaMFAddContext (VADisplay dpy, VAMFContextID mf_context,  VAContextID context): To add an already created VAContext to the MFContext

vaMFReleaseContext (VADisplay dpy,  VAMFContextID mf_context,  VAContextID context): To release the vacontext from global context

vaMFSubmit (VADisplay dpy, VAMFContextID mf_context, VAContextID * contexts, int num_contexts): Make the end of rendering for a pictures in contexts passed with submission

vaQueryXXX: needed for checking the feature support for specific entrypoint combinations. This not not included in current PullRequest though.


Fron Intel-vaapi-driver perspective,
If a context is attached to MultiFrame Context, underlined driver won't begin the actual batchbuffer submission in vaEndPicture(), instead
it waits for the vaMFSubmit from middleware to start actual processing.
Comment 1 GStreamer system administrator 2018-11-03 15:51:41 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/71.