I am doing some experimentation using gstreamer-vaapi on an Intel i3-4370 CPU. 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 thing to do anything except constrained baseline, despite asking it to do other profiles.
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
appears to work fine, but something like:
avprobe -show_streams /ramdisk/tmp.mov
Indeed, the output file sizes don't change much, if at all, between the profiles.
The only way that I can see a change what avprobe reports for the profile is to change the encoder element to:
My question is, is this correct behavior? Do we need dct8x8 to do anything higher than Constrained Baseline? If so, why? Is this a fundamental detail of H.264, or is this an implementation detail?
I am trying to compare some tradeoffs between HW and SW implementations, so I am trying to be very careful which knobs I turn, in order to be able to properly compare.
Thanks in advance for any feedback!
This previous conversation may help: https://software.intel.com/en-us/forums/intel-media-sdk/topic/559845
As was covered there, gstreamer-vaapi isn't officially supported with Media SDK/Media Server Studio installation and is out of the scope of this forum. However, you may be able to take your question to the gstreamer-devel mailing list.
Thanks for your reply. If you look closely, the thread that you linked is my own thread from a few months ago, and in fact I was the one who came up with the solution to the issue at hand. This is indeed a new issue that I thought may be of interest to this community (indeed, a component specifically disobeying what you are asking it to do!).
I'll check out gstreamer-devel and 01.org.