[Libva] gstreamer-vaapi strange issue

Sreerenj sreerenj.balachandran at intel.com
Wed Nov 11 02:40:06 PST 2015


Hi,

Right now gst-vaapi-encoder doesn't have support to negotiate the custom 
profile  set via capsfilter. But we are
selecting an appropriate profile based on other coding tools.  We start 
from "constrained-baseline" as the default choice,
then if user ask for b frame encoding or cabac entropy coding, it will 
switch to "main" profile.. Similarly asking for 8x8 dct
will switch  the profile to "high"..

Basically if you are not choosing any of those coding tools, it could be 
enough to use constrained-baseline..
Any decoder which can support main profile should be able enough to 
decode the constrained-baseline too.
Similarly high profile decoder can decode main profile too..

But adding a provision for selecting profiles as per user's choice seems 
fine for me.
If you can file a bug against gstreamer-vaapi 
(https://bugzilla.gnome.org/enter_bug.cgi?product=gstreamer-vaapi) 
asking for this feature,
we can discuss it there..

On 10.11.2015 20:23, William Katsak wrote:
> I've been looking at the source this afternoon, and my interpretation of it is that specifying the profile via caps is only serving a restrictive role, vs. a configuration role. Obviously, I need to study it more, but is this true? To target a different profile, do we need to specifically specify which encoding tools that we want to use?
>
> Thanks,
> Bill
>
> ________________________________________
> From: Libva [libva-bounces at lists.freedesktop.org] on behalf of William Katsak [william.katsak at ericsson.com]
> Sent: Tuesday, 10 November 2015 10:33 AM
> To: libva at lists.freedesktop.org
> Subject: [Libva] gstreamer-vaapi strange issue
>
> Hello,
>
> I am not sure if this the right list for this, but I am seeing a strange issue with gstreamer-vaapi on Intel Haswell.
>
> 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.
>
> 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
>
> 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? 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?
>
> Thanks in advance for any help or pointers that you might able to give me.
> -Bill
>
>
>
>
>
>
>
>
> _______________________________________________
> Libva mailing list
> Libva at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libva
> _______________________________________________
> Libva mailing list
> Libva at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libva

-- 
Thanks
Sree

---------------------------------------------------------------------
Intel Finland Oy
Registered Address: PL 281, 00181 Helsinki 
Business Identity Code: 0357606 - 4 
Domiciled in Helsinki 

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


More information about the Libva mailing list