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}
Showing
Please register or sign in to comment