What's the meaning of video/x-raw(memory:GLMemory) without texture-target?

Milian Wolff milian.wolff at kdab.com
Thu Nov 21 16:10:41 UTC 2019


Hey all,

on a Raspberry Pi 3b+ gst-inspect-1.0 shows the following src for omxh264dec:

```
      video/x-raw(memory:GLMemory)
                 format: RGBA
                  width: [ 1, 2147483647 ]
                 height: [ 1, 2147483647 ]
              framerate: [ 0/1, 2147483647/1 ]
```

Note that this is missing a texture-target specification. What kind of memory 
is this, and how can I leverage it further down? I would like to efficiently 
change video frames using an OpenGL filter. If we take gleffects-twirl as an 
example, it expects the following as sink:


```
video/x-raw(memory:GLMemory):
         format: RGBA
          width: [ 1, 2147483647 ]
         height: [ 1, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]
 texture-target: 2D
```

How can I connect the two together? If I try, to add the filter directly after 
the decoder in a pipeline, I get:

```
ERROR: from element /GstPipeline:pipeline0/GstOMXH264Dec-
omxh264dec:omxh264dec-omxh264dec0: Internal data stream error.
Additional debug info:
../../gst-omx-1.16.1/omx/gstomxvideodec.c(1927): gst_omx_video_dec_loop (): /
GstPipeline:pipeline0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0:
stream stopped, reason not-negotiated
```

Can someone sched some light on this? How can one post-process the GLMemory in 
a gl video filter? Is the missing texture-target a bug in omxh264dec, or can I 
somehow make the raw GLMemory a texture? Or does this mean the frame lives in 
some other form of non-texture memory that can be displayed, but not otherwise 
accessed by OpenGL for video filter purposes?

Thanks

PS: In case you are wondering what we are trying to achieve on a higher level:

rpicamsrc -> h264 -> omxh264dec -> glmemory -> custom gl filter to add a non-
static overlay to every frame -> tee to display sink and then also a h264-
encoded avi record sink
-- 
Milian Wolff | milian.wolff at kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH, a KDAB Group company
Tel: +49-30-521325470
KDAB - The Qt, C++ and OpenGL Experts
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3826 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20191121/da1206b3/attachment-0001.bin>


More information about the gstreamer-devel mailing list