videoparsers: Add vp9parse element
authorSeungha Yang <seungha@centricular.com>
Wed, 9 Sep 2020 12:38:33 +0000 (21:38 +0900)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Thu, 10 Sep 2020 14:56:52 +0000 (14:56 +0000)
commit2b152eae69cc7063e8b10df8ca2ed9325c85f2f0
tree49184c196ad275963be668c4ebf1fb5125f02c1d
parent47bbc997f885d187ada3799282d539c1da0032da
videoparsers: Add vp9parse element

Adding vp9parse element to parse various stream information such as
resolution, profile, and so on. If upstream does not provide resolution and/or
profile, this would be useful for decodebin pipeline for autoplugging
suitable decoder element depending on template caps of each decoder element.

In addition, vp9parse element supports unpacking superframe into
single frame for decoders. The vp9 superframe is a frame which consists
of multiple frames (or superframe with one frame is allowed) followed by superframe
index block. Then unpacked each frame will be considered as normal frame
by decoder. The decision for unpacking will be done by downstream element's
"alignment" caps field, which can be "super-frame" or "frame".
If downstream specifies the "alignment" as "frame",
then vp9parse element will split an incoming superframe into single frames
and the superframe index (located at the end of the superframe) data
will be discarded by vp9parse element.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1041>
docs/plugins/gst_plugins_cache.json
gst/videoparsers/gstvp9parse.c [new file with mode: 0644]
gst/videoparsers/gstvp9parse.h [new file with mode: 0644]
gst/videoparsers/meson.build
gst/videoparsers/plugin.c
tests/check/elements/vp9parse.c [new file with mode: 0644]
tests/check/elements/vp9parse.h [new file with mode: 0644]
tests/check/meson.build