gstreamer-vaapi weirdness

William Katsak william.katsak at ericsson.com
Tue Nov 10 16:49:58 PST 2015


Hello,

I am seeing a strange issue with gstreamer-vaapi on Intel Haswell (i3-4370 CPU), and not sure where to turn.I am running libva 1.6.1 and libva Intel driver 1.6.0 on Ubuntu 15.04.

My issue is that I cannot seem to get the encoder to do anything except constrained baseline, despite asking it to do other profiles.

If I do something like this:

gst-launch-1.0 filesrc location=/ramdisk/bbb_sunflower_1080p_30fps_normal.mp4 ! qtdemux ! vaapidecode ! vaapiencode_h264 ! video/x-h264,profile=high ! qtmux ! filesink location=/ramdisk/tmp.mov

It appears to work fine, but if I check with this:

avprobe -show_streams /ramdisk/tmp.mov

the output will indicate:
profile=Constrained Baseline

No matter what value I put for profile, the output file size is almost identical.

However, if I change the encode element to:
vaapiencode_h264 dct8x8=1
it does change the output profile.

My question is, is this correct behavior? My reading of the gstreamer-vaapi source seems to indicate that passing the profile in caps is more restrictive (e.g. ensures compatibility) rather than for configuration. What I would like to do is just be able to pass a string that maps to a VA profile that the underlying driver supports. Is there any way to do this? Would this be terrible to implement? (I might do it if someone could point me in the right direction, I've already been reading the code).

Thanks in advance for any help or pointers that you might able to give me.
-Bill
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20151111/6e1c121a/attachment.html>


More information about the gstreamer-devel mailing list