"GStreamer" (GNOME Bugzilla)
2017-07-07 19:15:49 UTC
https://bugzilla.gnome.org/show_bug.cgi?id=784667
Bug ID: 784667
Summary: [metabug] Add Flexible Encoding Infrastructure (FEI)
Support
Classification: Platform
Product: GStreamer
Version: git master
OS: Linux
Status: NEW
Severity: enhancement
Priority: Normal
Component: gstreamer-vaapi
Assignee: gstreamer-***@lists.freedesktop.org
Reporter: ***@gmail.com
QA Contact: gstreamer-***@lists.freedesktop.org
CC: ***@gmail.com, ***@igalia.com
GNOME version: ---
FEI(Flexible Encoding Infrastructure) is an extension to VA API which allows
applications to have more control over different phases of encoding and trade
off quality for speed with their on IPs.
The main highlight of FEI is the possibility to split the encoding process into
two phases, first is ENC and the second is PAK.
ENC is the operation which performs all motion vector calculation and
prediction.PAK is doing all transformations and entropy coding.
Without having FEI, the whole ENC+PAK is a black box to middleware, but with
FEI user can extract the output of ENC and feed PAK with a custom enhanced
motion vectors and macroblock prediction modes.
VA-API(libva):
*************************
Patches are already landed in mailing list:
https://github.com/01org/libva/pull/83
For now, we only have APIs for AVC encode
intel-vaapi-driver:
*************************
Skylake is the only platform which is supporting FEI now.
Patches are on the way.
GStreaemr-VA API
*************************
Integrating the whole FEI to GStreamer is not trivial. FEI is more useful for
customers who have their own encoder but want to offload some parts
of encoding to GPU/fixed-function hardware block for better performance.
I believe, it is better to not mess up the existing vaapih264enc which is our
primary encoder and should be good enough for normal use cases.
What changes FEI brings into gstreamer-vaapi:
There will be(minimum of) two new GStreamer elements and a bunch of test
applications needs to be implemented.
1: vaapih264feienc: (An advanced h264 encoder which can provide low-level
per macroblock tuning parameters)
2: vaapih264feipreenc: (A preprocessing element which can extract MVs and
statistics before calling encode function)
I will create two separate bugs to track the development of each.
Bug ID: 784667
Summary: [metabug] Add Flexible Encoding Infrastructure (FEI)
Support
Classification: Platform
Product: GStreamer
Version: git master
OS: Linux
Status: NEW
Severity: enhancement
Priority: Normal
Component: gstreamer-vaapi
Assignee: gstreamer-***@lists.freedesktop.org
Reporter: ***@gmail.com
QA Contact: gstreamer-***@lists.freedesktop.org
CC: ***@gmail.com, ***@igalia.com
GNOME version: ---
FEI(Flexible Encoding Infrastructure) is an extension to VA API which allows
applications to have more control over different phases of encoding and trade
off quality for speed with their on IPs.
The main highlight of FEI is the possibility to split the encoding process into
two phases, first is ENC and the second is PAK.
ENC is the operation which performs all motion vector calculation and
prediction.PAK is doing all transformations and entropy coding.
Without having FEI, the whole ENC+PAK is a black box to middleware, but with
FEI user can extract the output of ENC and feed PAK with a custom enhanced
motion vectors and macroblock prediction modes.
VA-API(libva):
*************************
Patches are already landed in mailing list:
https://github.com/01org/libva/pull/83
For now, we only have APIs for AVC encode
intel-vaapi-driver:
*************************
Skylake is the only platform which is supporting FEI now.
Patches are on the way.
GStreaemr-VA API
*************************
Integrating the whole FEI to GStreamer is not trivial. FEI is more useful for
customers who have their own encoder but want to offload some parts
of encoding to GPU/fixed-function hardware block for better performance.
I believe, it is better to not mess up the existing vaapih264enc which is our
primary encoder and should be good enough for normal use cases.
What changes FEI brings into gstreamer-vaapi:
There will be(minimum of) two new GStreamer elements and a bunch of test
applications needs to be implemented.
1: vaapih264feienc: (An advanced h264 encoder which can provide low-level
per macroblock tuning parameters)
2: vaapih264feipreenc: (A preprocessing element which can extract MVs and
statistics before calling encode function)
I will create two separate bugs to track the development of each.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.