[Bug 790752] msdk: supports bufferpool
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Wed Dec 6 05:06:10 UTC 2017
https://bugzilla.gnome.org/show_bug.cgi?id=790752
--- Comment #44 from Hyunjun Ko <zzoon at igalia.com> ---
(In reply to Víctor Manuel Jáquez Leal from comment #38)
> Review of attachment 364991 [details] [review]:
>
> ::: sys/msdk/gstmsdkenc.c
> @@ +426,3 @@
> + thiz->can_direct_map = FALSE;
> + } else {
> + thiz->can_direct_map = TRUE;
>
> This distinction doesn't make much sense for me. That's something that shall
> be handled inside the bufferpool... am I wrong?
>
Um.. can_direct_map == TRUE flag can be used when upstream doesn't use the
proposed msdk bufferpool.
Probably I should change something about this to avoid being ambiguous.
>
> @@ +959,3 @@
> + msdk_get_free_surface (thiz->vpp_surfaces,
> thiz->num_vpp_surfaces);
> + else
> + surface = msdk_get_free_surface (thiz->surfaces,
> thiz->num_surfaces);
>
> all these free surfaces shall be handled, in my opinion, by the bufferpool,
> because this is a buffer pool.
>
> The problem here is the use of VPP... perhaps we could move that logic into
> the bufferpool.. dunno...
>
> The interesting part here it that we could reuse the input buffer avoiding a
> memcopy. For that we could use GstBufferPoolAcquireFlags in
> GstBufferPoolAcquireParams saying "don't allocate memory, just grab the
> surface"
>
> the number of surface to create are defined in
> gst_buffer_pool_config_set_params()
I agree with that we should be using another bufferpool for it.
I'll be rethinking about it.
>
> @@ +1204,3 @@
> +
> + if (need_pool) {
> + if (thiz->msdk_pool)
>
> don't reuse pool in propose_allocation(), that breaks the renegotiation.
> create one every time it is requested. **that's a bug in gstreamer-vaapi
>
Thanks for useful advice.
> @@ +1206,3 @@
> + if (thiz->msdk_pool)
> + gst_object_unref (thiz->msdk_pool);
> + thiz->msdk_pool = pool;
>
> why this assignation is needed?
That is a stupid mistake :(
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list