va: h264enc: Do not use USAGE_HINT_ENCODER for input pool.
authorHe Junyan <junyan.he@intel.com>
Fri, 1 Apr 2022 14:47:07 +0000 (22:47 +0800)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Sat, 2 Apr 2022 06:23:03 +0000 (06:23 +0000)
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>

subprojects/gst-plugins-bad/sys/va/gstvah264enc.c

index a40f8a4..b514c3b 100644 (file)
@@ -3144,7 +3144,7 @@ _get_sinkpad_pool (GstVaH264Enc * self)
 {
   GstAllocator *allocator;
   GstAllocationParams params = { 0, };
-  guint size, usage_hint = VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER;
+  guint size, usage_hint = 0;
   GArray *surface_formats = NULL;
   GstCaps *caps;
 
@@ -3691,7 +3691,7 @@ gst_va_h264_enc_propose_allocation (GstVideoEncoder * venc, GstQuery * query)
   GstCaps *caps;
   GstVideoInfo info;
   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);
   if (!caps)