[x264-devel] vaapi ??

Jason Garrett-Glaser jason at x264.com
Thu Jul 26 22:41:56 CEST 2012


On Thu, Jul 26, 2012 at 10:45 AM, Sean Darcy <seandarcy2 at gmail.com> wrote:
> On Wed, Jul 25, 2012 at 11:47 PM, Jason Garrett-Glaser <jason at x264.com> wrote:
>> On Wed, Jul 25, 2012 at 7:32 PM, Sean Darcy <seandarcy2 at gmail.com> wrote:
>>> I'm using x264 to encode on an i3 sandybridge laptop. This is an
>>> underpowered machine for the task.
>>>
>>> vaapi would allow use of the gpu for encoding:
>>>
>>> vainfo
>>> libva: VA-API version 0.33.0
>>> ...........
>>> vainfo: VA-API version: 0.33 (libva 1.1.0)
>>> vainfo: Driver version: Intel i965 driver - 1.0.18
>>> vainfo: Supported profile and entrypoints
>>>       VAProfileMPEG2Simple            : VAEntrypointVLD
>>>       VAProfileMPEG2Main              : VAEntrypointVLD
>>>       VAProfileH264Baseline           : VAEntrypointVLD
>>>       VAProfileH264Baseline           : VAEntrypointEncSlice
>>>       VAProfileH264Main               : VAEntrypointVLD
>>>       VAProfileH264Main               : VAEntrypointEncSlice
>>>       VAProfileH264High               : VAEntrypointVLD
>>>       VAProfileH264High               : VAEntrypointEncSlice
>>> ...........
>>>
>>> Is there any way to have x284 use vaapi?
>>
>> x264 is a video encoder, Intel QuickSync (as available through libva)
>> is a different video encoder. x264 can't "use" libva in much the same
>> way that a Toyota can't "use" a Ford. If you're using libva, you're
>> not using x264, much like if you're driving a Ford, you're not driving
>> a Toyota.
>>
>> QuickSync also isn't GPU-powered, it's a dedicated hardware encoder.
>>
>> Jason
>
> Interesting. I'd thought libva exposed an api(?) to the gpu that any
> encoder could use.

It exposes an API that anyone can use, but the API -is- an encoder.
It's a high-level interface much like x264.h, not an interface one can
implement a new encoder with.

There's a low-level interface too, but it's not the one libva exposes
-- it's the one libva uses to talk to the hardware. It's extremely
minimally documented and very complicated, and probably could not be
used by anyone else without significant direct help from Intel.

> Also, I once messed with QuickSync. Unless it's changed, it's quite
> slow, and, as you said, does not use the gpu.

If it was very slow, there was probably a problem with your input or
it was using Intel's IPP software encoder, not the actual hardware.
Either way, for getting that to work, try an Intel support list.

Jason


More information about the x264-devel mailing list