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