vaapidecode ranking

Bernhard Graaf bernhard.graaf at gmx.de
Wed Apr 27 10:25:04 UTC 2016


Hi,

 

I try to use avdec_h264 instead of vaapidecode in decodebin because of some
issues in vaapidecode (artefact on j1800/j1900 Intel processors).

I use this code to 'unregister' vaapidecode: 

 

void unreg_vaapi()

{

  GstRegistry* reg = gst_registry_get();

 

  GstPluginFeature* vaapi_decode = gst_registry_lookup_feature(reg,
"vaapidecode");

  GstPluginFeature* avdec_decode = gst_registry_lookup_feature(reg,
"avdec_h264");

 

  if(vaapi_decode == NULL) 

  {

    g_print("vaapidecode not found\n");

    return;

  }

 

  if(avdec_decode == NULL) {

    g_print("avdec_h264 not found\n");

  }

  else

  {

    g_print("Rank of avdec_h264 is: %i\n",
gst_plugin_feature_get_rank(avdec_decode));

    gst_object_unref(avdec_decode);

  }

 

  g_print("Rank of vaapidecode was: %i\n",
gst_plugin_feature_get_rank(vaapi_decode));

  gst_plugin_feature_set_rank(vaapi_decode, GST_RANK_NONE);

  g_print("Rank of vaapidecode new: %i\n",
gst_plugin_feature_get_rank(vaapi_decode));

 

  gst_object_unref(vaapi_decode);

 

}

 

But it doesn't work as expected.

Before calling the function, vaapidecode is ranked f.e. on 267, after
calling its 0.

But decodebin is using vaapidecode and not aved_h264.

Why?

 

After removing gstreamer-vaapi, avdec_h264 is used, so there should be
something else to do.

Working totally without vaapi is not the solution, because I need this for
SD-Material. 

 

Regards

Bernhard

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160427/693826d1/attachment-0001.html>


More information about the gstreamer-devel mailing list