.height = (pad->height == DEFAULT_PAD_HEIGHT)
? GST_VIDEO_INFO_HEIGHT (&vaggpad->info) : pad->height,
},
- .flags = generator->comp->scale_method,
.alpha = pad->alpha,
};
/* *INDENT-ON* */
GST_OBJECT_LOCK (self);
+ if (!gst_va_filter_set_scale_method (self->filter, self->scale_method))
+ GST_WARNING_OBJECT (self, "couldn't set filter scale method");
+
if (!gst_va_filter_compose (self->filter, &tx)) {
GST_ERROR_OBJECT (self, "couldn't apply filter");
ret = GST_FLOW_ERROR;
/* (transfer full), unref it */
gst_buffer_unref (sample->buffer);
+ GST_OBJECT_LOCK (self);
/* *INDENT-OFF* */
params = (VAProcPipelineParameterBuffer) {
.surface = in_surface,
.surface_region = &sample->input_region,
.output_region = &sample->output_region,
.output_background_color = 0xff000000,
- .filter_flags = sample->flags,
+ .filter_flags = self->scale_method,
};
/* *INDENT-ON* */
+ GST_OBJECT_UNLOCK (self);
/* only send blend state when sample is not fully opaque */
if ((self->pipeline_caps.blend_flags & VA_BLEND_GLOBAL_ALPHA)