vaapi: Enable the Low-Power/High-Performance H264 Encoder

Some of the Intel platroms have dedicated fixed funtion unit
called VDEnc for doing the low-power h264 encoding. Currently,
chromium vaapi code always uses the entrypoint VAEntrypointEncSlice
in the encode operations which is for VME+PAK mode where VME is
performed by a shared unit. This patch will enable the
AVC low-power encode in the supported platforms.

There is a firmware dependency (huc firmware) which
is not yet landed in chromeos. With out HuC we can't test
the CBR mode encode which is the default in chromium.
Currently the code will fall back to the traditional VME+PAK mode.
Once we have a solutiion for the guc&huc
(https://bugs.chromium.org/p/chromium/issues/detail?id=929849#c31),
chromium should automatically pic VDENC.

BUG=chromium:929849
TEST=run appr.tc/?debug=loopback&vsc=H264&vrc=H264 which should
fall back to VME+PAK mode and the encoding must work as expected
using the hardware encode.

Change-Id: I69067f3cbc8d35d6fa9662bf452d427013cf794a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1465523
Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#639340}
2 files changed