static void gst_ffmpegvidenc_init (GstFFMpegVidEnc * ffmpegenc) { GstFFMpegVidEncClass *klass = (GstFFMpegVidEncClass *) G_OBJECT_GET_CLASS (ffmpegenc); GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_ENCODER_SINK_PAD (ffmpegenc)); /* ffmpeg objects */ ffmpegenc->context = avcodec_alloc_context3 (klass->in_plugin); ffmpegenc->picture = av_frame_alloc (); ffmpegenc->opened = FALSE; ffmpegenc->file = NULL; ffmpegenc->bitrate = DEFAULT_VIDEO_BITRATE; ffmpegenc->me_method = ME_EPZS; ffmpegenc->buffer_size = 512 * 1024; ffmpegenc->gop_size = DEFAULT_VIDEO_GOP_SIZE; ffmpegenc->rtp_payload_size = 0; ffmpegenc->compliance = FFMPEG_DEFAULT_COMPLIANCE; ffmpegenc->max_threads = 0; ffmpegenc->lmin = 2; ffmpegenc->lmax = 31; ffmpegenc->max_key_interval = 0; gst_ffmpeg_cfg_set_defaults (ffmpegenc); }
static void gst_openjpeg_enc_init (GstOpenJPEGEnc * self) { GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_ENCODER_SINK_PAD (self)); opj_set_default_encoder_parameters (&self->params); self->params.cp_fixed_quality = 1; self->params.cp_disto_alloc = 0; self->params.cp_fixed_alloc = 0; /* * TODO: Add properties / caps fields for these * * self->params.csty; * self->params.tcp_rates; * self->params.tcp_distoratio; * self->params.mode; * self->params.irreversible; * self->params.cp_cinema; * self->params.cp_rsiz; */ self->params.tcp_numlayers = DEFAULT_NUM_LAYERS; self->params.numresolution = DEFAULT_NUM_RESOLUTIONS; self->params.prog_order = DEFAULT_PROGRESSION_ORDER; self->params.cp_tx0 = DEFAULT_TILE_OFFSET_X; self->params.cp_ty0 = DEFAULT_TILE_OFFSET_Y; self->params.cp_tdx = DEFAULT_TILE_WIDTH; self->params.cp_tdy = DEFAULT_TILE_HEIGHT; self->params.tile_size_on = (self->params.cp_tdx != 0 && self->params.cp_tdy != 0); }
static void gst_pnmenc_init (GstPnmenc * s) { GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_ENCODER_SINK_PAD (s)); /* Set default encoding as RAW as ASCII takes up 4 time more bytes */ s->info.encoding = GST_PNM_ENCODING_RAW; }
static void gst_dirac_parse_init (GstDiracParse * diracparse) { gst_base_parse_set_min_frame_size (GST_BASE_PARSE (diracparse), 13); gst_base_parse_set_pts_interpolation (GST_BASE_PARSE (diracparse), FALSE); GST_PAD_SET_ACCEPT_INTERSECT (GST_BASE_PARSE_SINK_PAD (diracparse)); GST_PAD_SET_ACCEPT_TEMPLATE (GST_BASE_PARSE_SINK_PAD (diracparse)); }
static void gst_y4m_encode_init (GstY4mEncode * filter) { GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_ENCODER_SINK_PAD (filter)); /* init properties */ gst_y4m_encode_reset (filter); }
static void gst_mulawdec_init (GstMuLawDec * mulawdec) { gst_audio_decoder_set_needs_format (GST_AUDIO_DECODER (mulawdec), TRUE); gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST (mulawdec), TRUE); GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (mulawdec)); }
/** * gst_amr_parse_init: * @amrparse: #GstAmrParse * @klass: #GstAmrParseClass. * */ static void gst_amr_parse_init (GstAmrParse * amrparse) { /* init rest */ gst_base_parse_set_min_frame_size (GST_BASE_PARSE (amrparse), 62); GST_DEBUG ("initialized"); GST_PAD_SET_ACCEPT_INTERSECT (GST_BASE_PARSE_SINK_PAD (amrparse)); GST_PAD_SET_ACCEPT_TEMPLATE (GST_BASE_PARSE_SINK_PAD (amrparse)); }
static void gst_rsvg_dec_init (GstRsvgDec * rsvg) { GstVideoDecoder *decoder = GST_VIDEO_DECODER (rsvg); gst_video_decoder_set_packetized (decoder, FALSE); gst_video_decoder_set_use_default_pad_acceptcaps (GST_VIDEO_DECODER_CAST (rsvg), TRUE); GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (rsvg)); }
static void gst_sbc_enc_init (GstSbcEnc * self) { GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_ENCODER_SINK_PAD (self)); self->subbands = 0; self->blocks = 0; self->rate = 0; self->channels = 0; self->bitpool = 0; }
static void gst_ac3_parse_init (GstAc3Parse * ac3parse) { gst_base_parse_set_min_frame_size (GST_BASE_PARSE (ac3parse), 8); gst_ac3_parse_reset (ac3parse); ac3parse->baseparse_chainfunc = GST_BASE_PARSE_SINK_PAD (GST_BASE_PARSE (ac3parse))->chainfunc; GST_PAD_SET_ACCEPT_INTERSECT (GST_BASE_PARSE_SINK_PAD (ac3parse)); GST_PAD_SET_ACCEPT_TEMPLATE (GST_BASE_PARSE_SINK_PAD (ac3parse)); }
static void gst_pnmdec_init (GstPnmdec * s) { /* Initialize decoder */ s->buf = NULL; gst_pnmdec_flush (s); gst_video_decoder_set_use_default_pad_acceptcaps (GST_VIDEO_DECODER_CAST (s), TRUE); GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (s)); }
static void gst_mpeg2dec_init (GstMpeg2dec * mpeg2dec) { gst_video_decoder_set_packetized (GST_VIDEO_DECODER (mpeg2dec), TRUE); gst_video_decoder_set_needs_format (GST_VIDEO_DECODER (mpeg2dec), TRUE); gst_video_decoder_set_use_default_pad_acceptcaps (GST_VIDEO_DECODER_CAST (mpeg2dec), TRUE); GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (mpeg2dec)); /* initialize the mpeg2dec acceleration */ }
static void gst_daala_dec_init (GstDaalaDec * dec) { /* input is packetized, * but is not marked that way so data gets parsed and keyframes marked */ gst_video_decoder_set_packetized (GST_VIDEO_DECODER (dec), FALSE); gst_video_decoder_set_needs_format (GST_VIDEO_DECODER (dec), TRUE); gst_video_decoder_set_use_default_pad_acceptcaps (GST_VIDEO_DECODER_CAST (dec), TRUE); GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (dec)); }
static void gst_sbc_dec_init (GstSbcDec * dec) { gst_audio_decoder_set_needs_format (GST_AUDIO_DECODER (dec), TRUE); gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST (dec), TRUE); GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (dec)); dec->samples_per_frame = 0; dec->frame_len = 0; }
static void gst_libde265_dec_init (GstLibde265Dec * dec) { dec->format = DEFAULT_FORMAT; dec->max_threads = DEFAULT_MAX_THREADS; dec->length_size = 4; _gst_libde265_dec_reset_decoder (dec); gst_video_decoder_set_packetized (GST_VIDEO_DECODER (dec), TRUE); gst_video_decoder_set_use_default_pad_acceptcaps (GST_VIDEO_DECODER_CAST (dec), TRUE); GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (dec)); }
static void gst_pngenc_init (GstPngEnc * pngenc) { GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_ENCODER_SINK_PAD (pngenc)); /* init settings */ pngenc->png_struct_ptr = NULL; pngenc->png_info_ptr = NULL; pngenc->snapshot = DEFAULT_SNAPSHOT; pngenc->compression_level = DEFAULT_COMPRESSION_LEVEL; }
static void gst_av1_enc_init (GstAV1Enc * av1enc) { GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_ENCODER_SINK_PAD (av1enc)); av1enc->encoder_inited = FALSE; av1enc->keyframe_dist = 30; av1enc->cpu_used = PROP_CPU_USED_DEFAULT; g_mutex_init (&av1enc->encoder_lock); }
static void gst_speex_dec_init (GstSpeexDec * dec) { gst_audio_decoder_set_needs_format (GST_AUDIO_DECODER (dec), TRUE); gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST (dec), TRUE); GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (dec)); dec->enh = DEFAULT_ENH; gst_speex_dec_reset (dec); }
static void gst_webp_enc_init (GstWebpEnc * webpenc) { GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_ENCODER_SINK_PAD (webpenc)); webpenc->lossless = DEFAULT_LOSSLESS; webpenc->quality = DEFAULT_QUALITY; webpenc->speed = DEFAULT_SPEED; webpenc->preset = DEFAULT_PRESET; webpenc->use_argb = FALSE; webpenc->rgb_format = GST_VIDEO_FORMAT_UNKNOWN; }
static void gst_cenc_decrypt_init (GstCencDecrypt * self) { GstBaseTransform *base = GST_BASE_TRANSFORM (self); GST_PAD_SET_ACCEPT_TEMPLATE (GST_BASE_TRANSFORM_SINK_PAD (self)); gst_base_transform_set_in_place (base, TRUE); gst_base_transform_set_passthrough (base, FALSE); gst_base_transform_set_gap_aware (GST_BASE_TRANSFORM (self), FALSE); self->keys = g_ptr_array_new_with_free_func (gst_cenc_keypair_destroy); self->drm_type = GST_DRM_UNKNOWN; }
static void gst_wavpack_dec_init (GstWavpackDec * dec) { dec->context = NULL; dec->stream_reader = gst_wavpack_stream_reader_new (); gst_audio_decoder_set_needs_format (GST_AUDIO_DECODER (dec), TRUE); gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST (dec), TRUE); GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (dec)); gst_wavpack_dec_reset (dec); }
static void gst_opus_dec_init (GstOpusDec * dec) { dec->use_inband_fec = FALSE; dec->apply_gain = DEFAULT_APPLY_GAIN; gst_audio_decoder_set_needs_format (GST_AUDIO_DECODER (dec), TRUE); gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST (dec), TRUE); GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (dec)); gst_opus_dec_reset (dec); }
static void gst_openjpeg_dec_init (GstOpenJPEGDec * self) { GstVideoDecoder *decoder = (GstVideoDecoder *) self; gst_video_decoder_set_packetized (decoder, TRUE); gst_video_decoder_set_needs_format (decoder, TRUE); gst_video_decoder_set_use_default_pad_acceptcaps (GST_VIDEO_DECODER_CAST (self), TRUE); GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (self)); opj_set_default_decoder_parameters (&self->params); #ifdef HAVE_OPENJPEG_1 self->params.cp_limit_decoding = NO_LIMITATION; #endif }
static void gst_pngdec_init (GstPngDec * pngdec) { pngdec->png = NULL; pngdec->info = NULL; pngdec->endinfo = NULL; pngdec->color_type = -1; pngdec->image_ready = FALSE; pngdec->read_data = 0; gst_video_decoder_set_use_default_pad_acceptcaps (GST_VIDEO_DECODER_CAST (pngdec), TRUE); GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (pngdec)); }
static void gst_vp9_dec_init (GstVP9Dec * gst_vp9_dec) { GstVideoDecoder *decoder = (GstVideoDecoder *) gst_vp9_dec; GST_DEBUG_OBJECT (gst_vp9_dec, "gst_vp9_dec_init"); gst_video_decoder_set_packetized (decoder, TRUE); gst_vp9_dec->post_processing = DEFAULT_POST_PROCESSING; gst_vp9_dec->post_processing_flags = DEFAULT_POST_PROCESSING_FLAGS; gst_vp9_dec->deblocking_level = DEFAULT_DEBLOCKING_LEVEL; gst_vp9_dec->noise_level = DEFAULT_NOISE_LEVEL; gst_video_decoder_set_needs_format (decoder, TRUE); gst_video_decoder_set_use_default_pad_acceptcaps (decoder, TRUE); GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (decoder)); }
static void gst_ffmpegaudenc_init (GstFFMpegAudEnc * ffmpegaudenc) { GstFFMpegAudEncClass *klass = (GstFFMpegAudEncClass *) G_OBJECT_GET_CLASS (ffmpegaudenc); GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_ENCODER_SINK_PAD (ffmpegaudenc)); /* ffmpeg objects */ ffmpegaudenc->context = avcodec_alloc_context3 (klass->in_plugin); ffmpegaudenc->opened = FALSE; ffmpegaudenc->frame = av_frame_alloc (); ffmpegaudenc->compliance = FFMPEG_DEFAULT_COMPLIANCE; gst_audio_encoder_set_drainable (GST_AUDIO_ENCODER (ffmpegaudenc), TRUE); }
static void gst_dtsdec_init (GstDtsDec * dtsdec) { dtsdec->request_channels = DCA_CHANNEL; dtsdec->dynamic_range_compression = FALSE; gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST (dtsdec), TRUE); GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (dtsdec)); /* retrieve and intercept base class chain. * Quite HACKish, but that's dvd specs for you, * since one buffer needs to be split into 2 frames */ dtsdec->base_chain = GST_PAD_CHAINFUNC (GST_AUDIO_DECODER_SINK_PAD (dtsdec)); gst_pad_set_chain_function (GST_AUDIO_DECODER_SINK_PAD (dtsdec), GST_DEBUG_FUNCPTR (gst_dtsdec_chain)); }
static void gst_ffmpegauddec_init (GstFFMpegAudDec * ffmpegdec) { GstFFMpegAudDecClass *klass = (GstFFMpegAudDecClass *) G_OBJECT_GET_CLASS (ffmpegdec); /* some ffmpeg data */ ffmpegdec->context = avcodec_alloc_context3 (klass->in_plugin); ffmpegdec->context->opaque = ffmpegdec; ffmpegdec->opened = FALSE; ffmpegdec->frame = av_frame_alloc (); GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (ffmpegdec)); gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST (ffmpegdec), TRUE); gst_audio_decoder_set_drainable (GST_AUDIO_DECODER (ffmpegdec), TRUE); gst_audio_decoder_set_needs_format (GST_AUDIO_DECODER (ffmpegdec), TRUE); }
static void gst_vorbis_enc_init (GstVorbisEnc * vorbisenc) { GstAudioEncoder *enc = GST_AUDIO_ENCODER (vorbisenc); GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_ENCODER_SINK_PAD (enc)); vorbisenc->channels = -1; vorbisenc->frequency = -1; vorbisenc->managed = FALSE; vorbisenc->max_bitrate = MAX_BITRATE_DEFAULT; vorbisenc->bitrate = BITRATE_DEFAULT; vorbisenc->min_bitrate = MIN_BITRATE_DEFAULT; vorbisenc->quality = QUALITY_DEFAULT; vorbisenc->quality_set = FALSE; vorbisenc->last_message = NULL; /* arrange granulepos marking (and required perfect ts) */ gst_audio_encoder_set_mark_granule (enc, TRUE); gst_audio_encoder_set_perfect_timestamp (enc, TRUE); }
static void gst_png_parse_init (GstPngParse * pngparse) { GST_PAD_SET_ACCEPT_INTERSECT (GST_BASE_PARSE_SINK_PAD (pngparse)); GST_PAD_SET_ACCEPT_TEMPLATE (GST_BASE_PARSE_SINK_PAD (pngparse)); }