static void gst_vp8_enc_class_init (GstVP8EncClass * klass) { GObjectClass *gobject_class; GstBaseVideoEncoderClass *base_video_encoder_class; gobject_class = G_OBJECT_CLASS (klass); base_video_encoder_class = GST_BASE_VIDEO_ENCODER_CLASS (klass); gobject_class->set_property = gst_vp8_enc_set_property; gobject_class->get_property = gst_vp8_enc_get_property; gobject_class->finalize = gst_vp8_enc_finalize; base_video_encoder_class->start = gst_vp8_enc_start; base_video_encoder_class->stop = gst_vp8_enc_stop; base_video_encoder_class->handle_frame = gst_vp8_enc_handle_frame; base_video_encoder_class->set_format = gst_vp8_enc_set_format; base_video_encoder_class->finish = gst_vp8_enc_finish; base_video_encoder_class->shape_output = gst_vp8_enc_shape_output; base_video_encoder_class->get_caps = gst_vp8_enc_get_caps; g_object_class_install_property (gobject_class, PROP_BITRATE, g_param_spec_int ("bitrate", "Bit rate", "Bit rate", 0, 1000000000, DEFAULT_BITRATE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_MODE, g_param_spec_enum ("mode", "Mode", "Mode", GST_VP8_ENC_MODE_TYPE, DEFAULT_MODE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_QUALITY, g_param_spec_double ("quality", "Quality", "Quality", 0, 10.0, DEFAULT_QUALITY, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_ERROR_RESILIENT, g_param_spec_boolean ("error-resilient", "Error Resilient", "Encode streams that are error resilient", DEFAULT_ERROR_RESILIENT, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_MAX_LATENCY, g_param_spec_int ("max-latency", "Max latency", "Number of frames in encoder queue", 0, 25, DEFAULT_MAX_LATENCY, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_MAX_KEYFRAME_DISTANCE, g_param_spec_int ("max-keyframe-distance", "Maximum Key frame distance", "Maximum distance between key frames", 0, 9999, DEFAULT_MAX_KEYFRAME_DISTANCE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_SPEED, g_param_spec_int ("speed", "Speed", "Speed", 0, 2, DEFAULT_SPEED, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_THREADS, g_param_spec_int ("threads", "Threads", "Threads", 1, 64, DEFAULT_THREADS, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_MULTIPASS_MODE, g_param_spec_enum ("multipass-mode", "Multipass Mode", "Multipass encode mode", GST_VP8_ENC_MULTIPASS_MODE_TYPE, DEFAULT_MULTIPASS_MODE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_MULTIPASS_CACHE_FILE, g_param_spec_string ("multipass-cache-file", "Multipass Cache File", "Multipass cache file", DEFAULT_MULTIPASS_CACHE_FILE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_AUTO_ALT_REF_FRAMES, g_param_spec_boolean ("auto-alt-ref-frames", "Auto Alt Ref Frames", "Automatically create alternative reference frames", DEFAULT_AUTO_ALT_REF_FRAMES, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); GST_DEBUG_CATEGORY_INIT (gst_vp8enc_debug, "vp8enc", 0, "VP8 Encoder"); }
static void gst_vp8_enc_class_init (GstVP8EncClass * klass) { GObjectClass *gobject_class; GstBaseVideoEncoderClass *base_video_encoder_class; gobject_class = G_OBJECT_CLASS (klass); base_video_encoder_class = GST_BASE_VIDEO_ENCODER_CLASS (klass); gobject_class->set_property = gst_vp8_enc_set_property; gobject_class->get_property = gst_vp8_enc_get_property; gobject_class->finalize = gst_vp8_enc_finalize; base_video_encoder_class->start = gst_vp8_enc_start; base_video_encoder_class->stop = gst_vp8_enc_stop; base_video_encoder_class->handle_frame = gst_vp8_enc_handle_frame; base_video_encoder_class->set_format = gst_vp8_enc_set_format; base_video_encoder_class->finish = gst_vp8_enc_finish; base_video_encoder_class->shape_output = gst_vp8_enc_shape_output; base_video_encoder_class->event = gst_vp8_enc_sink_event; g_object_class_install_property (gobject_class, PROP_BITRATE, g_param_spec_int ("bitrate", "Bit rate", "Bit rate (in bits/sec)", 0, 1000000000, DEFAULT_BITRATE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_MODE, g_param_spec_enum ("mode", "Mode", "Mode", GST_VP8_ENC_MODE_TYPE, DEFAULT_MODE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_MINSECTION_PCT, g_param_spec_uint ("minsection-pct", "minimum percentage allocation per section", "The numbers represent a percentage of the average allocation per section (frame)", 0, 20, DEFAULT_MINSECTION_PCT, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_MAXSECTION_PCT, g_param_spec_uint ("maxsection-pct", "maximum percentage allocation per section", "The numbers represent a percentage of the average allocation per section (frame)", 200, 800, DEFAULT_MAXSECTION_PCT, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_MIN_QUANTIZER, g_param_spec_int ("min-quantizer", "Minimum quantizer", "Minimum (best) quantizer", 0, 63, DEFAULT_MIN_QUANTIZER, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_MAX_QUANTIZER, g_param_spec_int ("max-quantizer", "Maximum quantizer", "Maximum (worst) quantizer", 0, 63, DEFAULT_MAX_QUANTIZER, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_QUALITY, g_param_spec_double ("quality", "Quality", "Quality. This parameter sets a constant quantizer.", 0, 10.0, DEFAULT_QUALITY, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_ERROR_RESILIENT, g_param_spec_boolean ("error-resilient", "Error Resilient", "Encode streams that are error resilient", DEFAULT_ERROR_RESILIENT, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_MAX_LATENCY, g_param_spec_int ("max-latency", "Max latency", "Number of frames in encoder queue", 0, 25, DEFAULT_MAX_LATENCY, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_MAX_KEYFRAME_DISTANCE, g_param_spec_int ("max-keyframe-distance", "Maximum Key frame distance", "Maximum distance between key frames", 0, 9999, DEFAULT_MAX_KEYFRAME_DISTANCE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_SPEED, g_param_spec_int ("speed", "Speed", "Speed", 0, 7, DEFAULT_SPEED, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_THREADS, g_param_spec_int ("threads", "Threads", "Threads", 1, 64, DEFAULT_THREADS, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_MULTIPASS_MODE, g_param_spec_enum ("multipass-mode", "Multipass Mode", "Multipass encode mode", GST_VP8_ENC_MULTIPASS_MODE_TYPE, DEFAULT_MULTIPASS_MODE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_MULTIPASS_CACHE_FILE, g_param_spec_string ("multipass-cache-file", "Multipass Cache File", "Multipass cache file", DEFAULT_MULTIPASS_CACHE_FILE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_AUTO_ALT_REF_FRAMES, g_param_spec_boolean ("auto-alt-ref-frames", "Auto Alt Ref Frames", "Automatically create alternative reference frames", DEFAULT_AUTO_ALT_REF_FRAMES, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_LAG_IN_FRAMES, g_param_spec_uint ("lag-in-frames", "Max number of frames to lag", "If set, this value allows the encoder to consume a number of input " "frames before producing output frames.", 0, 64, DEFAULT_LAG_IN_FRAMES, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_SHARPNESS, g_param_spec_int ("sharpness", "Sharpness", "Sharpness", 0, 7, DEFAULT_SHARPNESS, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_NOISE_SENSITIVITY, g_param_spec_int ("noise-sensitivity", "Noise Sensitivity", "Noise Sensitivity", 0, 6, DEFAULT_NOISE_SENSITIVITY, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_TUNE, g_param_spec_enum ("tune", "Tune", "Tune", GST_VP8_ENC_TUNE_TYPE, DEFAULT_TUNE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_STATIC_THRESHOLD, g_param_spec_int ("static-threshold", "Static Threshold", "Static Threshold", 0, 1000, DEFAULT_STATIC_THRESHOLD, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_DROP_FRAME, g_param_spec_int ("drop-frame", "Drop Frame", "Drop Frame", 0, 100, DEFAULT_DROP_FRAME, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_RESIZE_ALLOWED, g_param_spec_boolean ("resize-allowed", "Resize Allowed", "Resize Allowed", DEFAULT_RESIZE_ALLOWED, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); g_object_class_install_property (gobject_class, PROP_TOKEN_PARTS, g_param_spec_int ("token-parts", "Token Parts", "Token Parts", 0, 3, DEFAULT_TOKEN_PARTS, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS))); GST_DEBUG_CATEGORY_INIT (gst_vp8enc_debug, "vp8enc", 0, "VP8 Encoder"); }