Encoding DMA Buf with BGRx:0x0100000000000001 in h264 using vaapi
xaterus--- via gstreamer-devel <[email protected]> Fri, 3 Nov 2023 15:46:26 +0100
| Newsgroups | gmane.comp.video.gstreamer.devel |
|---|---|
| Message-ID | <CAOYSOcCF-C+f6jE3Dm8dxdGrqPqn1eO+venqF82=G339txtKDg@mail.gmail.com> |
With great interest I have read this article about Gstreamer DMABuf
modifier negotiation in
GStreamer(https://blogs.igalia.com/vjaquez/2023/08/08/dmabuf-modifier-negotiation-in-gstreamer/).
So I want to encode an DMA Buf with the format BGRx:0x0100000000000001
into a h264 video stream using the VAAPI with the GStreamer VA Plugin.
Using gst-inspect on vah264enc I can see I need to convert it to:
video/x-raw(memory:DMABuf)
width: [ 32, 4096 ]
height: [ 32, 4096 ]
format: DMA_DRM
drm-format: NV12:0x0100000000000002
So I thought about using vapostproc to convert it. So using
gst-inspect again I found out that: the src pad of vapostproc supports
NV12:0x0100000000000002 (memory:DMABuf) which is great. But the sink
pad does not support BGRx:0x0100000000000001.
Now I ask myself, is it my hardware that does not support the
conversion between BGRx:0x010000000000000001 and
NV12:0x010000000000000002, or is it Intel VAAPI or the gstreamer va
plugin? Does the gstreamer va plugin support all hardware
capabilities?
Also is there any other method to convert a DMA Buffer with
BGRx:0x0100000000000001 with gstreamer in h264?
Yours sincerely
Michael