Disable vaapipostproc in vaapidecodebin, when used decodebin.

Topilski atopilski at gmail.com
Wed Jan 11 17:06:40 UTC 2017


Hi, i can't found how to disable vaapipostproc in vaapidecodebin
plugin(decodebin create vaapidecodebin), only one option (“disable-vpp”             
gboolean) but in started playing pypline how i can understand it is
impossible.

i can skip vaapidecodebin, but vaapidecoder not used, only avdec_h264
selected
GValueArray* handleAutoplugSort(GstElement* bin,
                                             GstPad* pad,
                                             GstCaps* caps,
                                             GValueArray* factories) {
  UNUSED(bin);
  UNUSED(pad);

  gchar* type = gst_caps_to_string(caps);
  // bool is_ac3 = strncmp(type, AUDIO_AC3, SIZEOFMASS(AUDIO_AC3) - 1) == 0;
  bool is_h264 = strncmp(type, VIDEO_H264, SIZEOFMASS(VIDEO_H264) - 1) == 0;
  bool is_mpeg = strncmp(type, VIDEO_MPEG, SIZEOFMASS(VIDEO_MPEG) - 1) == 0;
  bool need_to_skip_vaapi_decoder = !api_->isVaapi();
  if (is_h264 || is_mpeg) {
    GValueArray* result = g_value_array_new(factories->n_values);
    for (guint i = 0; i < factories->n_values; ++i) {
      GValue* val = g_value_array_get_nth(factories, i);
      gpointer factory = base::gvalue_cast<gpointer>(val);
      const gchar* factoryName =
gst_plugin_feature_get_name(GST_PLUGIN_FEATURE(factory));
      if (strncmp(factoryName, VAAPI_DECODEBIN, SIZEOFMASS(VAAPI_DECODEBIN)
- 1) == 0) {
        INFO_LOG() << "skip: " << factoryName;
      } else if (strncmp(factoryName, VAAPI_DECODER,
SIZEOFMASS(VAAPI_DECODER) - 1) == 0 &&
                 need_to_skip_vaapi_decoder) {
        INFO_LOG() << "skip: " << factoryName;
      } else {
        GValue val = base::make_gvalue(factory);
        g_value_array_append(result, &val);
        g_value_unset(&val);
      }
    }
    return result;
  }

  g_free(type);
  return NULL;
}



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Disable-vaapipostproc-in-vaapidecodebin-when-used-decodebin-tp4681409.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list