va: h264enc: Do not use USAGE_HINT_ENCODER for input pool.

It seems that the VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER is used only
for the recon surfaces, if we set this flags for input raw surfaces,
the alignment is wrong and we get broken result.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2100>
This commit is contained in:
He Junyan 2022-04-01 22:47:07 +08:00 committed by GStreamer Marge Bot
parent 5ba4fe690c
commit 976356e159

View file

@ -3144,7 +3144,7 @@ _get_sinkpad_pool (GstVaH264Enc * self)
{ {
GstAllocator *allocator; GstAllocator *allocator;
GstAllocationParams params = { 0, }; GstAllocationParams params = { 0, };
guint size, usage_hint = VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER; guint size, usage_hint = 0;
GArray *surface_formats = NULL; GArray *surface_formats = NULL;
GstCaps *caps; GstCaps *caps;
@ -3691,7 +3691,7 @@ gst_va_h264_enc_propose_allocation (GstVideoEncoder * venc, GstQuery * query)
GstCaps *caps; GstCaps *caps;
GstVideoInfo info; GstVideoInfo info;
gboolean need_pool = FALSE; gboolean need_pool = FALSE;
guint size, usage_hint = VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER; guint size, usage_hint = 0;
gst_query_parse_allocation (query, &caps, &need_pool); gst_query_parse_allocation (query, &caps, &need_pool);
if (!caps) if (!caps)