va: filter: Add past and future frames in GstVaSample.

And add them in the pipeline structure if they are provided.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
This commit is contained in:
Víctor Manuel Jáquez Leal 2021-08-24 13:53:12 +02:00
parent 419ef31d1e
commit b13fd4f15b
2 changed files with 10 additions and 0 deletions

View file

@ -1561,6 +1561,10 @@ _create_pipeline_buffer (GstVaFilter * self, GstVaSample * src,
.output_color_standard = self->output_color_standard, .output_color_standard = self->output_color_standard,
.filters = va_filters, .filters = va_filters,
.num_filters = num_filters, .num_filters = num_filters,
.forward_references = src->forward_references,
.num_forward_references = src->num_forward_references,
.backward_references = src->backward_references,
.num_backward_references = src->num_backward_references,
.rotation_state = self->rotation, .rotation_state = self->rotation,
.mirror_state = self->mirror, .mirror_state = self->mirror,
.input_surface_flag = src->flags, .input_surface_flag = src->flags,

View file

@ -61,6 +61,12 @@ struct _GstVaSample
GstBuffer *buffer; GstBuffer *buffer;
guint32 flags; guint32 flags;
/* references for (de)interlacing */
VASurfaceID *forward_references;
guint num_forward_references;
VASurfaceID *backward_references;
guint num_backward_references;
/*< private >*/ /*< private >*/
VASurfaceID surface; VASurfaceID surface;
VARectangle rect; VARectangle rect;