media/gpu/vaapi: Remove implicit VAContext and VABuffer allocation on creating VPP VaapiWrapper

VAContext of VaapiWrapper for VPP and VABuffer for BlitSurface are created on
creating (i.e. VaapiWrapper::Create()). On the other hand, VAContext of
VaapiWrapper for other use cases (e.g. video encoding) is created by
VaapiWrapper::CreateContext() or VaapiWrapper::CreateContextAndSurfaces().

This leads a problem that VaapiWrapper for VPP cannot create surfaces because
Context is already created upon calling VaapiWrapper::CreateContextAndSurfaces().

This CL removes the implicit context and buffer allocation on the creation.
Therefore, a creator of VaapiWrapper for VPP has to call CreateContext() or
CreateContextAndSurfaces() if the client wants the VaapiWrapper to create
va surfaces.

Note that an allocation of a buffer for BlitSurface is moved to
VaapiWrapper::BlitSurface(), which is still implicit.

Bug: 1009297, 1005205, 982201
Test: https://appr.tc/?debug=loopback&vsc=vp8&video=maxWidth=640,maxHeight=360,minWidth=640,minHeight=360&debug=loopback
Test: tast run video.EncodeAccelH264* video.DecodeAccel* camera.*
Change-Id: Ida5c4bfa58127674d4e048fedf9749516d89cd98
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1863056
Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Andres Calderon Jaramillo <andrescj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#707701}
5 files changed