- gst_video_decoder_set_packetized (decoder, TRUE);
- gst_vp8_dec->post_processing = DEFAULT_POST_PROCESSING;
- gst_vp8_dec->post_processing_flags = DEFAULT_POST_PROCESSING_FLAGS;
- gst_vp8_dec->deblocking_level = DEFAULT_DEBLOCKING_LEVEL;
- gst_vp8_dec->noise_level = DEFAULT_NOISE_LEVEL;
-}
-
-static void
-gst_vp8_dec_set_property (GObject * object, guint prop_id,
- const GValue * value, GParamSpec * pspec)
-{
- GstVP8Dec *dec;
-
- g_return_if_fail (GST_IS_VP8_DEC (object));
- dec = GST_VP8_DEC (object);
-
- GST_DEBUG_OBJECT (object, "gst_vp8_dec_set_property");
- switch (prop_id) {
- case PROP_POST_PROCESSING:
- dec->post_processing = g_value_get_boolean (value);
- break;
- case PROP_POST_PROCESSING_FLAGS:
- dec->post_processing_flags = g_value_get_flags (value);
- break;
- case PROP_DEBLOCKING_LEVEL:
- dec->deblocking_level = g_value_get_uint (value);
- break;
- case PROP_NOISE_LEVEL:
- dec->noise_level = g_value_get_uint (value);
- break;
- case PROP_THREADS:
- dec->threads = g_value_get_uint (value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-gst_vp8_dec_get_property (GObject * object, guint prop_id, GValue * value,
- GParamSpec * pspec)
-{
- GstVP8Dec *dec;
-
- g_return_if_fail (GST_IS_VP8_DEC (object));
- dec = GST_VP8_DEC (object);
-
- switch (prop_id) {
- case PROP_POST_PROCESSING:
- g_value_set_boolean (value, dec->post_processing);
- break;
- case PROP_POST_PROCESSING_FLAGS:
- g_value_set_flags (value, dec->post_processing_flags);
- break;
- case PROP_DEBLOCKING_LEVEL:
- g_value_set_uint (value, dec->deblocking_level);
- break;
- case PROP_NOISE_LEVEL:
- g_value_set_uint (value, dec->noise_level);
- break;
- case PROP_THREADS:
- g_value_set_uint (value, dec->threads);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static gboolean
-gst_vp8_dec_start (GstVideoDecoder * decoder)
-{
- GstVP8Dec *gst_vp8_dec = GST_VP8_DEC (decoder);
-
- GST_DEBUG_OBJECT (gst_vp8_dec, "start");
- gst_vp8_dec->decoder_inited = FALSE;
-
- return TRUE;
-}
-
-static gboolean
-gst_vp8_dec_stop (GstVideoDecoder * base_video_decoder)
-{
- GstVP8Dec *gst_vp8_dec = GST_VP8_DEC (base_video_decoder);
-
- GST_DEBUG_OBJECT (gst_vp8_dec, "stop");
-
- if (gst_vp8_dec->output_state) {
- gst_video_codec_state_unref (gst_vp8_dec->output_state);
- gst_vp8_dec->output_state = NULL;
- }
-
- if (gst_vp8_dec->input_state) {
- gst_video_codec_state_unref (gst_vp8_dec->input_state);
- gst_vp8_dec->input_state = NULL;
- }
-
- if (gst_vp8_dec->decoder_inited)
- vpx_codec_destroy (&gst_vp8_dec->decoder);
- gst_vp8_dec->decoder_inited = FALSE;
-
- return TRUE;
-}
-
-static gboolean
-gst_vp8_dec_set_format (GstVideoDecoder * decoder, GstVideoCodecState * state)
-{
- GstVP8Dec *gst_vp8_dec = GST_VP8_DEC (decoder);
-
- GST_DEBUG_OBJECT (gst_vp8_dec, "set_format");
-
- if (gst_vp8_dec->decoder_inited)
- vpx_codec_destroy (&gst_vp8_dec->decoder);
- gst_vp8_dec->decoder_inited = FALSE;
-
- if (gst_vp8_dec->input_state)
- gst_video_codec_state_unref (gst_vp8_dec->input_state);
- gst_vp8_dec->input_state = gst_video_codec_state_ref (state);
-
- return TRUE;
-}
-
-static gboolean
-gst_vp8_dec_reset (GstVideoDecoder * base_video_decoder, gboolean hard)
-{
- GstVP8Dec *decoder;
-
- GST_DEBUG_OBJECT (base_video_decoder, "reset");
-
- decoder = GST_VP8_DEC (base_video_decoder);
-
- if (decoder->output_state) {
- gst_video_codec_state_unref (decoder->output_state);
- decoder->output_state = NULL;
- }
-
- if (decoder->decoder_inited)
- vpx_codec_destroy (&decoder->decoder);
- decoder->decoder_inited = FALSE;
-
- return TRUE;
-}
-
-static void
-gst_vp8_dec_send_tags (GstVP8Dec * dec)
-{
- GstTagList *list;
-
- list = gst_tag_list_new_empty ();
- gst_tag_list_add (list, GST_TAG_MERGE_REPLACE,
- GST_TAG_VIDEO_CODEC, "VP8 video", NULL);
-
- gst_pad_push_event (GST_VIDEO_DECODER_SRC_PAD (dec),
- gst_event_new_tag (list));