[Libva] [PATCH] vainfo/va.h: add VAProfileCount in va.h.
Gwenole Beauchesne
gb.devel at gmail.com
Wed Jul 3 10:19:17 PDT 2013
Hi,
2013/7/3 Zhao, Halley <halley.zhao at intel.com>:
> This patch helps middleware (gst-vaapi for example) not over commit capability.
I don't understand this usage model. vaQueryConfigProfiles() will
report the correct number of VA profiles returned in profile_list[]
array. There is no risk of overcommit unless the API is mis-used or
the VA driver not returning the right number of profiles. This used to
be the case with a pretty ancient version of the PowerVR driver, but
the Intel HD Graphics driver does not have this issue AFAIK.
> The scenario is:
> Gst-vaapi supports mpeg4 and jpeg decoder, but Sandybridge hw doesn't really support that.
> Some player may misuse vaapidecode.
What is the root cause of this issue please? Do you mean vaapidecode
was auto-plugged in whereas the HW does not support that codec? This
sounds like a bug though the current gstreamer-vaapi git and back to
0.5.3 actually does not exhibit this behaviour. i.e. SW decoding
plug-in elements are plugged in if the underlying HW doesn't support
acceleration for MPEG-4:2 or JPEG for example. Only tested with JPEG
though.
Regards,
Gwenole.
>> -----Original Message-----
>> From: Zhao, Halley
>> Sent: Wednesday, July 03, 2013 5:47 PM
>> To: libva at lists.freedesktop.org
>> Cc: Zhao, Halley
>> Subject: [PATCH] vainfo/va.h: add VAProfileCount in va.h.
>>
>> it facilitate driver capability probing.
>> ---
>> test/vainfo/vainfo.c | 2 +-
>> va/va.h | 3 ++-
>> 2 files changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/test/vainfo/vainfo.c b/test/vainfo/vainfo.c index
>> 2578d30..1f35693 100644
>> --- a/test/vainfo/vainfo.c
>> +++ b/test/vainfo/vainfo.c
>> @@ -111,7 +111,7 @@ int main(int argc, const char* argv[])
>> printf("%s: Driver version: %s\n", name, driver ? driver :
>> "<unknown>");
>>
>> printf("%s: Supported profile and entrypoints\n", name);
>> - for (profile = VAProfileNone; profile <=
>> VAProfileH264ConstrainedBaseline; profile++) {
>> + for (profile = VAProfileNone; profile < VAProfileCount;
>> profile++) {
>> char *profile_str;
>>
>> va_status = vaQueryConfigEntrypoints(va_dpy, profile,
>> entrypoints, diff --git a/va/va.h b/va/va.h index 0eceea7..b25a55b
>> 100644
>> --- a/va/va.h
>> +++ b/va/va.h
>> @@ -286,7 +286,8 @@ typedef enum
>> VAProfileVC1Advanced = 10,
>> VAProfileH263Baseline = 11,
>> VAProfileJPEGBaseline = 12,
>> - VAProfileH264ConstrainedBaseline = 13
>> + VAProfileH264ConstrainedBaseline = 13,
>> + VAProfileCount = 14
>> } VAProfile;
>>
>> /*
>> --
>> 1.7.9.5
>
> _______________________________________________
> Libva mailing list
> Libva at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libva
More information about the Libva
mailing list