gstreamer/subprojects/gst-plugins-base/gst
Julien Isorce 94d74c8900 debug: add new element fakevideodec
The fake video decoder ignores input bitstream except
to enforce caps restrictions. It reads video width,
height and framerate from caps. Then it just pushes
video frames without doing any decoding.

The fake video decoder just draws a snake moving from
left to right in the middle of the frame. This is a
light weight drawing while it still provides an idea
about how smooth is the rendering.

The fake video decoder inherits from GstVideoDecoder.
It is useful to measure how smooth will be the whole
rendering pipeline if you had the most efficient video
decoder. Also useful to bisect issues for example when
suspecting issues in a specific video decoder.

Handles mpeg2, mpeg4, h263, h264, theora, vp8, wmv3, msmpeg,
flash-video, vp6, vp9, wmv1, wmv2, divx but more can be
added if needed.

For now it can only output RGBA, RGBx, BGRA, BGRx.

Its rank is 0 (none) but I added a property to change it so
that it can be selected by decodebin.

gst-launch-1.0 fakevideodec rank=512 \
  playbin uri=http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4

http://bugzilla.gnome.org/show_bug.cgi?id=723778

Closes #679

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5636>
2023-11-17 15:57:46 +00:00
..
adder meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
app meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
audioconvert audioconvert: Fix fallback to identity mixing matrix when setting an empty mix-matrix 2023-10-27 10:07:40 +00:00
audiomixer meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
audiorate meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
audioresample audioconvert, audioresample, audiofilter: fix divide by 0 for input buffer without caps 2022-11-26 08:47:49 +00:00
audiotestsrc audiotestsrc: Initialize all samples in wave=ticks mode 2023-04-22 08:44:02 +00:00
compositor meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
debugutils debug: add new element fakevideodec 2023-11-17 15:57:46 +00:00
dsd dsd: Add code for DSD audio support 2023-06-23 01:27:03 +00:00
encoding encodebin: Plug a parser before timestamper 2023-05-22 15:10:52 +00:00
gio gio: Drop some trailing whitespace in giobasesink 2023-10-04 12:56:03 +00:00
overlaycomposition video-filters: Fix passthrough with ANY caps feature 2023-10-03 21:13:00 +00:00
pbtypes meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
playback decodebin3: Tidy-up dispose function 2023-11-06 13:07:54 +00:00
rawparse video: Add arbitrary tile dimensions support 2022-11-18 22:59:29 +00:00
subparse subparse: Skip after the end of a valid closing tag instead of only skipping < 2023-06-20 09:06:44 +01:00
tcp meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
typefind typefindfunctions: Increase xml typefinder closing brace limit 2023-03-29 17:50:20 +00:00
videoconvertscale video-filters: Fix passthrough with ANY caps feature 2023-10-03 21:13:00 +00:00
videorate videorate: log when rolling back previous caps 2023-10-04 14:19:37 +00:00
videotestsrc videotestsrc: fix max value for timestamp-offset 2023-09-28 17:32:36 +00:00
volume volume: support arbitrarily-large positive gains 2023-08-07 13:17:45 +00:00
meson.build debug: add new element fakevideodec 2023-11-17 15:57:46 +00:00