GstAV1SequenceHeaderOBU seq;
gint max_width;
gint max_height;
-
- gboolean need_negotiation;
};
static GstElementClass *parent_class = NULL;
GstCapsFeatures *capsfeatures = NULL;
/* Ignore downstream renegotiation request. */
- if (!self->need_negotiation)
+ if (!base->need_negotiation)
return TRUE;
- self->need_negotiation = FALSE;
+ base->need_negotiation = FALSE;
/* Do not re-create the context if only the frame size changes */
if (!gst_va_decoder_config_is_equal (base->decoder, base->profile,
base->rt_format = rt_format;
self->max_width = seq_hdr->max_frame_width_minus_1 + 1;
self->max_height = seq_hdr->max_frame_height_minus_1 + 1;
- self->need_negotiation = TRUE;
+ base->need_negotiation = TRUE;
base->min_buffers = 7 + 4; /* dpb size + scratch surfaces */
/* *INDENT-ON* */
}
- self->need_negotiation = TRUE;
+ base->need_negotiation = TRUE;
}
- if (self->need_negotiation) {
+ if (base->need_negotiation) {
if (!gst_video_decoder_negotiate (GST_VIDEO_DECODER (self))) {
GST_ERROR_OBJECT (self, "Failed to negotiate with downstream");
return GST_FLOW_NOT_NEGOTIATED;
gboolean apply_video_crop;
GstVideoConverter *convert;
+
+ gboolean need_negotiation;
};
struct _GstVaBaseDecClass
/* Used to fill VAPictureParameterBufferH264.ReferenceFrames */
GArray *ref_list;
- gboolean need_negotiation;
gboolean interlaced;
};
base->min_buffers = self->dpb_size + 4; /* dpb size + scratch surfaces */
if (negotiation_needed) {
- self->need_negotiation = TRUE;
+ base->need_negotiation = TRUE;
if (!gst_video_decoder_negotiate (GST_VIDEO_DECODER (self))) {
GST_ERROR_OBJECT (self, "Failed to negotiate with downstream");
return GST_FLOW_NOT_NEGOTIATED;
GstH264Decoder *h264dec = GST_H264_DECODER (decoder);
/* Ignore downstream renegotiation request. */
- if (!self->need_negotiation)
+ if (!base->need_negotiation)
return TRUE;
- self->need_negotiation = FALSE;
+ base->need_negotiation = FALSE;
if (gst_va_decoder_is_open (base->decoder)
&& !gst_va_decoder_close (base->decoder))
gint32 WpOffsetHalfRangeC;
struct slice prev_slice;
-
- gboolean need_negotiation;
};
static GstElementClass *parent_class = NULL;
base->min_buffers = self->dpb_size + 4; /* dpb size + scratch surfaces */
if (negotiation_needed) {
- self->need_negotiation = TRUE;
+ base->need_negotiation = TRUE;
if (!gst_video_decoder_negotiate (GST_VIDEO_DECODER (self))) {
GST_ERROR_OBJECT (self, "Failed to negotiate with downstream");
return GST_FLOW_NOT_NEGOTIATED;
GstH265Decoder *h265dec = GST_H265_DECODER (decoder);
/* Ignore downstream renegotiation request. */
- if (!self->need_negotiation)
+ if (!base->need_negotiation)
return TRUE;
- self->need_negotiation = FALSE;
+ base->need_negotiation = FALSE;
if (gst_va_decoder_is_open (base->decoder)
&& !gst_va_decoder_close (base->decoder))
GstVaBaseDec parent;
gboolean progressive;
- gboolean need_negotiation;
-
GstMpegVideoSequenceHdr seq;
};
GstMpeg2Decoder *mpeg2dec = GST_MPEG2_DECODER (decoder);
/* Ignore downstream renegotiation request. */
- if (!self->need_negotiation)
+ if (!base->need_negotiation)
return TRUE;
- self->need_negotiation = FALSE;
+ base->need_negotiation = FALSE;
if (gst_va_decoder_is_open (base->decoder)
&& !gst_va_decoder_close (base->decoder))
base->min_buffers = 2 + 4; /* max num pic references + scratch surfaces */
if (negotiation_needed) {
- self->need_negotiation = TRUE;
+ base->need_negotiation = TRUE;
if (!gst_video_decoder_negotiate (GST_VIDEO_DECODER (self))) {
GST_ERROR_OBJECT (self, "Failed to negotiate with downstream");
return GST_FLOW_NOT_NEGOTIATED;
GstVaBaseDec parent;
GstFlowReturn last_ret;
-
- gboolean need_negotiation;
};
static GstElementClass *parent_class = NULL;
GstVp8Decoder *vp8dec = GST_VP8_DECODER (decoder);
/* Ignore downstream renegotiation request. */
- if (!self->need_negotiation)
+ if (!base->need_negotiation)
return TRUE;
- self->need_negotiation = FALSE;
+ base->need_negotiation = FALSE;
if (gst_va_decoder_is_open (base->decoder)
&& !gst_va_decoder_close (base->decoder))
base->min_buffers = 3 + 4; /* max num pic references + scratch surfaces */
if (negotiation_needed) {
- self->need_negotiation = TRUE;
+ base->need_negotiation = TRUE;
if (!gst_video_decoder_negotiate (GST_VIDEO_DECODER (self))) {
GST_ERROR_OBJECT (self, "Failed to negotiate with downstream");
return GST_FLOW_NOT_NEGOTIATED;
{
GstVaBaseDec parent;
GstVp9Segmentation segmentation[GST_VP9_MAX_SEGMENTS];
-
- gboolean need_negotiation;
};
static GstElementClass *parent_class = NULL;
base->min_buffers = GST_VP9_REF_FRAMES;
if (negotiation_needed) {
- self->need_negotiation = TRUE;
+ base->need_negotiation = TRUE;
if (!gst_video_decoder_negotiate (GST_VIDEO_DECODER (self))) {
GST_ERROR_OBJECT (self, "Failed to negotiate with downstream");
return GST_FLOW_NOT_NEGOTIATED;
base->width = frame_hdr->width;
base->height = frame_hdr->height;
- self->need_negotiation = TRUE;
+ base->need_negotiation = TRUE;
if (!gst_video_decoder_negotiate (GST_VIDEO_DECODER (self))) {
GST_ERROR_OBJECT (self, "Resolution changed, but failed to"
" negotiate with downstream");
gboolean need_open;
/* Ignore downstream renegotiation request. */
- if (!self->need_negotiation)
+ if (!base->need_negotiation)
return TRUE;
- self->need_negotiation = FALSE;
+ base->need_negotiation = FALSE;
need_open = TRUE;
/* VP9 profile entry should have the ability to handle dynamical