[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