[Bug 769266] vaapi encoder should not accept all caps

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sun Oct 9 12:28:31 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=769266

--- Comment #10 from Víctor Manuel Jáquez Leal <vjaquez at igalia.com> ---
(In reply to Scott D Phillips from comment #8)
> (In reply to Víctor Manuel Jáquez Leal from comment #7)
> > Before my vacations I worked on "a proper fix" for this issue. This are my
> > findings:
> > 
> > In Haswell, if we query the created VA context, we got these possible color
> > formats to be uploaded: NV12, I420 and YV12
> > 
> > Nonetheless, it is impossible to get those values without creating the
> > encoder context, and to create the encoder context it is mandatory to have a
> > GstVaapiContextInfo with all the sink caps. This implies to have, already,
> > the negotiated color format.
> > 
> > Thus we have an "API level dead lock": we need the VA context to get the
> > possible formats to upload, and we need to know the format to upload to
> > create the VA context.
> 
> You can get the supported surface pixel formats with just a config, not
> necessarily a context. Like ensure_formats() in gstvaapifilter.c

True. Actually, the code that gets the formats uses the config, not the
context, but still, the context and the config are coupled in GstVaapiContext
object used by the encoder.

The solution would be to create a temporal config before the context creation.

-- 
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