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 657325 - Development of bitstream parsing libraries
Development of bitstream parsing libraries
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
0.10.x
Other Linux
: Normal enhancement
: 0.10.23
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-08-25 12:06 UTC by Thibault Saunier
Modified: 2012-05-24 11:46 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Thibault Saunier 2011-08-25 12:06:35 UTC
We should create bitstream parsing libraries so we are able to share code between the different codecs. This will be useful for various usecases:
   * Hardware accelerated codecs: vdpau plugins, vaapi plugins
   * Standalone parser elements
   * In some case for the demuxers

As an example, for now, for the h264 codec we have code in various places reimplementing the bistream parsing (Vdpau plugins, standalone h264parse element,  and the gstreamer-vaapi plugins are actually using ffmpeg for the bitstream parsing). This should be implemented only 1 time and shared all around, this is what those libraries are aiming at solving.

We should focus on those main codecs:
     * Mpeg1/2
     * H.264
     * Mpeg4 part 2
     * VC1

I have a working implementation of h264 and mpeg1/2 parsing libraries available in my git repository [0]. Also, I ported the standalone parser elements to use the new libraries.


[0] http://cgit.collabora.com/git/user/tsaunier/gst-plugins-bad
Comment 1 Thibault Saunier 2011-08-25 13:02:35 UTC
The branch that is ready for review in this repo is called bitstreamparserlibs
Comment 2 David Schleef 2011-08-27 06:36:34 UTC
Any reason *not* to push this to bad?
Comment 3 Edward Hervey 2011-09-02 07:12:20 UTC
The only reason we were waiting to push this was to have it:
* properly rebased to avoid a gazillion commits [DONE]
* have API gtk-doc support enabled [DONE]
* external contributors copyright was correct and they were ok with it [DONE]
* have GST_UNSTABLE_API markers [TO BE DONE]

Once the last item is handled, I'll push it.

N.B. It will still require some minor work, but is functional and -bad allows 'unstable' APIs, so nothing was really blocking it from being pushed. The idea was to have most of the work done before pushing.
Comment 4 Edward Hervey 2012-05-24 11:46:52 UTC
Erf, this was pushed some time ago.