#include <gst/gst.h>
#include <gst/video/video.h>
#include <gst/video/gstbasevideoencoder.h>
+#include <gst/video/gstbasevideoutils.h>
#include <string.h>
#include <libdirac_encoder/dirac_encoder.h>
#include <math.h>
gst_dirac_enc_class_init (GstDiracEncClass * klass)
{
GObjectClass *gobject_class;
- GstElementClass *gstelement_class;
GstBaseVideoEncoderClass *basevideoencoder_class;
//int i;
gobject_class = G_OBJECT_CLASS (klass);
- gstelement_class = GST_ELEMENT_CLASS (klass);
basevideoencoder_class = GST_BASE_VIDEO_ENCODER_CLASS (klass);
gobject_class->set_property = gst_dirac_enc_set_property;
{
GstBuffer *outbuf;
GstFlowReturn ret;
- int presentation_frame;
int parse_code;
int state;
GstVideoFrame *frame;
dirac_enc->pull_frame_num++;
parse_code = ((guint8 *) GST_BUFFER_DATA (outbuf))[4];
- /* FIXME */
- presentation_frame = 0;
if (DIRAC_PARSE_CODE_IS_SEQ_HEADER (parse_code)) {
frame->is_sync_point = TRUE;
GstVideoFrame * frame)
{
GstDiracEnc *dirac_enc;
- int dpn;
int delay;
int dist;
int pt;
dirac_enc = GST_DIRAC_ENC (base_video_encoder);
- dpn = frame->decode_frame_number;
-
pt = frame->presentation_frame_number * 2 + dirac_enc->granule_offset;
dt = frame->decode_frame_number * 2 + dirac_enc->granule_offset;
delay = pt - dt;