vaapidecodebin tee output

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

vaapidecodebin tee output

Gerald Hansink
hi,

is it possible to "tee" the "vaapi surface" output of "vaapidecodebin" to link 1 branch
to "vaapisink" and the other to "vaapipostproc"?

thanks


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: vaapidecodebin tee output

Victor Jaquez
On Mon, 10 Feb 2020 at 15:54, Gerald Hansink wrote:
> hi,
>
> is it possible to "tee" the "vaapi surface" output of "vaapidecodebin" to
> link 1 branch
> to "vaapisink" and the other to "vaapipostproc"?

It depends. For example this one seems to work (I tested it with
https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/100
merged):

gst-launch-1.0 filesrc location=test.mp4 ! qtdemux ! h264parse ! \
  vaapidecodebin ! tee name=t ! queue ! xvimagesink \
  t. ! queue ! fakesink

Queues are mandatory otherwise you get a deadlock. And it's still very fragile.

Rendering context restricts a lot what you can do with surfaces bounded to one
of them.

The safest options would be to copy the frame onto a system memory video frame.

>
> thanks

> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: vaapidecodebin tee output

Wolfgang Grandegger
Hello,

Am 10.02.20 um 17:12 schrieb Víctor Jáquez:

> On Mon, 10 Feb 2020 at 15:54, Gerald Hansink wrote:
>> hi,
>>
>> is it possible to "tee" the "vaapi surface" output of "vaapidecodebin" to
>> link 1 branch
>> to "vaapisink" and the other to "vaapipostproc"?
>
> It depends. For example this one seems to work (I tested it with
> https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/100
> merged):
>
> gst-launch-1.0 filesrc location=test.mp4 ! qtdemux ! h264parse ! \
>   vaapidecodebin ! tee name=t ! queue ! xvimagesink \
>   t. ! queue ! fakesink

For that pipeline I thought "vaapisink" is the best choice. What's the
difference/benefits of "xvimagesink".

Thanks,

Wolfgang
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel